autoconf
[Top][All Lists]
Advanced

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

Re: AS_DIRNAME and expr


From: Akim Demaille
Subject: Re: AS_DIRNAME and expr
Date: 16 Nov 2000 12:36:11 +0100
User-agent: Gnus/5.0807 (Gnus v5.8.7) XEmacs/21.1 (Channel Islands)

| > From: Akim Demaille <address@hidden>
| > Date: 10 Nov 2000 10:23:25 +0100
| >
| > But our troubles could be worse than this, since `expr' is not used
| > only in AS_DIRNAME.  For instance any CVS configure contains
| > 
| >         ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
| 
| Ouch.  Can you rewrite that as follows to work around the bug?
| 
| # Work around the problem that "expr 'a' : 'a\(\)'" outputs "0" in QNX.

Sorry, I did not mean this, and my example was wrong indeed, I meant
this:

| So it is my understanding that
| 
|         ./configure --bindir
I had written `./configure --bindir=' here
| 
| is equivalent to
| 
|         ./configure --bindir=0
| 
| on these systems.

but it appears to have no consequence after all (since the case
handling the options distinguishes --bindir from --bindir=).

I meant that when `:' fails, it returns `0' instead of `', so it is my
understanding of `expr' that using \| '' at the end is enough.  This
fix is probably all we need to fix the affected expr uses.


Still, David, could you confirm that \(\) properly matches the empty
string: running

expr 'a' : 'a\(\)'

should definitely output nothing (and most probably exit 1 :)



reply via email to

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