From b2ebebda055fb7e9cd02c03e394decdbcf63afd3 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 26 Jun 2016 18:10:08 +0300 Subject: Fix handling of MAYBE_NUM; fixes change of 2015-08-25. --- node.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'node.c') diff --git a/node.c b/node.c index 23199c5b..41545752 100644 --- a/node.c +++ b/node.c @@ -90,8 +90,9 @@ r_force_number(NODE *n) return n; } else if (n->stlen == 4 && is_ieee_magic_val(n->stptr)) { if ((n->flags & MAYBE_NUM) != 0) - n->flags &= ~(MAYBE_NUM|STRING); + n->flags &= ~MAYBE_NUM; n->flags |= NUMBER|NUMCUR; + n->flags &= ~STRING; n->numbr = get_ieee_magic_val(n->stptr); return n; @@ -116,7 +117,7 @@ r_force_number(NODE *n) if ((n->flags & MAYBE_NUM) != 0) { newflags = NUMBER; - n->flags &= ~(MAYBE_NUM|STRING); + n->flags &= ~MAYBE_NUM; } else newflags = 0; @@ -125,6 +126,7 @@ r_force_number(NODE *n) n->numbr = (AWKNUM)(*cp - '0'); n->flags |= newflags; n->flags |= NUMCUR; + n->flags &= ~STRING; if (cp == n->stptr) /* no leading spaces */ n->flags |= NUMINT; } @@ -136,6 +138,7 @@ r_force_number(NODE *n) if (! do_traditional && get_numbase(cp, true) != 10) { n->numbr = nondec2awknum(cp, cpend - cp); n->flags |= NUMCUR; + n->flags &= ~STRING; ptr = cpend; goto finish; } -- cgit v1.2.3