This is the mail archive of the mailing list for the newlib project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Patch, Newlib]Remove unnecessary if comparison

Hi there,

As shown in attached patch, the (p!=NULL) means we found target character
within width 'prec'. So the 'size' is always smaller than the width 'prec',
thus the inner if statement is unnecessary. Is it ok?


2014-10-29  Terry Guo  <>

     * libc/stdio/vfprintf.c (_VFPRINTF_R): Remove unnecessary comparison.

diff --git a/newlib/libc/stdio/vfprintf.c b/newlib/libc/stdio/vfprintf.c
index dd9c22a..fbca32e 100644
--- a/newlib/libc/stdio/vfprintf.c
+++ b/newlib/libc/stdio/vfprintf.c
@@ -1516,16 +1516,14 @@ string:
 			if (prec >= 0) {
 				 * can't use strlen; can only look for the
-				 * NUL in the first `prec' characters, and
+				 * NULL in the first `prec' characters, and
 				 * strlen () will go further.
 				char *p = memchr (cp, 0, prec);
-				if (p != NULL) {
+				if (p != NULL)
 					size = p - cp;
-					if (size > prec)
-						size = prec;
-				} else
+				else
 					size = prec;
 			} else
 				size = strlen (cp);

Attachment: remove-unnecessary-comparison-v1.txt
Description: Text document

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]