OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [libiberty/] [strncmp.c] - Diff between revs 154 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 154 Rev 816
/* strncmp -- compare two strings, stop after n bytes.
/* strncmp -- compare two strings, stop after n bytes.
   This function is in the public domain.  */
   This function is in the public domain.  */
 
 
/*
/*
 
 
@deftypefn Supplemental int strncmp (const char *@var{s1}, const char *@var{s2}, size_t @var{n})
@deftypefn Supplemental int strncmp (const char *@var{s1}, const char *@var{s2}, size_t @var{n})
 
 
Compares the first @var{n} bytes of two strings, returning a value as
Compares the first @var{n} bytes of two strings, returning a value as
@code{strcmp}.
@code{strcmp}.
 
 
@end deftypefn
@end deftypefn
 
 
*/
*/
 
 
#include <ansidecl.h>
#include <ansidecl.h>
#include <stddef.h>
#include <stddef.h>
 
 
int
int
strncmp(const char *s1, const char *s2, register size_t n)
strncmp(const char *s1, const char *s2, register size_t n)
{
{
  register unsigned char u1, u2;
  register unsigned char u1, u2;
 
 
  while (n-- > 0)
  while (n-- > 0)
    {
    {
      u1 = (unsigned char) *s1++;
      u1 = (unsigned char) *s1++;
      u2 = (unsigned char) *s2++;
      u2 = (unsigned char) *s2++;
      if (u1 != u2)
      if (u1 != u2)
        return u1 - u2;
        return u1 - u2;
      if (u1 == '\0')
      if (u1 == '\0')
        return 0;
        return 0;
    }
    }
  return 0;
  return 0;
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.