~ubuntu-branches/ubuntu/dapper/gnats/dapper

« back to all changes in this revision

Viewing changes to libiberty/strstr.c

  • Committer: Bazaar Package Importer
  • Author(s): Chad Walstrom
  • Date: 2005-03-07 17:56:31 UTC
  • mfrom: (1.1.1 upstream) (2.1.1 hoary)
  • Revision ID: james.westby@ubuntu.com-20050307175631-agtm10dvjbemuc64
Tags: 4.1.0-0
* New upstream version
* debian/rules: now uses '--with-lispdir' option instead of environment
  variable overloading. Re-enabled optimization.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Simple implementation of strstr for systems without it.
2
 
   This function is in the public domain.  */
3
 
 
4
 
/*
5
 
 
6
 
NAME
7
 
 
8
 
        strstr -- locate first occurance of a substring
9
 
 
10
 
SYNOPSIS
11
 
 
12
 
        #include <string.h>
13
 
 
14
 
        char *strstr (char *s1, char *s2)
15
 
 
16
 
DESCRIPTION
17
 
 
18
 
        Locates the first occurance in the string pointed to by S1 of
19
 
        the string pointed to by S2.  Returns a pointer to the substring
20
 
        found, or a NULL pointer if not found.  If S2 points to a string
21
 
        with zero length, the function returns S1.
22
 
        
23
 
BUGS
24
 
 
25
 
*/
26
 
 
27
 
 
28
 
/* FIXME:  The above description is ANSI compiliant.  This routine has not
29
 
   been validated to comply with it.  -fnf */
30
 
 
31
 
char *
32
 
strstr (s1, s2)
33
 
  char *s1, *s2;
34
 
{
35
 
  register char *p = s1;
36
 
  extern char *strchr ();
37
 
  extern int strncmp ();
38
 
#if __GNUC__==2
39
 
  extern __SIZE_TYPE__ strlen ();
40
 
#endif
41
 
  register int len = strlen (s2);
42
 
 
43
 
  for (; (p = strchr (p, *s2)) != 0; p++)
44
 
    {
45
 
      if (strncmp (p, s2, len) == 0)
46
 
        {
47
 
          return (p);
48
 
        }
49
 
    }
50
 
  return (0);
51
 
}