>>>>> "Alexandre" == Alexandre Oliva <[EMAIL PROTECTED]> writes:
Alexandre> Actually, what Geoff said was that the problem showed up
Alexandre> when the *matched* string was longer than 128 bytes. So
Alexandre> move the `*' into the parentheses.
F*k Sun! Why don't we use AWK? I know it's not in the standards, but
are there any good reasons for this?
/tmp % cat configure.in nostromo 14:51
define([TEST],
[echo "<= $1"
echo "=> `_AC_SHELL_DIRNAME([$1])`"
_AC_SHELL_DIRNAME([$1]) | wc -c])
AC_PLAIN_SCRIPT
b16=0123456789abcde/
b64=$b16$b16$b16$b16
b128=$b64$b64
b256=$b128$b128
TEST($b16/win)
TEST($b64/win)
TEST($b128)
TEST($b128/)
TEST($b128/w)
TEST($b256/win)
/tmp % cat configure nostromo 14:51
b16=0123456789abcde/
b64=$b16$b16$b16$b16
b128=$b64$b64
b256=$b128$b128
echo "<= $b16/win"
echo "=> `expr X$b16/win : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$b16/win : 'X\(//\)[^/]' \| \
X$b16/win : 'X\(//\)$' \| \
X$b16/win : 'X\(/\)' \| \
. : '\(.\)'`"
expr X$b16/win : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$b16/win : 'X\(//\)[^/]' \| \
X$b16/win : 'X\(//\)$' \| \
X$b16/win : 'X\(/\)' \| \
. : '\(.\)' | wc -c
echo "<= $b64/win"
echo "=> `expr X$b64/win : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$b64/win : 'X\(//\)[^/]' \| \
X$b64/win : 'X\(//\)$' \| \
X$b64/win : 'X\(/\)' \| \
. : '\(.\)'`"
expr X$b64/win : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$b64/win : 'X\(//\)[^/]' \| \
X$b64/win : 'X\(//\)$' \| \
X$b64/win : 'X\(/\)' \| \
. : '\(.\)' | wc -c
echo "<= $b128"
echo "=> `expr X$b128 : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$b128 : 'X\(//\)[^/]' \| \
X$b128 : 'X\(//\)$' \| \
X$b128 : 'X\(/\)' \| \
. : '\(.\)'`"
expr X$b128 : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$b128 : 'X\(//\)[^/]' \| \
X$b128 : 'X\(//\)$' \| \
X$b128 : 'X\(/\)' \| \
. : '\(.\)' | wc -c
echo "<= $b128/"
echo "=> `expr X$b128/ : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$b128/ : 'X\(//\)[^/]' \| \
X$b128/ : 'X\(//\)$' \| \
X$b128/ : 'X\(/\)' \| \
. : '\(.\)'`"
expr X$b128/ : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$b128/ : 'X\(//\)[^/]' \| \
X$b128/ : 'X\(//\)$' \| \
X$b128/ : 'X\(/\)' \| \
. : '\(.\)' | wc -c
echo "<= $b128/w"
echo "=> `expr X$b128/w : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$b128/w : 'X\(//\)[^/]' \| \
X$b128/w : 'X\(//\)$' \| \
X$b128/w : 'X\(/\)' \| \
. : '\(.\)'`"
expr X$b128/w : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$b128/w : 'X\(//\)[^/]' \| \
X$b128/w : 'X\(//\)$' \| \
X$b128/w : 'X\(/\)' \| \
. : '\(.\)' | wc -c
echo "<= $b256/win"
echo "=> `expr X$b256/win : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$b256/win : 'X\(//\)[^/]' \| \
X$b256/win : 'X\(//\)$' \| \
X$b256/win : 'X\(/\)' \| \
. : '\(.\)'`"
expr X$b256/win : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$b256/win : 'X\(//\)[^/]' \| \
X$b256/win : 'X\(//\)$' \| \
X$b256/win : 'X\(/\)' \| \
. : '\(.\)' | wc -c
/tmp % ./configure nostromo 14:51
<= 0123456789abcde//win
=> 0123456789abcde
16
<= 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde//win
=> 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde
64
<=
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/
=>
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde
112
<=
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde//
=>
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde
112
<=
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde//w
=>
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde
128
<=
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde//win
=>
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde
256
------------------------------------------------------------
esmeralda /tmp $ PATH=/usr/ucb /bin/sh conf 19:56
<= 0123456789abcde//win
=> 0123456789abcde
16
<= 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde//win
=> 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde
64
<=
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/
=>
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde
112
<=
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde//
=>
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde
112
<=
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde//w
=>
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde
128
<=
0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde//win
expr: Paren problem
=>
expr: Paren problem
0