diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2012-12-17 19:01:18 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-17 20:15:17 -0500 |
commit | b18888ab256f05626193be955a7a03f01d676f8c (patch) | |
tree | 50e0839fc250c1766138b47f9d8750124ed938aa /include | |
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 <andriy.shevchenko@linux.intel.com>
Cc: Jason Baron <jbaron@redhat.com>
Cc: YAMANE Toshiaki <yamanetoshi@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-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) | |||
143 | 143 | ||
144 | extern size_t memweight(const void *ptr, size_t bytes); | 144 | extern size_t memweight(const void *ptr, size_t bytes); |
145 | 145 | ||
146 | /** | ||
147 | * kbasename - return the last part of a pathname. | ||
148 | * | ||
149 | * @path: path to extract the filename from. | ||
150 | */ | ||
151 | static inline const char *kbasename(const char *path) | ||
152 | { | ||
153 | const char *tail = strrchr(path, '/'); | ||
154 | return tail ? tail + 1 : path; | ||
155 | } | ||
156 | |||
146 | #endif /* _LINUX_STRING_H_ */ | 157 | #endif /* _LINUX_STRING_H_ */ |