home *** CD-ROM | disk | FTP | other *** search
- /* GCW 02/03/94 */
- /* return index at which substring b first occurs in string a, after
- index i, or -1 if no occurrence */
- instr(a,b,i)
- {
- local a_l,b_l,j,k;
- a_l = sizeof(a);
- b_l = sizeof(b);
- if ( b_l == 0 ) return(i);
- if ( a_l < (b_l + i) ) return(-1);
- repeat
- {
- j = 0;
- while ( (i < a_l) && (a[i] != b[j]) ) i++;
- k = i;
- while ( (i < a_l) && (j < b_l) && (a[i] == b[j]) )
- { j++; i++;}
- }
- while ( (j < b_l) && (i < a_l) );
- return (j == b_l)?k:(-1);
- }
-