X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhstoresbr.c;h=1c05a42d0fd0953e77aa240207702ccd3b742ea1;hp=d91b7b4566b36ad91e4250cb74916d08e16ae5dd;hb=d8916ff5d389de5ab225cd6f40aeda1b285d0f28;hpb=6c42153ad9362cc676ea66563bf400d7511b3b68 diff --git a/uip/mhstoresbr.c b/uip/mhstoresbr.c index d91b7b4..1c05a42 100644 --- a/uip/mhstoresbr.c +++ b/uip/mhstoresbr.c @@ -20,8 +20,8 @@ #include #include #include +#include -extern int errno; /* * The list of top-level contents to display @@ -75,7 +75,6 @@ static int store_external (CT); static int ct_compar (CT *, CT *); static int store_content (CT, CT); static int output_content_file (CT, int); -static int check_folder (char *); static int output_content_folder (char *, char *); static int parse_format_string (CT, char *, char *, int, char *); static void get_storeproc (CT); @@ -226,8 +225,8 @@ store_application (CT ct) for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) { /* check for "type=tar" attribute */ - if (!strcasecmp (*ap, "type")) { - if (strcasecmp (*ep, "tar")) + if (!mh_strcasecmp (*ap, "type")) { + if (mh_strcasecmp (*ep, "tar")) break; tarP = 1; @@ -235,14 +234,14 @@ store_application (CT ct) } /* check for "conversions=compress" attribute */ - if ((!strcasecmp (*ap, "conversions") || !strcasecmp (*ap, "x-conversions")) - && (!strcasecmp (*ep, "compress") || !strcasecmp (*ep, "x-compress"))) { + if ((!mh_strcasecmp (*ap, "conversions") || !mh_strcasecmp (*ap, "x-conversions")) + && (!mh_strcasecmp (*ep, "compress") || !mh_strcasecmp (*ep, "x-compress"))) { zP = 1; continue; } /* check for "conversions=gzip" attribute */ - if ((!strcasecmp (*ap, "conversions") || !strcasecmp (*ap, "x-conversions")) - && (!strcasecmp (*ep, "gzip") || !strcasecmp (*ep, "x-gzip"))) { + if ((!mh_strcasecmp (*ap, "conversions") || !mh_strcasecmp (*ap, "x-conversions")) + && (!mh_strcasecmp (*ep, "gzip") || !mh_strcasecmp (*ep, "x-gzip"))) { gzP = 1; continue; } @@ -566,13 +565,12 @@ store_content (CT ct, CT p) /* Get the folder name */ if (cp[1]) - folder = path (cp + 1, *cp == '+' ? TFOLDER : TSUBCWF); + folder = pluspath (cp); else folder = getfolder (1); /* Check if folder exists */ - if (check_folder (folder) == NOTOK) - return NOTOK; + create_folder(m_mailpath(folder), 0, exit); /* Record the folder name */ ct->c_folder = add (folder, NULL); @@ -864,47 +862,6 @@ losing: /* - * Check if folder exists, and create - * if necessary. - */ - -static int -check_folder (char *folder) -{ - char *folderdir; - struct stat st; - - /* expand path to the folder */ - folderdir = m_mailpath (folder); - - /* Check if folder exists */ - if (stat (folderdir, &st) == NOTOK) { - int answer; - char *ep; - - if (errno != ENOENT) { - advise (folderdir, "error on folder"); - return NOTOK; - } - - ep = concat ("Create folder \"", folderdir, "\"? ", NULL); - answer = getanswer (ep); - free (ep); - - if (!answer) - return NOTOK; - - if (!makedir (folderdir)) { - advise (NULL, "unable to create folder %s", folderdir); - return NOTOK; - } - } - - return OK; -} - - -/* * Add a file to a folder. * * Return the new message number of the file @@ -921,7 +878,7 @@ output_content_folder (char *folder, char *filename) /* Read the folder. */ if ((mp = folder_read (folder))) { /* Link file into folder */ - msgnum = folder_addmsg (&mp, filename, 0, 0, 0); + msgnum = folder_addmsg (&mp, filename, 0, 0, 0, 0, (char *)0); } else { advise (NULL, "unable to read folder %s", folder); return NOTOK; @@ -1084,7 +1041,7 @@ get_storeproc (CT ct) * the storeproc. */ for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) { - if (!strcasecmp (*ap, "name") + if (!mh_strcasecmp (*ap, "name") && *(cp = *ep) != '/' && *cp != '.' && *cp != '|' @@ -1115,10 +1072,10 @@ copy_some_headers (FILE *out, CT ct) * messages are not copied. */ if (!uprf (hp->name, XXX_FIELD_PRF) - && strcasecmp (hp->name, VRSN_FIELD) - && strcasecmp (hp->name, "Subject") - && strcasecmp (hp->name, "Encrypted") - && strcasecmp (hp->name, "Message-ID")) + && mh_strcasecmp (hp->name, VRSN_FIELD) + && mh_strcasecmp (hp->name, "Subject") + && mh_strcasecmp (hp->name, "Encrypted") + && mh_strcasecmp (hp->name, "Message-ID")) fprintf (out, "%s:%s", hp->name, hp->value); hp = hp->next; /* next header field */ }