diff options
author | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2016-06-14 15:30:33 -0400 |
---|---|---|
committer | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2016-06-14 15:30:33 -0400 |
commit | 56b1798777fe5464014fca3f9744ebdb950b8348 (patch) | |
tree | 9817fa39e7dd200921322771c7ba3b84ff4b44a1 | |
parent | e8ba153719506aabfffc911d2519727a3bfc5a36 (diff) | |
download | egawk-56b1798777fe5464014fca3f9744ebdb950b8348.tar.gz egawk-56b1798777fe5464014fca3f9744ebdb950b8348.tar.bz2 egawk-56b1798777fe5464014fca3f9744ebdb950b8348.zip |
Fix strftime 3rd argument to behave like a standard boolean: non-null or non-zero.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | builtin.c | 6 |
2 files changed, 8 insertions, 3 deletions
@@ -1,5 +1,10 @@ 2016-06-14 Andrew J. Schorr <aschorr@telemetry-investments.com> + * builtin.c (do_strftime): Fix handling of 3rd argument to work + as a standard boolean: non-null or non-zero. + +2016-06-14 Andrew J. Schorr <aschorr@telemetry-investments.com> + * gawkapi.c (node_to_awk_value): When caller requests AWK_SCALAR or AWK_UNDEFINED, we need to call fixtype before we check the type. @@ -1928,9 +1928,9 @@ do_strftime(int nargs) NODE *tmp; if (nargs == 3) { - t3 = POP_SCALAR(); - if ((t3->flags & (NUMCUR|NUMBER)) != 0) - do_gmt = (t3->numbr != 0); + t3 = fixtype(POP_SCALAR()); + if ((t3->flags & NUMBER) != 0) + do_gmt = ! iszero(t3); else do_gmt = (t3->stlen > 0); DEREF(t3); |