]> diplodocus.org Git - nmh/blobdiff - uip/flist.c
lock_file.c: close(2) file descriptor on failure, avoiding leak.
[nmh] / uip / flist.c
index aaf54f20bee846f0404a68484a4e37e8746aafc2..f40f010dee9e7b8afd42b35050e27a17683055df 100644 (file)
@@ -15,6 +15,7 @@
 
 #include <h/mh.h>
 #include <h/utils.h>
+#include "sbr/m_maildir.h"
 
 /*
  * We allocate space to record the names of folders
@@ -72,11 +73,11 @@ static int maxfolders;
 /* info on sequences to search for */
 static svector_t sequencesToDo;
 
-static int all        = FALSE;  /* scan all folders in top level?           */
-static int alphaOrder = FALSE; /* want alphabetical order only             */
-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    *
+static bool all;                /* scan all folders in top level? */
+static bool alphaOrder;         /* want alphabetical order only */
+static bool recurse;            /* show nested folders? */
+static bool showzero = true;    /* show folders even if no messages in seq? */
+static bool Total = true;       /* display info on number of messages in
                                 * sequence found, and total num messages   */
 
 static char curfolder[BUFSIZ]; /* name of the current folder */
@@ -89,17 +90,17 @@ static char *nmhdir;                /* base nmh mail directory    */
 typedef int (*qsort_comp) (const void *, const void *);
 
 /*
- * prototypes
+ * static prototypes
  */
-int CompareFolders(struct Folder *, struct Folder *);
-void GetFolderOrder(void);
-void ScanFolders(void);
-int AddFolder(char *, int);
-void BuildFolderList(char *, int);
-void BuildFolderListRecurse(char *, struct stat *, int);
-void PrintFolders(void);
-void AllocFolders(struct Folder **, int *, int);
-int AssignPriority(char *);
+static int CompareFolders(struct Folder *, struct Folder *);
+static void GetFolderOrder(void);
+static void ScanFolders(void);
+static int AddFolder(char *, int);
+static void BuildFolderList(char *, int);
+static void BuildFolderListRecurse(char *, struct stat *, int);
+static void PrintFolders(void);
+static void AllocFolders(struct Folder **, int *, int);
+static int AssignPriority(char *);
 static void do_readonly_folders(void);
 
 
@@ -157,41 +158,41 @@ main(int argc, char **argv)
                break;
 
            case ALLSW:
-               all = TRUE;
+               all = true;
                break;
            case NOALLSW:
-               all = FALSE;
+               all = false;
                break;
 
            case SHOWZERO:
-               showzero = TRUE;
+               showzero = true;
                break;
            case NOSHOWZERO:
-               showzero = FALSE;
+               showzero = false;
                break;
 
            case ALPHASW:
-               alphaOrder = TRUE;
+               alphaOrder = true;
                break;
            case NOALPHASW:
-               alphaOrder = FALSE;
+               alphaOrder = false;
                break;
 
            case NOFASTSW:
            case TOTALSW:
-               Total = TRUE;
+               Total = true;
                break;
 
            case FASTSW:
            case NOTOTALSW:
-               Total = FALSE;
+               Total = false;
                break;
 
            case RECURSE:
-               recurse = TRUE;
+               recurse = true;
                break;
            case NORECURSE:
-               recurse = FALSE;
+               recurse = false;
                break;
            }
        } else {
@@ -253,7 +254,7 @@ main(int argc, char **argv)
  * how to sort folders for output.
  */
 
-void
+static void
 GetFolderOrder(void)
 {
     char *p, *s;
@@ -285,7 +286,7 @@ GetFolderOrder(void)
  * Scan all the necessary folders
  */
 
-void
+static void
 ScanFolders(void)
 {
     int i;
@@ -334,7 +335,7 @@ ScanFolders(void)
  * the top of our search tree.
  */
 
-void
+static void
 BuildFolderList(char *dirName, int searchdepth)
 {
     struct stat st;
@@ -365,7 +366,7 @@ BuildFolderList(char *dirName, int searchdepth)
  * Recursive building of folder list
  */
 
-void
+static void
 BuildFolderListRecurse(char *dirName, struct stat *s, int searchdepth)
 {
     char *base, name[PATH_MAX];
@@ -409,7 +410,7 @@ BuildFolderListRecurse(char *dirName, struct stat *s, int searchdepth)
        /* Check to see if the name of the file is a number
         * if it is, we assume it's a mail file and skip it
         */
-       for (n = dp->d_name; *n && isdigit((unsigned char) *n); n++);
+       for (n = dp->d_name; isdigit((unsigned char)*n); n++);
        if (!*n)
            continue;
        strncpy (name, base, sizeof(name) - 2);
@@ -437,7 +438,7 @@ BuildFolderListRecurse(char *dirName, struct stat *s, int searchdepth)
  * messages and the number of messages in each sequence.
  */
 
-int
+static int
 AddFolder(char *name, int force)
 {
     unsigned int i;
@@ -515,7 +516,7 @@ AddFolder(char *name, int force)
  * Print the folder/sequence information
  */
 
-void
+static void
 PrintFolders(void)
 {
     char tmpname[BUFSIZ];
@@ -594,7 +595,7 @@ PrintFolders(void)
  * Put them in priority order.
  */
 
-int
+static int
 CompareFolders(struct Folder *f1, struct Folder *f2)
 {
     if (!alphaOrder && f1->priority != f2->priority)
@@ -606,7 +607,7 @@ CompareFolders(struct Folder *f1, struct Folder *f2)
  * Make sure we have at least n folders allocated.
  */
 
-void
+static void
 AllocFolders(struct Folder **f, int *nfa, int n)
 {
     if (n <= *nfa)
@@ -624,7 +625,7 @@ AllocFolders(struct Folder **f, int *nfa, int n)
  * Return the priority for a name.  The highest comes from an exact match.
  * After that, the longest match (then first) assigns the priority.
  */
-int
+static int
 AssignPriority(char *name)
 {
     int i, ol, nl;