117721Speter/****************************************************************************** 217721Speter* * 317721Speter* s t r s t r * 417721Speter* * 517721Speter* Find the first occurrence of a string in another string. * 617721Speter* * 717721Speter* Format: * 817721Speter* return = strstr(Source,What); * 917721Speter* * 1017721Speter* Parameters: * 1117721Speter* * 1217721Speter* Returns: * 1317721Speter* * 1417721Speter* Scope: PUBLIC * 1517721Speter* * 1617721Speter******************************************************************************/ 1717721Speter 1817721Speterchar *strstr(Source, What) 1917721Speterregister const char *Source; 2017721Speterregister const char *What; 2117721Speter{ 2217721Speterregister char WhatChar; 2317721Speterregister char SourceChar; 2417721Speterregister long Length; 2517721Speter 2617721Speter 2717721Speter if ((WhatChar = *What++) != 0) { 2817721Speter Length = strlen(What); 2917721Speter do { 3017721Speter do { 3117721Speter if ((SourceChar = *Source++) == 0) { 3217721Speter return (0); 3317721Speter } 3417721Speter } while (SourceChar != WhatChar); 3517721Speter } while (strncmp(Source, What, Length) != 0); 3617721Speter Source--; 3717721Speter } 3817721Speter return ((char *)Source); 3917721Speter 4017721Speter}/*strstr*/ 41