39 lines
820 B
C
39 lines
820 B
C
/* Copyright (c) 1984 AT&T */
|
|
/* All Rights Reserved */
|
|
|
|
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
|
|
/* The copyright notice above does not evidence any */
|
|
/* actual or intended publication of such source code. */
|
|
|
|
/* #ident "@(#)libPW:index.c 3.3" */
|
|
#ident "$Header: /proj/irix6.5.7m/isms/eoe/cmd/sccs/lib/comobj/RCS/index.c,v 1.3 1995/12/30 02:19:01 ack Exp $"
|
|
/*
|
|
If `s2' is a substring of `s1' return the offset of the first
|
|
occurrence of `s2' in `s1',
|
|
else return -1.
|
|
*/
|
|
|
|
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);
|
|
}
|