tag 22045 notabug
close 22045
stop

On 28/11/15 20:47, Matthias Klose wrote:
> found with coreutils-8.23, expr substr returns with an error code when the 
> substring consists of only '0' characters, and the match is started at 
> position 1.
> 
> $ expr substr 00001234 3 4; echo $?
> 0012
> 0
> $ expr substr 1234 1 2; echo $?
> 12
> 0
> 
> $ expr substr 00001234 1 2; echo $?
> 00
> 1
> $ expr substr 00001234 1 4; echo $?
> 0000
> 1
> $ expr substr 00001234 1 5; echo $?
> 00001
> 0

This is a common gotcha. POSIX states that:
exit status of 1 is used if "the expression evaluates to null or zero".

I must collate some gotchas like this.

cheers,
Pádraig.



Reply via email to