X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/afee8ed17a56617618fb7f963b111d7cf0fb56e7..d4736bd755993627bf6abf7b7421524f5749cf11:/uip/new.c diff --git a/uip/new.c b/uip/new.c index e391ba20..57e2706a 100644 --- a/uip/new.c +++ b/uip/new.c @@ -13,10 +13,6 @@ #include -#include -#include -#include - #include #include #include @@ -404,14 +400,11 @@ main(int argc, char **argv) char **ap, *cp, **argp, **arguments; char help[BUFSIZ]; char *folders = NULL; - char *sequences[NUMATTRS + 1]; + svector_t sequences = svector_create (0); int i = 0; char *unseen; struct node *folder; - sequences[0] = NULL; - sequences[1] = NULL; - #ifdef LOCALE setlocale(LC_ALL, ""); #endif @@ -456,9 +449,9 @@ main(int argc, char **argv) } } /* have a sequence argument */ - if (!seq_in_list(cp, sequences)) { - sequences[i++] = cp; - sequences[i] = NULL; + if (!seq_in_list(cp, svector_strs (sequences))) { + svector_push_back (sequences, cp); + ++i; } } @@ -485,12 +478,12 @@ main(int argc, char **argv) adios(NULL, "must specify sequences or set %s", usequence); } for (ap = brkstring(unseen, " ", "\n"); *ap; ap++) { - sequences[i++] = *ap; + svector_push_back (sequences, *ap); + ++i; } } - sequences[i] = NULL; - folder = doit(context_find(pfolder), folders, sequences); + folder = doit(context_find(pfolder), folders, svector_strs (sequences)); if (folder == NULL) { done(0); return 1; @@ -514,6 +507,7 @@ main(int argc, char **argv) context_save(); + svector_free (sequences); done (0); return 1; }