X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/6c42153ad9362cc676ea66563bf400d7511b3b68..44ce2010:/sbr/r1bindex.c?ds=inline diff --git a/sbr/r1bindex.c b/sbr/r1bindex.c index 92e152db..7dcabb50 100644 --- a/sbr/r1bindex.c +++ b/sbr/r1bindex.c @@ -1,12 +1,8 @@ - -/* - * r1bindex.c -- Given a string and a character, return a pointer +/* r1bindex.c -- Given a string and a character, return a pointer * -- to the right of the rightmost occurrence of the * -- character. If the character doesn't occur, the * -- pointer will be at the beginning of the string. * - * $Id$ - * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for * complete copyright information. @@ -14,23 +10,17 @@ #include - char * r1bindex(char *str, int chr) { - char *cp; - - /* find null at the end of the string */ - for (cp = str; *cp; cp++) - continue; + char *r; - /* backup to the rightmost character */ - --cp; + if (!chr) + return str; /* Match old behaviour, don't know if it's used. */ - /* now search for the rightmost occurrence of the character */ - while (cp >= str && *cp != chr) - --cp; + r = strrchr(str, chr); + if (r) + return r + 1; - /* now move one to the right */ - return (++cp); + return str; }