177298Sobrien/* strncmp -- compare two strings, stop after n bytes. 277298Sobrien This function is in the public domain. */ 377298Sobrien 489857Sobrien/* 589857Sobrien 689857Sobrien@deftypefn Supplemental int strncmp (const char *@var{s1}, const char *@var{s2}, size_t @var{n}) 789857Sobrien 889857SobrienCompares the first @var{n} bytes of two strings, returning a value as 989857Sobrien@code{strcmp}. 1089857Sobrien 1189857Sobrien@end deftypefn 1289857Sobrien 1389857Sobrien*/ 1489857Sobrien 1577298Sobrien#include <ansidecl.h> 1677298Sobrien#include <stddef.h> 1777298Sobrien 1877298Sobrienint 19218822Sdimstrncmp(const char *s1, const char *s2, register size_t n) 2077298Sobrien{ 2177298Sobrien register unsigned char u1, u2; 2277298Sobrien 2377298Sobrien while (n-- > 0) 2477298Sobrien { 2577298Sobrien u1 = (unsigned char) *s1++; 2677298Sobrien u2 = (unsigned char) *s2++; 2777298Sobrien if (u1 != u2) 2877298Sobrien return u1 - u2; 2977298Sobrien if (u1 == '\0') 3077298Sobrien return 0; 3177298Sobrien } 3277298Sobrien return 0; 3377298Sobrien} 34