From 56a184d529d446bdff375fadeb9c0352a342f989 Mon Sep 17 00:00:00 2001 From: Fabien Costantini Date: Sat, 21 Apr 2012 17:21:11 +0000 Subject: STR 2771 fix: introduce a new ascii strcasecmp that does not rely on locale sensitive toupper tolower. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9368 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/flstring.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/flstring.c') diff --git a/src/flstring.c b/src/flstring.c index abfdcefd3..fcab1a765 100644 --- a/src/flstring.c +++ b/src/flstring.c @@ -90,6 +90,21 @@ fl_strlcpy(char *dst, /* O - Destination string */ return (srclen); } +/** +* locale independent ascii oriented case cmp +* returns 0 if string successfully compare, non zero otherwise +*/ +int fl_ascii_strcasecmp(const char *s, const char *t) { + if (!s || !t) return (s!=t); + if (strlen(s) != strlen(t)) return -1; + for(;*s; s++,t++) { + if ( *s != *t) { + if (*s<*t && (*s+0x20)!=*t ) return -1; + if (*s>*t && *s!=(*t+0x20) ) return +1; + } + } + return 0; +} /* * End of "$Id$". -- cgit v1.2.3