diff options
author | Gerald Carter <jerry@samba.org> | 2000-08-29 14:33:39 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2000-08-29 14:33:39 +0000 |
commit | dfdca21bd90b9c83f195d580ec9d774f1be8f9cb (patch) | |
tree | 40e58a7a8e5eb1ace0c3265edda331241df0a4d6 /source/lib/util_str.c | |
parent | e89117f418c9c1a1b4f2e9d708030369d801a01c (diff) | |
download | samba-dfdca21bd90b9c83f195d580ec9d774f1be8f9cb.tar.gz samba-dfdca21bd90b9c83f195d580ec9d774f1be8f9cb.tar.xz samba-dfdca21bd90b9c83f195d580ec9d774f1be8f9cb.zip |
needed to use strwicmp() in smbclient code, so I moved it to util_str.c
and made it non-static
--jerry
Diffstat (limited to 'source/lib/util_str.c')
-rw-r--r-- | source/lib/util_str.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/source/lib/util_str.c b/source/lib/util_str.c index 41c012ba34e..822267f5d5f 100644 --- a/source/lib/util_str.c +++ b/source/lib/util_str.c @@ -302,6 +302,36 @@ BOOL strcsequal(const char *s1,const char *s2) return(strcmp(s1,s2)==0); } +/*************************************************************************** +Do a case-insensitive, whitespace-ignoring string compare. +***************************************************************************/ +int strwicmp(char *psz1, char *psz2) +{ + /* if BOTH strings are NULL, return TRUE, if ONE is NULL return */ + /* appropriate value. */ + if (psz1 == psz2) + return (0); + else if (psz1 == NULL) + return (-1); + else if (psz2 == NULL) + return (1); + + /* sync the strings on first non-whitespace */ + while (1) + { + while (isspace(*psz1)) + psz1++; + while (isspace(*psz2)) + psz2++; + if (toupper(*psz1) != toupper(*psz2) || *psz1 == '\0' + || *psz2 == '\0') + break; + psz1++; + psz2++; + } + return (*psz1 - *psz2); +} + /******************************************************************* convert a string to lower case |