[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
conversion error
From: |
Heiner Marxen |
Subject: |
conversion error |
Date: |
Tue, 4 Jul 2006 21:06:14 +0200 (MEST) |
Hello,
The following awk script fails for gawk 3.1.4 and 3.1.5.
Older versions did not do this, but I cannot say, how old they were.
BEGIN {
if( 0 ) { #ok
t = "8"
}else { #fails
t = ""
t = t "8"
}
printf("8 = %d\n", 0+t) # ok without this line
t = t "8" # does not invalidate numeric interpretation
printf("88 = %s\n", 0+t)
## The above prints "88 = 8" with gawk 3.1.4 and 3.1.5
}
The following one-liner already exhibits the bug:
gawk 'BEGIN{t=""; t=t "8";printf("8=%d\n", 0+t);t=t "8";printf("88=%s\n", 0+t)}'
Preliminary observation: under somewhat strange conditions a variable
does retain its numeric interpretation although something is appended to it.
--
Heiner Marxen http://www.drb.insel.de/~heiner/