Messages in this thread | | | Date | Tue, 2 Oct 2012 20:52:05 +0300 | Subject | Re: [PATCH 1/7] string: introduce helper to get base file name from given path | From | Andy Shevchenko <> |
| |
On Tue, Oct 2, 2012 at 8:34 PM, Greg KH <gregkh@linuxfoundation.org> wrote: > On Tue, Oct 02, 2012 at 06:00:54PM +0300, Andy Shevchenko wrote: >> There are several places in kernel that use functionality like shell's basename >> function. Let's do it common helper for them. >> >> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> >> Cc: YAMANE Toshiaki <yamanetoshi@gmail.com> >> --- >> include/linux/string.h | 11 +++++++++++ >> 1 file changed, 11 insertions(+) >> >> diff --git a/include/linux/string.h b/include/linux/string.h >> index b917881..b09a342 100644 >> --- a/include/linux/string.h >> +++ b/include/linux/string.h >> @@ -147,5 +147,16 @@ 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; > > What happens if '/' is the last thing in the string? You will then > point to an empty string, which I don't think all callers of this > function is assuming going to work properly (hint, the USB caller will > not...) Thanks for pointing to that. I think it's a usb specific case, so, I assume your comment related to that patch.
-- With Best Regards, Andy Shevchenko
| |