source: branches/libc-0.6/src/binutils/libiberty/strncmp.c

Last change on this file was 610, checked in by bird, 22 years ago

This commit was generated by cvs2svn to compensate for changes in r609,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 709 bytes
Line 
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
8Compares 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#ifdef ANSI_PROTOTYPES
17#include <stddef.h>
18#else
19#define size_t unsigned long
20#endif
21
22int
23strncmp(s1, s2, n)
24 const char *s1, *s2;
25 register size_t n;
26{
27 register unsigned char u1, u2;
28
29 while (n-- > 0)
30 {
31 u1 = (unsigned char) *s1++;
32 u2 = (unsigned char) *s2++;
33 if (u1 != u2)
34 return u1 - u2;
35 if (u1 == '\0')
36 return 0;
37 }
38 return 0;
39}
Note: See TracBrowser for help on using the repository browser.