X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/86c5a525f242b0a0464d1fa9a5a53029401d093a..bcb443a54dc3e08c2aa51fa1dd414cf2023fc037:/uip/flist.c diff --git a/uip/flist.c b/uip/flist.c index 8d8b92e1..4c0469ed 100644 --- a/uip/flist.c +++ b/uip/flist.c @@ -27,39 +27,30 @@ #define MAXFOLDERS 100 -static struct swit switches[] = { -#define SEQSW 0 - { "sequence name", 0 }, -#define ALLSW 1 - { "all", 0 }, -#define NOALLSW 2 - { "noall", 0 }, -#define RECURSE 3 - { "recurse", 0 }, -#define NORECURSE 4 - { "norecurse", 0 }, -#define SHOWZERO 5 - { "showzero", 0 }, -#define NOSHOWZERO 6 - { "noshowzero", 0 }, -#define ALPHASW 7 - { "alpha", 0 }, -#define NOALPHASW 8 - { "noalpha", 0 }, -#define FASTSW 9 - { "fast", 0 }, -#define NOFASTSW 10 - { "nofast", 0 }, -#define TOTALSW 11 - { "total", -5 }, -#define NOTOTALSW 12 - { "nototal", -7 }, -#define VERSIONSW 13 - { "version", 0 }, -#define HELPSW 14 - { "help", 0 }, - { NULL, 0 } -}; +#define FLIST_SWITCHES \ + X("sequence name", 0, SEQSW) \ + X("all", 0, ALLSW) \ + X("noall", 0, NOALLSW) \ + X("recurse", 0, RECURSE) \ + X("norecurse", 0, NORECURSE) \ + X("showzero", 0, SHOWZERO) \ + X("noshowzero", 0, NOSHOWZERO) \ + X("alpha", 0, ALPHASW) \ + X("noalpha", 0, NOALPHASW) \ + X("fast", 0, FASTSW) \ + X("nofast", 0, NOFASTSW) \ + X("total", -5, TOTALSW) \ + X("nototal", -7, NOTOTALSW) \ + X("version", 0, VERSIONSW) \ + X("help", 0, HELPSW) \ + +#define X(sw, minchars, id) id, +DEFINE_SWITCH_ENUM(FLIST); +#undef X + +#define X(sw, minchars, id) { sw, minchars, id }, +DEFINE_SWITCH_ARRAY(FLIST, switches); +#undef X struct Folder { char *name; /* name of folder */ @@ -165,10 +156,10 @@ main(int argc, char **argv) snprintf(buf, sizeof(buf), "%s [+folder1 [+folder2 ...]][switches]", invo_name); print_help(buf, switches, 1); - done(1); + done(0); case VERSIONSW: print_version(invo_name); - done (1); + done (0); case SEQSW: if (!(cp = *argp++) || *cp == '-')