home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / a / armbob / !ArmBob / progs / h / string / instr next >
Text File  |  1994-06-06  |  482b  |  22 lines

  1. /* GCW 02/03/94 */
  2. /* return index at which substring b first occurs in string a, after
  3.    index i, or -1 if no occurrence */
  4. instr(a,b,i)
  5. {
  6.  local a_l,b_l,j,k;
  7.  a_l = sizeof(a);
  8.  b_l = sizeof(b);
  9.  if ( b_l == 0 ) return(i);
  10.  if ( a_l < (b_l + i) ) return(-1);
  11.  repeat
  12.   {
  13.    j = 0;
  14.    while ( (i < a_l) && (a[i] != b[j]) ) i++;
  15.    k = i;
  16.    while ( (i < a_l) && (j < b_l) && (a[i] == b[j]) ) 
  17.        { j++; i++;}
  18.   }
  19.  while ( (j < b_l) && (i < a_l) );
  20.  return (j == b_l)?k:(-1);
  21. }
  22.