X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Ffolder.c;h=f50d3f51c4d51d8aba4619a068739acbbfc29d2f;hp=d6cb5b5c90702662726d9cf1b210c20b57a75aa0;hb=38615191e71744b066425e0c44412b62dbe49cc2;hpb=008837e090c008e3afe7a9c8667070bafa091e62 diff --git a/uip/folder.c b/uip/folder.c index d6cb5b5..f50d3f5 100644 --- a/uip/folder.c +++ b/uip/folder.c @@ -121,7 +121,6 @@ static int maxFolderInfo; static void dodir (char *); static int get_folder_info (char *, char *); static void print_folders (void); -static int num_digits (int); static int sfold (struct msgs *, char *); static void addir (char *); static void addfold (char *); @@ -136,7 +135,6 @@ main (int argc, char **argv) int pushsw = 0, popsw = 0; char *cp, *dp, *msg = NULL, *argfolder = NULL; char **ap, **argp, buf[BUFSIZ], **arguments; - struct stat st; #ifdef LOCALE setlocale(LC_ALL, ""); @@ -261,7 +259,7 @@ main (int argc, char **argv) if (argfolder) adios (NULL, "only one folder at a time!"); else - argfolder = path (cp + 1, *cp == '+' ? TFOLDER : TSUBCWF); + argfolder = pluspath (cp); } else { if (msg) adios (NULL, "only one (current) message at a time!"); @@ -393,22 +391,7 @@ main (int argc, char **argv) * Check if folder exists. If not, then see if * we should create it, or just exit. */ - if (stat (strncpy (buf, m_maildir (folder), sizeof(buf)), &st) == -1) { - if (errno != ENOENT) - adios (buf, "error on folder"); - if (fcreat == 0) { - /* ask before creating folder */ - cp = concat ("Create folder \"", buf, "\"? ", NULL); - if (!getanswer (cp)) - done (1); - free (cp); - } else if (fcreat == -1) { - /* do not create, so exit */ - done (1); - } - if (!makedir (buf)) - adios (NULL, "unable to create folder %s", buf); - } + create_folder (m_maildir (folder), fcreat, done); if (get_folder_info (folder, msg) && argfolder) { /* update current folder */ @@ -422,7 +405,8 @@ main (int argc, char **argv) print_folders(); context_save (); /* save the context file */ - return done (0); + done (0); + return 1; } /* @@ -656,29 +640,6 @@ print_folders (void) } /* - * Calculate the number of digits in a nonnegative integer - */ -int -num_digits (int n) -{ - int ndigits = 0; - - /* Sanity check */ - if (n < 0) - adios (NULL, "oops, num_digits called with negative value"); - - if (n == 0) - return 1; - - while (n) { - n /= 10; - ndigits++; - } - - return ndigits; -} - -/* * Set the current message and sychronize sequences */