File:
[DVB] /
dietlibc /
libshell /
basename.c
Revision
1.1:
download - view:
text,
annotated -
select for diffs
Tue Jul 17 17:39:08 2001 UTC (22 years, 10 months ago) by
fefe
Branches:
MAIN
CVS tags:
finnland_test_200301,
branch_rc14_fieldtest_finnland,
branch_rc13_fieldtest_finnland,
branch_rc12_fieldtest_finnland,
branch_rc10_fieldtest_finnland,
RELEASE_finnland_200301_1,
RC12_FIELDTEST_FINNLAND,
RC10_FIELDTEST_FINNLAND,
HEAD
add dirname, basename.
#include <string.h>
#include <libgen.h>
/*
path dirname basename
"/usr/lib" "/usr" "lib"
"/usr/" "/" "usr"
"usr" "." "usr"
"/" "/" "/"
"." "." "."
".." "." ".."
*/
char *basename(char *path) {
char *c;
again:
if (!(c=strrchr(path,'/'))) return path;
if (c[1]==0) {
if (c == path)
return c;
else {
*c=0;
goto again;
}
}
return c+1;
}
LinuxTV legacy CVS <linuxtv.org/cvs>