10afa189d5
In run.c::assign(), assigning to $0 from $F, a field, where F >= 2, produces an incoherent cell. The assignment occurs in two steps, first the string value and then the float. When the string value is assigned to $0, setsval invalidates the fields. If FS hasn't changed, after getfval rebuilds the fields, NF = 1 and F >= 2, therefore $F is definitely uninitialized. The result is a float val of 0.0, producing a boolean false in the pattern expression. Coercing a string comparison gives the expected result because the incoherent cell has the correct string value, which is not empty and evaluates to true. |
||
---|---|---|
.. | ||
9 | ||
ape | ||
boot | ||
cmd | ||
games | ||
lib9p | ||
libaml | ||
libauth | ||
libauthsrv | ||
libavl | ||
libbin | ||
libbio | ||
libc | ||
libcomplete | ||
libcontrol | ||
libdisk | ||
libdraw | ||
libdtracy | ||
libfis | ||
libflate | ||
libframe | ||
libgeometry | ||
libhtml | ||
libhttpd | ||
libip | ||
libjson | ||
liblex | ||
libmach | ||
libmemdraw | ||
libmemlayer | ||
libmp | ||
libndb | ||
libplumb | ||
libregexp | ||
libsat | ||
libscribble | ||
libsec | ||
libstdio | ||
libString | ||
libsunrpc | ||
libthread | ||
libttf | ||
libventi | ||
mkfile | ||
mkfile.proto |