home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / me34src.zip / me3 / util / strinstr.c < prev    next >
C/C++ Source or Header  |  1995-01-14  |  655b  |  28 lines

  1. /* strinstr.c : string in string
  2.  * str_in_str(str,pattern)
  3.  *   If pattern is in str, return pointer to where in str that pattern starts
  4.  *   else return NULL.
  5.  * C Durland    Public Domain
  6.  * Same as standard C library function strstr().
  7.  */
  8.  
  9. #include <const.h>
  10.  
  11. char *str_in_str(str, pattern) char *pattern, *str;
  12. {
  13.   register char *ptr, *qtr;
  14.   int matched;
  15.  
  16.   if (pattern[0] == '\0') return str;        /* per the man page */
  17.   for (; *str; str++)
  18.   {
  19.     if (*str == *pattern)
  20.     {
  21.       ptr = pattern; qtr = str; matched = TRUE;
  22.       while (*ptr) if (*ptr++ != *qtr++) { matched = FALSE; break; }
  23.       if (matched) return str;
  24.     }
  25.   }
  26.   return NULL;
  27. }
  28.