bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: possible bug in "expr" core utils 5.93


From: Bob Proulx
Subject: Re: possible bug in "expr" core utils 5.93
Date: Fri, 2 Dec 2005 10:41:17 -0700
User-agent: Mutt/1.5.9i

Serge Leschinsky wrote:
> Regexp seems to be broken.

Thank you for reporting this problem.  And thank you for making a nice
test case for it.  Unfortunately I cannot reproduce this problem on my
system and will need more information from you.

> >++ expr ipsec0=eth0 : '\([^=].*\)=.*'
> >+ virt=

I don't see that.  I see this:

  expr ipsec0=eth0 : '\([^=].*\)=.*'
  ipsec0

This makes be believe it is either related to the locale that you have
in your environment or related to the libc regular expression library
on your machine.

Please try this:

  LC_ALL=C expr ipsec0=eth0 : '\([^=].*\)=.*'

By changing to the C locale it should remove the locale question.
What locale are you using?  The 'locale' command will report this.

  locale
  
> >address@hidden:~ # expr --version
> >expr (GNU coreutils) 5.93

Good.  Thanks.

> In the 5.2.1
> > address@hidden:~ # expr --version
> > expr (GNU coreutils) 5.2.1

Not just 5.2.1 but also on a different host.  This is "bhost" but
before it was "apple".  This means different libc libraries as well.
I think that is the crucial difference.

What systems are these and what version of libc is installed on them?
I will take a guess and suggest these commands but I might guess
wrong.

  uname -a
  ldd --version

As an oh by the way...  If the libraries are compatible between those
two hosts then you should be able to run the expr command from each on
the other host.  If the behavior stays with the host then we know the
problem is with the libraries on the host and not the command itself.

Please reset your locale to the C locale and report the result.

Thanks for reporting this problem.

Bob




reply via email to

[Prev in Thread] Current Thread [Next in Thread]