#include <ctype.h>
#include <stdio.h>
#include <string.h>
int strincmp(char const* s1, char const* s2, int n)
{
/* case insensitive comparison */
int d;
while (--n >= 0) {
d = (tolower(*s1) - tolower(*s2));
if ( d != 0 || *s1 == '\0' || *s2 == '\0' )
return d;
++s1;
++s2;
}
return(0);
}
int main()
{
printf( "%i\n", strincmp("cdefg", "CD", 2) );
printf( "%i\n", strincmp("cd", "CDe", 2) );
printf( "%i\n", strincmp("cd", "cde", 2) );
}
I2luY2x1ZGUgPGN0eXBlLmg+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CgppbnQgc3RyaW5jbXAoY2hhciBjb25zdCogczEsIGNoYXIgY29uc3QqIHMyLCBpbnQgbikKewogICAgLyogY2FzZSBpbnNlbnNpdGl2ZSBjb21wYXJpc29uICovCiAgICBpbnQgZDsKICAgIHdoaWxlICgtLW4gPj0gMCkgewogICAgICBkID0gKHRvbG93ZXIoKnMxKSAtIHRvbG93ZXIoKnMyKSk7CiAgICAgIGlmICggZCAhPSAwIHx8ICpzMSA9PSAnXDAnIHx8ICpzMiA9PSAnXDAnICkKICAgICAgICByZXR1cm4gZDsKICAgICAgKytzMTsKICAgICAgKytzMjsKICAgIH0KICAgIHJldHVybigwKTsKfQoKaW50IG1haW4oKQp7CiAgICBwcmludGYoICIlaVxuIiwgc3RyaW5jbXAoImNkZWZnIiwgIkNEIiwgMikgKTsKICAgIHByaW50ZiggIiVpXG4iLCBzdHJpbmNtcCgiY2QiLCAiQ0RlIiwgMikgKTsKICAgIHByaW50ZiggIiVpXG4iLCBzdHJpbmNtcCgiY2QiLCAiY2RlIiwgMikgKTsKfQ==