On Wed, Feb 03, 2016 at 07:28:17PM +0100, Pino Toscano wrote:
Add a new optional bool "nodirectoryslash", to indicate
that the caller
does not want trailing slashes in names of directories; this helps with
interoperability with other tools (such as rm).
Hmm, double negative :-/
Can it be "directoryslash" (defaulting to true of course)?
char **
-do_glob_expand (const char *pattern)
+do_glob_expand (const char *pattern, int nodirectoryslash)
Since this function is using an optarg, it must consult optargs_bitmask
below, ie.
{
int r;
glob_t buf = { .gl_pathc = 0, .gl_pathv = NULL, .gl_offs = 0 };
+ int flags = GLOB_BRACE;
+
+ if (!nodirectoryslash)
+ flags |= GLOB_MARK;
(with the sense reversed as I mentioned above) it would be:
if (optargs_bitmask & GUESTFS_GLOB_EXPAND_DIRECTORYSLASH_BITMASK) {
if (directoryslash)
flags |= GLOB_MARK;
} else {
flags |= GLOB_MARK; /* defaults to true for backwards compatibility */
}
You could simplify that a bit, but that's the general idea.
Rest of the change is fine.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine. Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/