utility
|
cmd_head.c,
count_tokens.c,
cp_file.c,
errmsg.c,
file_opened.c,
find_line.c,
find_string.c,
fn_base.c,
fn_dir.c,
fn_ext.c,
fn_root.c,
gchoice.c,
gdata_line.c,
gdouble.c,
gfield.c,
gint.c,
gntoken.c,
graphics_ok.c,
gstring.c,
lock.c,
lower.c,
mat_multiply.c,
mat_transform.c,
mat_transpose.c,
mv_file.c,
new_extension.c,
nolead.c,
notrail.c,
ordinal.c,
pfield.c,
squish_blanks.c,
test.c,
unlock.c,
upper.c,
utility.h,
utility.make,
valchars.c,
vec_angle.c,
vec_crossprod.c,
vec_diff.c,
vec_dotprod.c,
vec_length.c,
vec_norm.c,
|
|
|
#include "utility.h"
char *find_string(line,string)
/*=========================================================================*/
/* PURPOSE: DETERMINE WHETHER STRING IS CONTAINED IN LINE.
/* INPUTS:
/* LINE RAW LINE POSSIBLY CONTAINING STRING.
/* STRING STRING TO BE MATCHED.
/* OUTPUTS:
/* RETURN VALUE POINTER TO START OF MATCHED STRING, ELSE NULL.
/* WRITTEN: M.V.GRIESHABER
/* LAST MODIFICATION: 11 JUNE 1991 MVG
*/
char line[];
char string[];
{
char *i; /* LOOP INDEX TO CHARACTER POSITION. */
size_t string_length; /* LENGTH OF STRING. */
string_length=(size_t)strlen(string);
/* CHECK EACH I-TH SUBSTRING FOR A MATCH (THIS IS VERY CRUDE). */
for (i=line; *i!=(char)0; i++)
{
/* IF THE STRING MATCHES THE BEGINNING OF THE I-TH SUBSTRING, RETURN */
/* POINTER TO START OF MATCH. */
if (strncmp(string,i,string_length)==0) return(i);
}
/* HIT END OF LINE WITHOUT FINDING STRING. */
return(NULL);
}
|