X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhstoresbr.c;h=1c05a42d0fd0953e77aa240207702ccd3b742ea1;hp=72694b673ef0b40468249748af13fbd7c353e265;hb=d8916ff5d389de5ab225cd6f40aeda1b285d0f28;hpb=a753601a3811c10e433dbb04d8211a3df4b99012 diff --git a/uip/mhstoresbr.c b/uip/mhstoresbr.c index 72694b6..1c05a42 100644 --- a/uip/mhstoresbr.c +++ b/uip/mhstoresbr.c @@ -20,6 +20,7 @@ #include #include #include +#include /* @@ -74,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); @@ -225,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; @@ -234,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; } @@ -565,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); @@ -863,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 @@ -1083,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 != '|' @@ -1114,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 */ }