Messages in this thread | | | Date | Tue, 2 Oct 2012 10:34:40 -0700 | From | Greg KH <> | Subject | Re: [PATCH 1/7] string: introduce helper to get base file name from given path |
| |
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,
greg k-h
| |