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. |
||
---|---|---|
.. | ||
doc | ||
games/lib | ||
include | ||
lib | ||
man | ||
src |