Make "automount -LL -o whatever" present options in the same order
as used by automountd(8). MFC after: 1 month Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
4d58da13af
commit
8ee4f5ef45
@ -381,13 +381,12 @@ main_automount(int argc, char **argv)
|
||||
parse_master(root, AUTO_MASTER_PATH);
|
||||
|
||||
if (show_maps) {
|
||||
root->n_options = concat(options, ',', root->n_options);
|
||||
if (show_maps > 1) {
|
||||
node_expand_indirect_maps(root);
|
||||
node_expand_ampersand(root, NULL);
|
||||
}
|
||||
node_expand_defined(root);
|
||||
node_print(root);
|
||||
node_print(root, options);
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
@ -607,13 +607,16 @@ node_options(const struct node *n)
|
||||
}
|
||||
|
||||
static void
|
||||
node_print_indent(const struct node *n, int indent)
|
||||
node_print_indent(const struct node *n, const char *cmdline_options,
|
||||
int indent)
|
||||
{
|
||||
const struct node *child, *first_child;
|
||||
char *path, *options;
|
||||
char *path, *options, *tmp;
|
||||
|
||||
path = node_path(n);
|
||||
options = node_options(n);
|
||||
tmp = node_options(n);
|
||||
options = concat(cmdline_options, ',', tmp);
|
||||
free(tmp);
|
||||
|
||||
/*
|
||||
* Do not show both parent and child node if they have the same
|
||||
@ -644,16 +647,21 @@ node_print_indent(const struct node *n, int indent)
|
||||
free(options);
|
||||
|
||||
TAILQ_FOREACH(child, &n->n_children, n_next)
|
||||
node_print_indent(child, indent + 2);
|
||||
node_print_indent(child, cmdline_options, indent + 2);
|
||||
}
|
||||
|
||||
/*
|
||||
* Recursively print node with all its children. The cmdline_options
|
||||
* argument is used for additional options to be prepended to all the
|
||||
* others - usually those are the options passed by command line.
|
||||
*/
|
||||
void
|
||||
node_print(const struct node *n)
|
||||
node_print(const struct node *n, const char *cmdline_options)
|
||||
{
|
||||
const struct node *child;
|
||||
|
||||
TAILQ_FOREACH(child, &n->n_children, n_next)
|
||||
node_print_indent(child, 0);
|
||||
node_print_indent(child, cmdline_options, 0);
|
||||
}
|
||||
|
||||
static struct node *
|
||||
|
@ -87,7 +87,7 @@ void node_expand_ampersand(struct node *root, const char *key);
|
||||
void node_expand_wildcard(struct node *root, const char *key);
|
||||
int node_expand_defined(struct node *root);
|
||||
void node_expand_indirect_maps(struct node *n);
|
||||
void node_print(const struct node *n);
|
||||
void node_print(const struct node *n, const char *cmdline_options);
|
||||
void parse_master(struct node *root, const char *path);
|
||||
void parse_map(struct node *parent, const char *map, const char *args,
|
||||
bool *wildcards);
|
||||
|
Loading…
Reference in New Issue
Block a user