60 lines
1.4 KiB
C
60 lines
1.4 KiB
C
/* Return the basename of a pathname.
|
|
Copyright (C) 1991 Free Software Foundation, Inc.
|
|
|
|
This file is part of the libiberty library.
|
|
Libiberty is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Library General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2 of the License, or (at your option) any later version.
|
|
|
|
Libiberty is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Library General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Library General Public
|
|
License along with libiberty; see the file COPYING.LIB. If
|
|
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
Cambridge, MA 02139, USA.
|
|
|
|
$Id: basename.c,v 1.1 1994/01/28 12:42:56 pk Exp $
|
|
*/
|
|
|
|
/*
|
|
|
|
NAME
|
|
|
|
basename -- return pointer to last component of a pathname
|
|
|
|
SYNOPSIS
|
|
|
|
char *basename (char *name)
|
|
|
|
DESCRIPTION
|
|
|
|
Given a pointer to a string containing a typical pathname
|
|
(/usr/src/cmd/ls/ls.c for example), returns a pointer to the
|
|
last component of the pathname ("ls.c" in this case).
|
|
|
|
BUGS
|
|
|
|
Presumes a UNIX style path with UNIX style separators.
|
|
*/
|
|
|
|
|
|
char *
|
|
basename (name)
|
|
char *name;
|
|
{
|
|
char *base = name;
|
|
|
|
while (*name)
|
|
{
|
|
if (*name++ == '/')
|
|
{
|
|
base = name;
|
|
}
|
|
}
|
|
return (base);
|
|
}
|