diff --git a/ext2spice/ext2spice.c b/ext2spice/ext2spice.c index 43ebabbe..8885bdce 100644 --- a/ext2spice/ext2spice.c +++ b/ext2spice/ext2spice.c @@ -1147,6 +1147,17 @@ spcmainArgs(pargc, pargv) char **argv = *pargv, *cp; int argc = *pargc; + char usage_text[] = "Usage: ext2spice " + "[-B] [-o spicefile] [-M|-m] [-y cap_digits] " + "[-J flat|hier]\n" + "[-f spice2|spice3|hspice|ngspice] [-M] [-m] " +#ifdef MAGIC_WRAPPER + "[file]\n"; +#else + "[-j device:sdRclass[/subRclass]/defaultSubstrate]\n" + "file\n\n or else see options to extcheck(1)\n"; +#endif + switch (argv[0][1]) { case 'd': @@ -1243,6 +1254,9 @@ spcmainArgs(pargc, pargv) break; } #endif /* MAGIC_WRAPPER */ + case 'h': /* -h or -help, as suggested by "ext2spice help" */ + TxPrintf(usage_text); + break; default: TxError("Unrecognized flag: %s\n", argv[0]); goto usage; @@ -1253,16 +1267,7 @@ spcmainArgs(pargc, pargv) return 0; usage: - TxError("Usage: ext2spice [-B] [-o spicefile] [-M|-m] [-y cap_digits] " - "[-J flat|hier]\n" - "[-f spice2|spice3|hspice|ngspice] [-M] [-m] " -#ifdef MAGIC_WRAPPER - "[file]\n" -#else - "[-j device:sdRclass[/subRclass]/defaultSubstrate]\n" - "file\n\n or else see options to extcheck(1)\n" -#endif - ); + TxError(usage_text); #ifdef MAGIC_WRAPPER return 1; diff --git a/extflat/EFargs.c b/extflat/EFargs.c index dd812dac..d94ebc16 100644 --- a/extflat/EFargs.c +++ b/extflat/EFargs.c @@ -160,6 +160,15 @@ EFArgs(argc, argv, err_result, argsProc, cdata) HierName *hierName; FILE *f; + char usage_text[] = + "Standard arguments: [-R] [-C] [-r rthresh] [-c cthresh] [-v]\n" + "[-p searchpath] [-s sym=value] [-S symfile] [-t trimchars]\n" +#ifdef MAGIC_WRAPPER + "[rootfile]\n"; +#else + "[-T techname] rootfile\n"; +#endif + if (err_result != NULL) *err_result = FALSE; /* Hash table of nodes we're going to watch if -N given */ @@ -270,6 +279,11 @@ EFArgs(argc, argv, err_result, argsProc, cdata) case 'z': efHNStats = TRUE; break; + case 'h': + if (argsProc != NULL) (*argsProc)(&argc, &argv, cdata); + TxPrintf(usage_text); + if (err_result != NULL) *err_result = TRUE; + return NULL; /*** Try a caller-supplied argument processing function ***/ default: @@ -312,19 +326,15 @@ EFArgs(argc, argv, err_result, argsProc, cdata) realIn[cp - inname] = '\0'; inname = realIn; } - return inname; usage: - TxError("Standard arguments: [-R] [-C] [-r rthresh] [-c cthresh] [-v]\n" - "[-p searchpath] [-s sym=value] [-S symfile] [-t trimchars]\n" + TxError(usage_text); #ifdef MAGIC_WRAPPER - "[rootfile]\n"); if (err_result != NULL) *err_result = TRUE; return NULL; #else - "[-T techname] rootfile\n"); exit (1); /*NOTREACHED*/ #endif