P
pete
William Krick wrote:
I got another one for you.
int str_cncmp(const char *s1, const char *s2, size_t n)
{
int c1, c2;
if (n != 0) {
do {
c1 = tolower( (unsigned char) *s1++ );
c2 = tolower( (unsigned char) *s2++ );
} while (c1 == c2 && c1 != '\0' && --n != 0);
}
return n != 0 ? c1 - c2 : 0;
}
Here's an improved version using do-while as jokingly (I think)
suggested by Skarmander earlier in this thread...
int str_ccmp( const char *s1, const char *s2 ) {
int c1, c2;
do {
c1 = tolower( (unsigned char) *s1++ );
c2 = tolower( (unsigned char) *s2++ );
} while (c1 == c2 && c1 != 0);
return c1 - c2;
}
I got another one for you.
int str_cncmp(const char *s1, const char *s2, size_t n)
{
int c1, c2;
if (n != 0) {
do {
c1 = tolower( (unsigned char) *s1++ );
c2 = tolower( (unsigned char) *s2++ );
} while (c1 == c2 && c1 != '\0' && --n != 0);
}
return n != 0 ? c1 - c2 : 0;
}