root/lib/libc/strncmp.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. strncmp

   1 /* strncmp -- compare two strings, stop after n bytes.
   2    This function is in the public domain.  */
   3 
   4 /*
   5 
   6 @deftypefn Supplemental int strncmp (const char *@var{s1}, const char *@var{s2}, size_t @var{n})
   7 
   8 Compares the first @var{n} bytes of two strings, returning a value as
   9 @code{strcmp}.
  10 
  11 @end deftypefn
  12 
  13 */
  14 
  15 //#include <ansidecl.h>
  16 //#include <stddef.h>
  17 
  18 int
  19 strncmp(const char *s1, const char *s2, register long n)
  20 {
  21   register unsigned char u1, u2;
  22 
  23   while (n-- > 0)
  24     {
  25       u1 = (unsigned char) *s1++;
  26       u2 = (unsigned char) *s2++;
  27       if (u1 != u2)
  28         return u1 - u2;
  29       if (u1 == '\0')
  30         return 0;
  31     }
  32   return 0;
  33 }

/* [<][>][^][v][top][bottom][index][help] */