Mail Archives: cygwin/2012/02/29/03:38:13
On Feb 28 19:36, Yaakov (Cygwin/X) wrote:
> On Tue, 2012-02-28 at 11:24 +0100, Corinna Vinschen wrote:
> > On Feb 28 03:43, Yaakov (Cygwin/X) wrote:
> > > On Tue, 2012-02-28 at 09:18 +0100, Corinna Vinschen wrote:
> > > > It's a bug in more, afaics. In case of pressing 'n', the search function
> > > > is called with a NULL buf argument. However, the function calls
> > > > strlen(buf) without checking buf for NULL. The indentation at this
> > > > point in the file looks like this `if (strlen(buf) > 0) {' has been
> > > > added as a kind of patch.
> > >
> > > Yes, I had to patch more(1) to use regcomp/regexec instead of
> > > re_comp/re_exec, which we don't have on Cygwin. With your clarification
> > > I should be able to fix it easily.
> >
> > Just an idea, instead of working around them, why not just add them
> > to the lib? You could copy the FreeBSD implementation which just
> > implements them in terms of the regcomp/regexec API:
> >
> > http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/lib/libcompat/4.3/re_comp.c?rev=1.1;content-type=text%2Fplain
>
> I thought of that when I first ported util-linux, but these functions
> were already marked legacy in SUSv2 and removed from SUSv3, so I wasn't
> sure if we wanted to first add now what most libc's already consider
> cruft.
>
> If you really think this should be added to Cygwin, I could do it, but I
> already have a fix for more(1) so I could do without.
Uh, that wasn't quite what I meant. With "lib" I meant the "lib" subdir
in the util-linux source. I was under the (wrong?) impression that the
result of `make' in the lib subdir creates a helper lib which is linked
to all executables in the collection. Alternatively you could have
pasted them to the end of more.c, but since you have a fix now, it
doesn't matter anyway.
As for Cygwin, the aforementioned FreeBSD source builds out of the box
as part of Cygwin after you defined __DECONST. But, like you, I'm not
sure it's such a terrible good idea to add such a long deprecated set of
functions. OTOH, Linux provides them as well, just with the extra kick
that you have to include regex.h rather than unistd.h as on BSD.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -