1 /* Searching in a string. 2 Copyright (C) 2001-2003, 2006 Free Software Foundation, Inc. 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation; either version 2, or (at your option) 7 any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License 15 along with this program; if not, write to the Free Software Foundation, 16 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ 17 18 19 /* The functions defined in this file assume a nearly ASCII compatible 20 character set. */ 21 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif 26 27 /* Find the first occurrence of NEEDLE in HAYSTACK. 28 This function is safe to be called, even in a multibyte locale, if NEEDLE 29 1. consists solely of printable ASCII characters excluding '\\' and '~' 30 [this restriction is needed because of Shift_JIS and JOHAB] 31 or of the control ASCII characters '\a' '\b' '\f' '\n' '\r' '\t' '\v' 32 [this restriction is needed because of VISCII], and 33 2. has at least length 2 34 [this restriction is needed because of BIG5, BIG5-HKSCS, GBK, GB18030, 35 Shift_JIS, JOHAB], and 36 3. does not consist entirely of decimal digits, or has at least length 4 37 [this restricion is needed because of GB18030]. 38 This function is also safe to be called, even in a multibyte locale, if 39 HAYSTACK and NEEDLE are known to both consist solely of printable ASCII 40 characters excluding '\\' and '~'. */ 41 extern char *c_strstr (const char *haystack, const char *needle); 42 43 #ifdef __cplusplus 44 } 45 #endif 46