summaryrefslogtreecommitdiff
path: root/options.c
diff options
context:
space:
mode:
Diffstat (limited to 'options.c')
-rw-r--r--options.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/options.c b/options.c
index d14b3ef..2354788 100644
--- a/options.c
+++ b/options.c
@@ -1,5 +1,5 @@
/* Hurd unionfs
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
Written by Moritz Schulte <moritz@duesseldorf.ccc.de>.
This program is free software; you can redistribute it and/or
@@ -32,6 +32,7 @@
#include "version.h"
#include "pattern.h"
#include "stow.h"
+#include "update.h"
/* This variable is set to a non-zero value after parsing of the
startup options. Whenever the argument parser is later called to
@@ -103,8 +104,9 @@ argp_parse_common_options (int key, char *arg, struct argp_state *state)
break;
case OPT_STOW: /* --stow */
- stow_diradd (arg, ulfs_flags, &ulfs_patternlist, ulfs_remove);
-
+ err = stow_diradd (arg, ulfs_flags, &ulfs_patternlist, ulfs_remove);
+ if (err)
+ error (EXIT_FAILURE, err, "stow_diradd");
ulfs_modified = 1;
ulfs_flags = ulfs_remove = 0;
ulfs_match = 0;
@@ -134,12 +136,14 @@ argp_parse_common_options (int key, char *arg, struct argp_state *state)
ulfs_flags = ulfs_remove = 0;
if (ulfs_modified && parsing_startup_options_finished)
{
- err = node_init_root (netfs_root_node);
- if (err)
- error (EXIT_FAILURE, err, "failed to initialize root node");
+ root_update_schedule ();
+ }
+ else
+ {
+ ncache_reset ();
}
- ncache_reset ();
ulfs_modified = 0;
+
if (! parsing_startup_options_finished)
parsing_startup_options_finished = 1;
break;