home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
vol_300
/
344_02
/
stristr.c
< prev
next >
Wrap
Text File
|
1989-10-28
|
1KB
|
59 lines
/*
* HEADER: ;
* TITLE: stristr() - substring search function;
* DATE: 10/27/1989;
* DESCRIPTION: "strstr() that ignores case distinctions";
* VERSION: 1.0;
* FILENAME: STRISTR.C;
* SEE-ALSO: PB.DOC;
* AUTHORS: Michael Kelly;
*/
#include "stristr.h"
/*
* strstr() that ignores case distinctions
*/
char *stristr(const char *string, const char *substr)
{
char *str1, *str2, *sentinel;
size_t string_len, substr_len, n;
int dif;
if(! *substr)
return (char *) string;
string_len = strlen(string);
substr_len = strlen(substr);
if(substr_len > string_len)
return NULL;
sentinel = (char *) &string[string_len - substr_len];
do {
str1 = (char *) string;
str2 = (char *) substr;
n = substr_len;
while(n--)
if(dif = tolower(*str1++) - tolower(*str2++))
break;
if(! dif)
return (char *) string;
} while(++string <= sentinel);
return NULL;
}