Module Name:    src
Committed By:   christos
Date:           Mon Nov  2 22:58:51 UTC 2020

Modified Files:
        src/external/historical/nawk/dist: tran.c

Log Message:
>From wajap at github:
- eat whitespace in infnan checks
- set fval to 0 if we are not a floating point number


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/external/historical/nawk/dist/tran.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/historical/nawk/dist/tran.c
diff -u src/external/historical/nawk/dist/tran.c:1.14 src/external/historical/nawk/dist/tran.c:1.15
--- src/external/historical/nawk/dist/tran.c:1.14	Mon Aug 31 20:35:29 2020
+++ src/external/historical/nawk/dist/tran.c	Mon Nov  2 17:58:51 2020
@@ -399,11 +399,15 @@ static int checkstr(const char *s, const
 {
 	while (*s && tolower((unsigned char)*s) == *v)
 		s++, v++;
+	while (isspace((unsigned char)*s))
+		s++;
 	return !(*s || *v);
 }
 
 static int checkinfnan(const char *s)
 {
+	while (isspace((unsigned char)*s))
+		s++;
 	if (*s == '+' || *s == '-')
 		s++;
 	switch (tolower((unsigned char)*s)) {
@@ -427,6 +431,8 @@ Awkfloat getfval(Cell *vp)	/* get float 
 	if (!isnum(vp)) {	/* not a number */
 		if (checkinfnan(vp->sval))
 			vp->fval = atof(vp->sval);	/* best guess */
+		else
+			vp->fval = 0.0;
 		if (is_number(vp->sval) && !(vp->tval&CON)) {
 			vp->tval |= NUM;	/* make NUM only sparingly */
 		}

Reply via email to