X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/3dccb685fb1b879e8910e8732e748b22e7ff8dc7..7ebe4fe7bb8bf17b4e1058f687efbe9535d11df7:/uip/mhstore.c?ds=sidebyside diff --git a/uip/mhstore.c b/uip/mhstore.c index e491dd90..fa30e035 100644 --- a/uip/mhstore.c +++ b/uip/mhstore.c @@ -47,16 +47,21 @@ static struct swit switches[] = { { "version", 0 }, #define HELPSW 12 { "help", 0 }, +#define CLOBBERSW 13 + { "clobber always|auto|suffix|ask|never", 0 }, /* * switches for debugging */ -#define DEBUGSW 13 +#define DEBUGSW 14 { "debug", -5 }, { NULL, 0 } }; +int save_clobber_policy (const char *); +extern int files_not_clobbered; + /* mhparse.c */ extern char *tmp; /* directory to place temp files */ @@ -213,6 +218,14 @@ do_cache: case NVERBSW: verbosw = 0; continue; + case CLOBBERSW: + if (!(cp = *argp++) || *cp == '-') + adios (NULL, "missing argument to %s", argp[-2]); + if (save_clobber_policy (cp)) { + adios (NULL, "invalid argument, %s, to %s", argp[-1], + argp[-2]); + } + continue; case DEBUGSW: debugsw = 1; continue; @@ -375,7 +388,7 @@ do_cache: context_save (); /* save the context file */ } - done (0); + done (files_not_clobbered); return 1; }