Annotation of 43BSD/usr.lib/libF77/rindex_.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1980 Regents of the University of California.
                      3:  * All rights reserved.  The Berkeley software License Agreement
                      4:  * specifies the terms and conditions for redistribution.
                      5:  *
                      6:  *     @(#)rindex_.c   5.2     6/7/85
                      7:  *
                      8:  * find last occurrence of substring in string
                      9:  *
                     10:  * calling sequence:
                     11:  *     character*(*) substr, string
                     12:  *     indx = rindex (string, substr)
                     13:  * where:
                     14:  *     indx will be the index of the first character of the last occurence
                     15:  *     of substr in string, or zero if not found.
                     16:  */
                     17: 
                     18: long rindex_(str, substr, slen, sublen)
                     19: char *str, *substr; long slen, sublen;
                     20: {
                     21:        register char   *p = str + (slen - sublen);
                     22:        register char   *p1, *p2;
                     23:        register int    len;
                     24: 
                     25:        if (sublen == 0)
                     26:                return(0L);
                     27:        while (p >= str) {
                     28:                p1 = p;
                     29:                p2 = substr;
                     30:                len = sublen;
                     31:                while ( *p1++ == *p2++ && --len > 0) ;
                     32:                if ( len <= 0 )
                     33:                        return((long)(++p - str));
                     34:                p--;
                     35:        }
                     36:        return(0L);
                     37: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.