diff options
author | Andy Shevchenko <[email protected]> | 2012-12-17 16:01:18 -0800 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2012-12-17 17:15:17 -0800 |
commit | b18888ab256f05626193be955a7a03f01d676f8c (patch) | |
tree | 50e0839fc250c1766138b47f9d8750124ed938aa | |
parent | 0edd807dc96522d9a8e8b5298552cd8adf810cc5 (diff) |
string: introduce helper to get base file name from given path
There are several places in the kernel that use functionality like
basename(3) with the exception: in case of '/foo/bar/' we expect to get an
empty string. Let's do it common helper for them.
Signed-off-by: Andy Shevchenko <[email protected]>
Cc: Jason Baron <[email protected]>
Cc: YAMANE Toshiaki <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
-rw-r--r-- | include/linux/string.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/string.h b/include/linux/string.h index 630125818ca8..ac889c5ea11b 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -143,4 +143,15 @@ static inline bool strstarts(const char *str, const char *prefix) extern size_t memweight(const void *ptr, size_t bytes); +/** + * kbasename - return the last part of a pathname. + * + * @path: path to extract the filename from. + */ +static inline const char *kbasename(const char *path) +{ + const char *tail = strrchr(path, '/'); + return tail ? tail + 1 : path; +} + #endif /* _LINUX_STRING_H_ */ |