X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/93f22073ff22b277206b0481c1f8f076aee1656d..6f133ca42e6552b505996de7f9afcbc8d47cb4cb:/uip/new.c diff --git a/uip/new.c b/uip/new.c index 99d8528b..198207a8 100644 --- a/uip/new.c +++ b/uip/new.c @@ -105,15 +105,16 @@ get_msgnums(char *folder, char *sequences[]) /* copied from seq_read.c:seq_public */ for (state = FLD;;) { - switch (state = m_getfld (state, name, field, sizeof(field), fp)) { + int fieldsz = sizeof field; + switch (state = m_getfld (state, name, field, &fieldsz, fp)) { case FLD: case FLDPLUS: case FLDEOF: if (state == FLDPLUS) { cp = getcpy (field); while (state == FLDPLUS) { - state = m_getfld (state, name, field, - sizeof(field), fp); + fieldsz = sizeof field; + state = m_getfld (state, name, field, &fieldsz, fp); cp = add (field, cp); } @@ -408,6 +409,9 @@ main(int argc, char **argv) char *unseen; struct node *folder; + sequences[0] = NULL; + sequences[1] = NULL; + #ifdef LOCALE setlocale(LC_ALL, ""); #endif @@ -435,10 +439,10 @@ main(int argc, char **argv) snprintf (help, sizeof(help), "%s [switches] [sequences]", invo_name); print_help (help, switches, 1); - done (1); + done (0); case VERSIONSW: print_version(invo_name); - done (1); + done (0); case FOLDERSSW: if (!(folders = *argp++) || *folders == '-') @@ -454,6 +458,7 @@ main(int argc, char **argv) /* have a sequence argument */ if (!seq_in_list(cp, sequences)) { sequences[i++] = cp; + sequences[i] = NULL; } }