X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fbasename.c;h=7e0c1f611c7527f7576d764e6c19338886c03fab;hb=9730c386c1eb4450d04fa75037dab61e41038919;hp=b8e7e1f4f167f3714fdc674ed9d3ce14fd402875;hpb=43e78b970f396160a887c9da94531569faeda8a0;p=gnulib.git diff --git a/lib/basename.c b/lib/basename.c index b8e7e1f4f..7e0c1f611 100644 --- a/lib/basename.c +++ b/lib/basename.c @@ -15,21 +15,24 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#if defined(USG) || defined(STDC_HEADERS) -#include -#define rindex strrchr -#else -#include +#ifdef HAVE_CONFIG_H +#include #endif -/* Return NAME with any leading path stripped off. */ +/* Return NAME with any leading path stripped off. + Don't use strrchr/rindex. */ char * basename (name) - char *name; + const char *name; { - char *base; + const char *base = name; - base = rindex (name, '/'); - return base ? base + 1 : name; + while (*name) + { + if (*name == '/') + base = name + 1; + ++name; + } + return (char *) base; }