static int recurse = FALSE; /* show nested folders? */
static int showzero = TRUE; /* show folders even if no messages in seq? */
static int Total = TRUE; /* display info on number of messages in
- * sequence found, and total num messages */
+ * sequence found, and total num messages */
-static char curfolder[BUFSIZ]; /* name of the current folder */
+static char curfol[BUFSIZ]; /* name of the current folder */
static char *nmhdir; /* base nmh mail directory */
/*
#ifdef LOCALE
setlocale(LC_ALL, "");
#endif
- invo_name = r1bindex(argv[0], '/');
+ invo_name = mhbasename(argv[0]);
/* read user profile/context */
context_read();
foldersToDo = (char **) mh_xrealloc(foldersToDo, (size_t) (maxfolders * sizeof(*foldersToDo)));
}
if (*cp == '+' || *cp == '@') {
- foldersToDo[numfolders++] =
- pluspath(cp);
+ foldersToDo[numfolders++] = getcpy(expandfol(cp));
} else
foldersToDo[numfolders++] = cp;
}
}
- if (!context_find("path"))
- free(path("./", TFOLDER));
-
/* get current folder */
- strncpy(curfolder, getfolder(1), sizeof(curfolder));
+ strncpy(curfol, getcurfol(), sizeof(curfol));
/* get nmh base directory */
- nmhdir = m_maildir("");
+ nmhdir = toabsdir("+");
/*
** If we didn't specify any sequences, we search
GetFolderOrder();
ScanFolders();
- qsort(folders, nFolders, sizeof(struct Folder), (qsort_comp) CompareFolders);
+ qsort(folders, nFolders, sizeof(struct Folder),
+ (qsort_comp) CompareFolders);
PrintFolders();
done(0);
return 1;
if (numfolders > 0) {
/* Update context */
- strncpy(curfolder, foldersToDo[numfolders - 1],
- sizeof(curfolder));
- context_replace(pfolder, curfolder);/* update current folder */
+ strncpy(curfol, foldersToDo[numfolders - 1], sizeof(curfol));
+ context_replace(curfolder, curfol); /* update current folder */
context_save(); /* save the context file */
/*
BuildFolderList(foldersToDo[i], all ? 1 : 0);
} else {
if (all) {
- /*
- ** Do the readonly folders
- */
+ /* Do the readonly folders */
do_readonly_folders();
- /*
- ** Now scan the entire nmh directory for folders
- */
+ /* Now scan the entire nmh directory for folders */
BuildFolderList(".", 0);
} else {
- /*
- ** Else scan current folder
- */
- BuildFolderList(curfolder, 0);
+ /* Else scan current folder */
+ BuildFolderList(curfol, 0);
}
}
}
if (AddFolder(name, showzero) &&
(recurse || searchdepth) &&
st.st_nlink > 2)
- BuildFolderListRecurse(name, &st, searchdepth - 1);
+ BuildFolderListRecurse(name, &st,
+ searchdepth - 1);
}
}
closedir(dir);
if (folders[i].nSeq[j] > maxseq)
maxseq = folders[i].nSeq[j];
- /* check if this sequence is private in any of the folders */
+ /*
+ ** check if this sequence is private in any of
+ ** the folders
+ */
if (folders[i].private[j])
has_private = 1;
}
for (j = 0; j < numsequences; j++) {
if (folders[i].nSeq[j] > 0 || showzero) {
/* Add `+' to end of name of current folder */
- if (strcmp(curfolder, folders[i].name))
+ if (strcmp(curfol, folders[i].name))
snprintf(tmpname, sizeof(tmpname),
"%s", folders[i].name);
else
atrlen = strlen(atrcur);
for (np = m_defs; np; np = np->n_next)
- if (ssequal(atrcur, np->n_name)
- && !ssequal(nmhdir, np->n_name + atrlen))
+ if (isprefix(atrcur, np->n_name)
+ && !isprefix(nmhdir, np->n_name + atrlen))
BuildFolderList(np->n_name + atrlen, 0);
}