mirror of https://github.com/sipwise/klish.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.1 KiB
52 lines
1.1 KiB
/*
|
|
* string_nocasecmp.c
|
|
*/
|
|
#include <string.h>
|
|
#include <ctype.h>
|
|
|
|
#include "private.h"
|
|
#include "lub/ctype.h"
|
|
|
|
|
|
/*--------------------------------------------------------- */
|
|
int lub_string_nocasecmp(const char *cs, const char *ct)
|
|
{
|
|
int result = 0;
|
|
while ((0 == result) && *cs && *ct) {
|
|
/*lint -e155 Ignoring { }'ed sequence within an expression, 0 assumed
|
|
* MACRO implementation uses braces to prevent multiple increments
|
|
* when called.
|
|
*/
|
|
int s = lub_ctype_tolower(*cs++);
|
|
int t = lub_ctype_tolower(*ct++);
|
|
|
|
result = s - t;
|
|
}
|
|
/*lint -e774 Boolean within 'if' always evealuates to True
|
|
* not the case because of tolower() evaluating to 0 under lint
|
|
* (see above)
|
|
*/
|
|
if (0 == result) {
|
|
/* account for different string lengths */
|
|
result = *cs - *ct;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
/*--------------------------------------------------------- */
|
|
char *lub_string_tolower(const char *str)
|
|
{
|
|
char *tmp = strdup(str);
|
|
char *p = tmp;
|
|
|
|
while (*p) {
|
|
*p = tolower(*p);
|
|
p++;
|
|
}
|
|
|
|
return tmp;
|
|
}
|
|
|
|
|
|
/*--------------------------------------------------------- */
|