1*3e12c5d1SDavid du Colombier #include <string.h> 2*3e12c5d1SDavid du Colombier 3*3e12c5d1SDavid du Colombier int 4*3e12c5d1SDavid du Colombier strncmp(const char *s1, const char *s2, size_t n) 5*3e12c5d1SDavid du Colombier { 6*3e12c5d1SDavid du Colombier unsigned c1, c2; 7*3e12c5d1SDavid du Colombier 8*3e12c5d1SDavid du Colombier while(n > 0) { 9*3e12c5d1SDavid du Colombier c1 = *s1++; 10*3e12c5d1SDavid du Colombier c2 = *s2++; 11*3e12c5d1SDavid du Colombier n--; 12*3e12c5d1SDavid du Colombier if(c1 != c2) { 13*3e12c5d1SDavid du Colombier if(c1 > c2) 14*3e12c5d1SDavid du Colombier return 1; 15*3e12c5d1SDavid du Colombier return -1; 16*3e12c5d1SDavid du Colombier } 17*3e12c5d1SDavid du Colombier if(c1 == 0) 18*3e12c5d1SDavid du Colombier break; 19*3e12c5d1SDavid du Colombier } 20*3e12c5d1SDavid du Colombier return 0; 21*3e12c5d1SDavid du Colombier } 22