home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (c) 1990 Carnegie Mellon University
- * All Rights Reserved.
- *
- * Permission to use, copy, modify and distribute this software and its
- * documentation is hereby granted, provided that both the copyright
- * notice and this permission notice appear in all copies of the
- * software, derivative works or modified versions, and any portions
- * thereof, and that both notices appear in supporting documentation.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND CARNEGIE MELLON UNIVERSITY
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT
- * SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
- * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Users of this software agree to return to Carnegie Mellon any
- * improvements or extensions that they make and grant Carnegie the
- * rights to redistribute these changes.
- *
- * Export of this software is permitted only after complying with the
- * regulations of the U.S. Deptartment of Commerce relating to the
- * Export of Technical Data.
- */
- /* sindex -- find index of one string within another
- *
- * Usage: p = sindex (big,small)
- * char *p,*big,*small;
- *
- * Sindex searches for a substring of big which matches small,
- * and returns a pointer to this substring. If no matching
- * substring is found, 0 is returned.
- *
- * HISTORY
- * $Log: sindex.c,v $
- * Revision 1.2 90/12/11 17:58:59 mja
- * Add copyright/disclaimer for distribution.
- *
- * 26-Jun-81 David Smith (drs) at Carnegie-Mellon University
- * Rewritten to avoid call on strlen(), and generally speed up things.
- *
- * 20-Nov-79 Steven Shafer (sas) at Carnegie-Mellon University
- * Adapted for VAX from indexs() on the PDP-11 (thanx to Ralph
- * Guggenheim). The name has changed to be more like the index()
- * and rindex() functions from Bell Labs; the return value (pointer
- * rather than integer) has changed partly for the same reason,
- * and partly due to popular usage of this function.
- *
- * Originally from rjg (Ralph Guggenheim) on IUS/SUS UNIX.
- */
-
-
- char *sindex (big,small) char *big,*small;
- {
- register char *bp, *bp1, *sp;
- register char c = *small++;
-
- if (c==0) return(0);
- for (bp=big; *bp; bp++)
- if (*bp == c)
- {
- for (sp=small,bp1=bp+1; *sp && *sp == *bp1++; sp++)
- ;
- if (*sp==0) return(bp);
- }
- return 0;
- }
-