Re: [PATCH 1/7] string: introduce helper to get base file name fromgiven path

From: Andy Shevchenko
Date: Thu Oct 04 2012 - 04:19:57 EST


On Wed, 2012-10-03 at 14:39 -0400, Nick Bowler wrote:
> On 2012-10-02 11:12 -0700, Greg KH wrote:
> > On Tue, Oct 02, 2012 at 08:52:05PM +0300, Andy Shevchenko wrote:
> > > On Tue, Oct 2, 2012 at 8:34 PM, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:

[...]

> > Well, if you want your kbasename() function to work like the basename(3)
> > function, you need to properly handle a trailing '/' character.
>
> Specifically, POSIX basename trims trailing '/' characters, so
>
> char foo[] = "a/string/with/trailing/slashes///";
> basename(foo);
>
> results in a string that compares equal to "slashes". This implies that
> it must either modify the provided string or copy it somewhere else
> (POSIX admits either behaviour).
>
> On the other hand, GNU basename does not trim trailing '/' characters
> and returns the empty string in this case. It's truly unfortunate that
> glibc contains two different functions called basename, but regardless,
> the behaviour of the function in this proposal is certainly not
> unprecedented.
I fixed the description of the patch in v2.

--
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/