1 /****************************************************************************** 2 * Copyright (c) 2004, 2008 IBM Corporation 3 * All rights reserved. 4 * This program and the accompanying materials 5 * are made available under the terms of the BSD License 6 * which accompanies this distribution, and is available at 7 * http://www.opensource.org/licenses/bsd-license.php 8 * 9 * Contributors: 10 * IBM Corporation - initial implementation 11 *****************************************************************************/ 12 13 #include <string.h> 14 15 char * strstr(const char * hay,const char * needle)16strstr(const char *hay, const char *needle) 17 { 18 char *pos; 19 int hlen, nlen; 20 21 if (hay == NULL || needle == NULL) 22 return NULL; 23 24 hlen = strlen(hay); 25 nlen = strlen(needle); 26 if (nlen < 1) 27 return (char *)hay; 28 29 for (pos = (char *)hay; pos < hay + hlen; pos++) { 30 if (strncmp(pos, needle, nlen) == 0) { 31 return pos; 32 } 33 } 34 35 return NULL; 36 } 37 38