Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/***
*wcsstr.c - search for one wide-character string inside another * * Copyright (c) 1985-2001, Microsoft Corporation. All rights reserved. * *Purpose: * defines wcsstr() - search for one wchar_t string inside another * *Revision History: * 09-09-91 ETC Created from strstr.c. * 04-07-92 KRS Updated and ripped out _INTL switches. * 04-06-93 SKS Replace _CRTAPI* with __cdecl * 02-07-94 CFW POSIXify. * 08-02-00 GB fixed str2 = "" * *******************************************************************************/
#ifndef _POSIX_
#include <cruntime.h>
#include <string.h>
/***
*wchar_t *wcsstr(string1, string2) - search for string2 in string1 * (wide strings) * *Purpose: * finds the first occurrence of string2 in string1 (wide strings) * *Entry: * wchar_t *string1 - string to search in * wchar_t *string2 - string to search for * *Exit: * returns a pointer to the first occurrence of string2 in * string1, or NULL if string2 does not occur in string1 * *Uses: * *Exceptions: * *******************************************************************************/
wchar_t * __cdecl wcsstr ( const wchar_t * wcs1, const wchar_t * wcs2 ) { wchar_t *cp = (wchar_t *) wcs1; wchar_t *s1, *s2;
if ( !*wcs2) return (wchar_t *)wcs1;
while (*cp) { s1 = cp; s2 = (wchar_t *) wcs2;
while ( *s1 && *s2 && !(*s1-*s2) ) s1++, s2++;
if (!*s2) return(cp);
cp++; }
return(NULL); }
#endif /* _POSIX_ */
|