diff options
| author | Rui Paulo <rpaulo@FreeBSD.org> | 2010-09-22 18:00:34 +0000 |
|---|---|---|
| committer | Rui Paulo <rpaulo@FreeBSD.org> | 2010-09-22 18:00:34 +0000 |
| commit | 22de35abe7d46e014f4ab02c51d3385fda10d4f1 (patch) | |
| tree | 80ca6c9bf71b1b7392acf11205c15500a819a2cd /lib/libc/gen/basename.c | |
| parent | 8583991a917b22487022d7c491a70d2f08a4e47e (diff) | |
Notes
Diffstat (limited to 'lib/libc/gen/basename.c')
| -rw-r--r-- | lib/libc/gen/basename.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/lib/libc/gen/basename.c b/lib/libc/gen/basename.c index 9552ab348666..9588c282bcf7 100644 --- a/lib/libc/gen/basename.c +++ b/lib/libc/gen/basename.c @@ -40,18 +40,12 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> char * -basename(path) +basename_r(path, bname) const char *path; + char *bname; { - static char *bname = NULL; const char *endp, *startp; - if (bname == NULL) { - bname = (char *)malloc(MAXPATHLEN); - if (bname == NULL) - return(NULL); - } - /* Empty or NULL string gets treated as "." */ if (path == NULL || *path == '\0') { (void)strcpy(bname, "."); @@ -82,3 +76,17 @@ basename(path) bname[endp - startp + 1] = '\0'; return(bname); } + +char * +basename(path) + const char *path; +{ + static char *bname = NULL; + + if (bname == NULL) { + bname = (char *)malloc(MAXPATHLEN); + if (bname == NULL) + return (NULL); + } + return (basename_r(path, bname)); +} |
