home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / EMXLIB8F.ZIP / EMX / LIB / STR / STRSTR.C < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-02  |  733 b   |  33 lines

  1. /* strstr.c (emx+gcc) -- Copyright (c) 1990-1993 by Eberhard Mattes */
  2.  
  3. #include <string.h>
  4.  
  5. char *strstr (const char *string1, const char *string2)
  6. {
  7.   int len1, len2, i;
  8.   char first;
  9.  
  10.   if (*string2 == 0)
  11.     return ((char *)string1);
  12.   len1 = 0;
  13.   while (string1[len1] != 0) ++len1;
  14.   len2 = 0;
  15.   while (string2[len2] != 0) ++len2;
  16.   if (len2 == 0)
  17.     return ((char *)(string1+len1));
  18.   first = *string2;
  19.   while (len1 >= len2)
  20.     {
  21.       if (*string1 == first)
  22.         {
  23.           for (i = 1; i < len2; ++i)
  24.             if (string1[i] != string2[i])
  25.               break;
  26.           if (i >= len2)
  27.             return ((char *)string1);
  28.         }
  29.       ++string1; --len1;
  30.     }
  31.   return (NULL);
  32. }
  33.