From 3049f16af2fa91514c5f7b6d13aa5f3f2bdee062 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Wed, 21 Mar 2012 14:46:34 -0700 Subject: [PATCH] Compiler detected unsigned bug --- Ibm1130/ibm1130_sys.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Ibm1130/ibm1130_sys.c b/Ibm1130/ibm1130_sys.c index 1b3fb86d..2fefc52c 100644 --- a/Ibm1130/ibm1130_sys.c +++ b/Ibm1130/ibm1130_sys.c @@ -459,10 +459,9 @@ int strnicmp (const char *a, const char *b, size_t n) { int ca, cb; - for (;;) { - if (--n < 0) /* still equal after n characters? quit now */ - return 0; + if (n == 0) return 0; /* zero length compare is equal */ + for (;;) { if ((ca = *a) == 0) /* get character, stop on null terminator */ return *b ? -1 : 0; @@ -477,6 +476,9 @@ int strnicmp (const char *a, const char *b, size_t n) return ca; a++, b++; + + if (--n == 0) /* still equal after n characters? quit now */ + return 0; } }