From bf28a3873d633d233991f14e8e4d10c76f410deb Mon Sep 17 00:00:00 2001 From: KWSys Upstream Date: Fri, 7 Oct 2016 13:41:32 -0400 Subject: [PATCH] KWSys 2016-10-07 (dfe9b386) Code extracted from: http://public.kitware.com/KWSys.git at commit dfe9b38635d80cb5253187c1ddf90923e1b9effd (master). Upstream Shortlog ----------------- Brad King (1): dfe9b386 SystemTools: Re-implement Strucmp --- SystemTools.cxx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/SystemTools.cxx b/SystemTools.cxx index c97af2514..5da715f48 100644 --- a/SystemTools.cxx +++ b/SystemTools.cxx @@ -2716,17 +2716,15 @@ unsigned long SystemTools::FileLength(const std::string& filename) return length; } -int SystemTools::Strucmp(const char *s1, const char *s2) +int SystemTools::Strucmp(const char* l, const char* r) { - // lifted from Graphvis http://www.graphviz.org - while ((*s1 != '\0') - && (tolower(*s1) == tolower(*s2))) - { - s1++; - s2++; - } - - return tolower(*s1) - tolower(*s2); + int lc; + int rc; + do { + lc = tolower(*l++); + rc = tolower(*r++); + } while(lc == rc && lc); + return lc - rc; } // return file's modified time