~ubuntu-branches/ubuntu/quantal/gclcvs/quantal

« back to all changes in this revision

Viewing changes to binutils/libiberty/strncmp.c

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2004-06-24 15:13:46 UTC
  • Revision ID: james.westby@ubuntu.com-20040624151346-xh0xaaktyyp7aorc
Tags: 2.7.0-26
C_GC_OFFSET is 2 on m68k-linux

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
#ifdef __STDC__
 
17
#include <stddef.h>
 
18
#else
 
19
#define size_t unsigned long
 
20
#endif
 
21
 
 
22
int
 
23
strncmp(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
}