svn commit: r283239 - stable/10/usr.sbin/autofs
Edward Tomasz Napierala
trasz at FreeBSD.org
Thu May 21 13:37:49 UTC 2015
Author: trasz
Date: Thu May 21 13:37:48 2015
New Revision: 283239
URL: https://svnweb.freebsd.org/changeset/base/283239
Log:
MFC r279916:
Make "automount -LL -o whatever" present options in the same order
as used by automountd(8).
Sponsored by: The FreeBSD Foundation
Modified:
stable/10/usr.sbin/autofs/automount.c
stable/10/usr.sbin/autofs/common.c
stable/10/usr.sbin/autofs/common.h
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/usr.sbin/autofs/automount.c
==============================================================================
--- stable/10/usr.sbin/autofs/automount.c Thu May 21 13:36:00 2015 (r283238)
+++ stable/10/usr.sbin/autofs/automount.c Thu May 21 13:37:48 2015 (r283239)
@@ -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);
}
Modified: stable/10/usr.sbin/autofs/common.c
==============================================================================
--- stable/10/usr.sbin/autofs/common.c Thu May 21 13:36:00 2015 (r283238)
+++ stable/10/usr.sbin/autofs/common.c Thu May 21 13:37:48 2015 (r283239)
@@ -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,
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 *
Modified: stable/10/usr.sbin/autofs/common.h
==============================================================================
--- stable/10/usr.sbin/autofs/common.h Thu May 21 13:36:00 2015 (r283238)
+++ stable/10/usr.sbin/autofs/common.h Thu May 21 13:37:48 2015 (r283239)
@@ -87,7 +87,7 @@ void node_expand_ampersand(struct node *
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);
More information about the svn-src-all
mailing list