[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] posix: if glob has a trailing slash match directories only.
From: |
Dmitry Goncharov |
Subject: |
Re: [PATCH] posix: if glob has a trailing slash match directories only. |
Date: |
Mon, 4 Dec 2017 10:46:23 -0500 |
On Mon, Dec 4, 2017 at 3:01 AM, Paul Eggert <address@hidden> wrote:
> Dmitry Goncharov wrote:
>>>
>>> flags |= GLOB_ONLYDIR | GLOB_MARK;
>>>
>>> and then at the end, filter out all matches that aren't marked with
>>> trailing '/'. This would avoid creating a new GLOB_XXX option and would
>>> probably be easier to implement.
>>>
>> Please have a look at this implementation of your idea.
>
>
> I'm not quite following how it's an implementation, since I don't see where
> it does anything like "flags |= GLOB_ONLYDIR | GLOB_MARK;". Maybe there's
> another part of the patch you're missing?
glob sets GLOB_MARK when it calls itself recursively when the pattern
has a trailing slash.
>
> The variable "filter" is a boolean and should be of type bool.
sure
>
> That comment and code look over-complicated.
i agree. Will remove the comment.
> Can't you simply copy nonnull entries in-place, in a single pass?
The first pass calls is_dir and frees and resets files. Do you mean to
also do copying in this very pass?
> That way, the filtered order will be the same as the original order.
The stable algorithm results in more iterations and more copying. Are you sure?
regards, Dmitry