1
0
Files
2022-09-29 17:59:04 +03:00

41 lines
836 B
C

/* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */
/* Copyright (c) 1988 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF */
/* UNIX System Laboratories, Inc. */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#ident "@(#)sccs:lib/mpwlib/index.c 6.3"
/*
If `s2' is a substring of `s1' return the offset of the first
occurrence of `s2' in `s1',
else return -1.
*/
int
index(as1,as2)
char *as1,*as2;
{
register char *s1,*s2,c;
int offset;
s1 = as1;
s2 = as2;
c = *s2;
while (*s1)
if (*s1++ == c) {
offset = s1 - as1 - 1;
s2++;
while ((c = *s2++) == *s1++ && c) ;
if (c == 0)
return(offset);
s1 = offset + as1 + 1;
s2 = as2;
c = *s2;
}
return(-1);
}