static struct swit switches[] = {
#define MODESW 0
- { "mode", 1 },
+ { "mode", 0 },
#define FOLDERSSW 1
- { "folders", 1 },
+ { "folders", 0 },
#define VERSIONSW 2
- { "version", 1 },
+ { "Version", 0 },
#define HELPSW 3
- { "help", 1 },
+ { "help", 0 },
{ NULL, 0 }
};
static struct node *
doit(char *cur, char *folders, char *sequences[])
{
- struct node *first, *cur_node, *node, *last, *prev;
+ struct node *first, *cur_node, *node, *last = NULL, *prev;
size_t folder_len;
int count, total = 0;
char *command = NULL, *sequences_s = NULL;
char *unseen;
struct node *folder;
-#ifdef LOCALE
+ sequences[0] = NULL;
+ sequences[1] = NULL;
+
setlocale(LC_ALL, "");
-#endif
invo_name = mhbasename(argv[0]);
/* read user profile/context */
/* have a sequence argument */
if (!seq_in_list(cp, sequences)) {
sequences[i++] = cp;
+ sequences[i] = NULL;
}
}
}
if (i == 0) {
+ char *dp;
/* no sequence arguments; use unseen */
- unseen = context_find(usequence);
- if (unseen == NULL || unseen[0] == '\0') {
- adios(NULL, "must specify sequences or set %s", usequence);
+ if ((unseen = context_find(usequence))) {
+ if (!*unseen) {
+ adios(NULL, "profile entry %s set, but empty, and no sequences given", usequence);
+ }
+ } else {
+ unseen = seq_unseen; /* use default */
}
- for (ap = brkstring(unseen, " ", "\n"); *ap; ap++) {
+ dp = getcpy(unseen);
+ for (ap = brkstring(dp, " ", "\n"); *ap; ap++) {
sequences[i++] = *ap;
}
}