aboutsummaryrefslogtreecommitdiff
path: root/lib/strstr.c
blob: 39e30e532d45949e6012fac94cf9336e03521092 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "../ninitfeatures.h"

char *strstr(const char *haystack, const char *needle) /*EXTRACT_INCL*/ {
  unsigned int nl=str_len(needle);
  unsigned int hl=str_len(haystack);
  int i;
  if (!nl) goto found;

  for (i=hl-nl+1; i>0; --i) {
    if (*haystack==*needle && !byte_diff(haystack,nl,needle))
found:
      return (char*)haystack;
    ++haystack;
  }
  return 0;
}