diff -r 60a124678842 -r 61f65dd6eeb9 lib/iec_std_lib.h --- a/lib/iec_std_lib.h Sun Jan 04 17:21:33 2009 +0100 +++ b/lib/iec_std_lib.h Sun Jan 04 17:23:06 2009 +0100 @@ -559,7 +559,7 @@ shift += 1; }else if( c >= '.' ){ /* reset value */ res = 0; - fac = 1; + fac = IN->body[0] == '-' ? -1 : 1; shift = 0; } }