Module Name:    src
Committed By:   dholland
Date:           Mon May 30 17:48:29 UTC 2016

Modified Files:
        src/lib/libform: type_numeric.c

Log Message:
PR 51190 David Binderman: simplify redundant conditionals.
Also add paranoia when looping on isdigit().


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/lib/libform/type_numeric.c

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

Modified files:

Index: src/lib/libform/type_numeric.c
diff -u src/lib/libform/type_numeric.c:1.8 src/lib/libform/type_numeric.c:1.9
--- src/lib/libform/type_numeric.c:1.8	Thu Oct 28 21:14:52 2004
+++ src/lib/libform/type_numeric.c	Mon May 30 17:48:29 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: type_numeric.c,v 1.8 2004/10/28 21:14:52 dsl Exp $	*/
+/*	$NetBSD: type_numeric.c,v 1.9 2016/05/30 17:48:29 dholland Exp $	*/
 
 /*-
  * Copyright (c) 1998-1999 Brett Lymn
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: type_numeric.c,v 1.8 2004/10/28 21:14:52 dsl Exp $");
+__RCSID("$NetBSD: type_numeric.c,v 1.9 2016/05/30 17:48:29 dholland Exp $");
 
 #include <stdlib.h>
 #include <string.h>
@@ -136,16 +136,15 @@ numeric_check_field(FIELD *field, char *
 		cur++;
 
 	  /* if not at end of string then check for decimal... */
-	if ((buf[cur] != '\0') && (buf[cur] == '.')) {
+	if (buf[cur] == '.') {
 		cur++;
-		  /* check for more digits now.... */
-		while(isdigit((unsigned char)buf[cur]))
+		/* check for more digits now.... */
+		while (buf[cur] && isdigit((unsigned char)buf[cur]))
 			cur++;
 	}
 	
 	  /* check for an exponent */
-	if ((buf[cur] != '\0') &&
-	    ((buf[cur] == 'E') || (buf[cur] == 'e'))) {
+	if ((buf[cur] == 'E') || (buf[cur] == 'e')) {
 		cur++;
 		if (buf[cur] == '\0')
 			return FALSE;

Reply via email to