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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-5.0/] [libiberty/] [strstr.c] - Diff between revs 107 and 1765

Only display areas with differences | Details | Blame | View Log

Rev 107 Rev 1765
/* Simple implementation of strstr for systems without it.
/* Simple implementation of strstr for systems without it.
   This function is in the public domain.  */
   This function is in the public domain.  */
 
 
/*
/*
 
 
NAME
NAME
 
 
        strstr -- locate first occurance of a substring
        strstr -- locate first occurance of a substring
 
 
SYNOPSIS
SYNOPSIS
 
 
        #include <string.h>
        #include <string.h>
 
 
        char *strstr (char *s1, char *s2)
        char *strstr (char *s1, char *s2)
 
 
DESCRIPTION
DESCRIPTION
 
 
        Locates the first occurance in the string pointed to by S1 of
        Locates the first occurance in the string pointed to by S1 of
        the string pointed to by S2.  Returns a pointer to the substring
        the string pointed to by S2.  Returns a pointer to the substring
        found, or a NULL pointer if not found.  If S2 points to a string
        found, or a NULL pointer if not found.  If S2 points to a string
        with zero length, the function returns S1.
        with zero length, the function returns S1.
 
 
BUGS
BUGS
 
 
*/
*/
 
 
 
 
/* FIXME:  The above description is ANSI compiliant.  This routine has not
/* FIXME:  The above description is ANSI compiliant.  This routine has not
   been validated to comply with it.  -fnf */
   been validated to comply with it.  -fnf */
 
 
char *
char *
strstr (s1, s2)
strstr (s1, s2)
  char *s1, *s2;
  char *s1, *s2;
{
{
  register char *p = s1;
  register char *p = s1;
  extern char *strchr ();
  extern char *strchr ();
  extern int strncmp ();
  extern int strncmp ();
#if __GNUC__==2
#if __GNUC__==2
  extern __SIZE_TYPE__ strlen ();
  extern __SIZE_TYPE__ strlen ();
#endif
#endif
  register int len = strlen (s2);
  register int len = strlen (s2);
 
 
  for (; (p = strchr (p, *s2)) != 0; p++)
  for (; (p = strchr (p, *s2)) != 0; p++)
    {
    {
      if (strncmp (p, s2, len) == 0)
      if (strncmp (p, s2, len) == 0)
        {
        {
          return (p);
          return (p);
        }
        }
    }
    }
  return (0);
  return (0);
}
}
 
 

powered by: WebSVN 2.1.0

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