NSAPI_PUBLIC int shexp_cmp(char *str, char *exp) { switch(shexp_valid(exp)) { case INVALID_SXP: return -1; case NON_SXP: return (strcmp(exp,str) ? 1 : 0); default: return shexp_match(str, exp); } }
NSAPI_PUBLIC int shexp_cmp(const char *str, const char *exp) { switch(shexp_valid(exp)) { case INVALID_SXP: return -1; case NON_SXP: #ifdef XP_UNIX return (strcmp(exp,str) ? 1 : 0); #else /* XP_WIN32 */ return (stricmp(exp,str) ? 1 : 0); #endif /* XP_WIN32 */ default: return shexp_match(str, exp); } }
NSAPI_PUBLIC int shexp_casecmp(char *str, char *exp) { char *lstr = STRDUP(str), *lexp = STRDUP(exp), *t; int ret; for(t = lstr; *t; t++) if(isalpha(*t)) *t = tolower(*t); for(t = lexp; *t; t++) if(isalpha(*t)) *t = tolower(*t); switch(shexp_valid(lexp)) { case INVALID_SXP: ret = -1; break; case NON_SXP: ret = (strcmp(lexp, lstr) ? 1 : 0); break; default: ret = shexp_match(lstr, lexp); } FREE(lstr); FREE(lexp); return ret; }