static void store_base(LEX *lc, RES_ITEM *item, int index, int pass);
static void store_plugin(LEX *lc, RES_ITEM *item, int index, int pass);
static void store_reader(LEX *lc, RES_ITEM *item, int index, int pass);
+static void store_ignoredir(LEX *lc, RES_ITEM *item, int index, int pass);
static void store_writer(LEX *lc, RES_ITEM *item, int index, int pass);
static void setup_current_opts(void);
* name handler value code flags default_value
*/
static RES_ITEM newinc_items[] = {
- {"file", store_fname, {0}, 0, 0, 0},
- {"plugin", store_plugin_name, {0}, 0, 0, 0},
- {"options", options_res, {0}, 0, 0, 0},
+ {"file", store_fname, {0}, 0, 0, 0},
+ {"plugin", store_plugin_name, {0}, 0, 0, 0},
+ {"ignoredir", store_ignoredir, {0}, 0, 0, 0},
+ {"options", options_res, {0}, 0, 0, 0},
{NULL, NULL, {0}, 0, 0, 0}
};
{"drivetype", store_drivetype, {0}, 0, 0, 0},
{"checkfilechanges",store_opts, {0}, 0, 0, 0},
{"strippath", store_opts, {0}, 0, 0, 0},
+ {"honornodumpflag", store_opts, {0}, 0, 0, 0},
{NULL, NULL, {0}, 0, 0, 0}
};
INC_KW_NOATIME,
INC_KW_ENHANCEDWILD,
INC_KW_CHKCHANGES,
- INC_KW_STRIPPATH
+ INC_KW_STRIPPATH,
+ INC_KW_HONOR_NODUMP
};
/*
{"enhancedwild", INC_KW_ENHANCEDWILD},
{"checkfilechanges", INC_KW_CHKCHANGES},
{"strippath", INC_KW_STRIPPATH},
+ {"honornodumpflag", INC_KW_HONOR_NODUMP},
{NULL, 0}
};
{"no", INC_KW_ENHANCEDWILD, "0"},
{"yes", INC_KW_CHKCHANGES, "c"},
{"no", INC_KW_CHKCHANGES, "0"},
+ {"yes", INC_KW_HONOR_NODUMP, "N"},
+ {"no", INC_KW_HONOR_NODUMP, "0"},
{NULL, 0, 0}
};
scan_to_eol(lc);
}
+/* Store ignoredir info */
+static void store_ignoredir(LEX *lc, RES_ITEM *item, int index, int pass)
+{
+ int token;
+
+ token = lex_get_token(lc, T_NAME);
+ if (pass == 1) {
+ /*
+ * Pickup reader command
+ */
+ res_incexe.current_opts->ignoredir = bstrdup(lc->str);
+ }
+ scan_to_eol(lc);
+}
+
/* Store drivetype info */
static void store_drivetype(LEX *lc, RES_ITEM *item, int index, int pass)
{