Commit | Line | Data |
---|---|---|
252b5132 RH |
1 | /* Return the basename of a pathname. |
2 | This file is in the public domain. */ | |
3 | ||
4 | /* | |
5 | NAME | |
6 | basename -- return pointer to last component of a pathname | |
7 | ||
8 | SYNOPSIS | |
9 | char *basename (const char *name) | |
10 | ||
11 | DESCRIPTION | |
12 | Given a pointer to a string containing a typical pathname | |
13 | (/usr/src/cmd/ls/ls.c for example), returns a pointer to the | |
14 | last component of the pathname ("ls.c" in this case). | |
15 | ||
16 | BUGS | |
17 | Presumes a UNIX style path with UNIX style separators. | |
18 | */ | |
19 | ||
20 | #include "ansidecl.h" | |
21 | #include "libiberty.h" | |
22 | ||
23 | char * | |
24 | basename (name) | |
25 | const char *name; | |
26 | { | |
27 | const char *base = name; | |
28 | ||
29 | while (*name) | |
30 | { | |
31 | if (*name++ == '/') | |
32 | { | |
33 | base = name; | |
34 | } | |
35 | } | |
36 | return (char *) base; | |
37 | } |