Don't treat application/octet-stream with type=tar special.
[mmh] / uip / mhstore.c
index ed36c96..992d429 100644 (file)
@@ -106,7 +106,6 @@ int show_content_aux(CT, int, char *, char *);
 static void store_single_message(CT);
 static int store_switch(CT);
 static int store_generic(CT);
-static int store_application(CT);
 static int store_multi(CT);
 static int store_partial(CT);
 static int store_external(CT);
@@ -450,9 +449,6 @@ store_switch(CT ct)
                break;
 
        case CT_APPLICATION:
-               return store_application(ct);
-               break;
-
        case CT_TEXT:
        case CT_AUDIO:
        case CT_IMAGE:
@@ -471,7 +467,7 @@ store_switch(CT ct)
 
 /*
 ** Generic routine to store a MIME content.
-** (audio, video, image, text, message/rfc922)
+** (application, audio, video, image, text, message/rfc922)
 */
 
 static int
@@ -490,73 +486,6 @@ store_generic(CT ct)
 
 
 /*
-** Store content of type "application"
-*/
-
-static int
-store_application(CT ct)
-{
-       char **ap, **ep;
-       CI ci = &ct->c_ctinfo;
-
-       /* Check if the content specifies a filename */
-       if (autosw)
-               get_storeproc(ct);
-
-       /*
-       ** If storeproc is not defined, and the content is type
-       ** "application/octet-stream", we also check for various
-       ** attribute/value pairs which specify if this a tar file.
-       */
-       if (!ct->c_storeproc && ct->c_subtype == APPLICATION_OCTETS) {
-               int tarP = 0, zP = 0, gzP = 0;
-
-               for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) {
-                       /* check for "type=tar" attribute */
-                       if (!mh_strcasecmp(*ap, "type")) {
-                               if (mh_strcasecmp(*ep, "tar"))
-                                       break;
-
-                               tarP = 1;
-                               continue;
-                       }
-
-                       /* check for "conversions=compress" attribute */
-                       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 ((!mh_strcasecmp(*ap, "conversions") ||
-                                       !mh_strcasecmp(*ap, "x-conversions"))
-                                       && (!mh_strcasecmp(*ep, "gzip") ||
-                                       !mh_strcasecmp(*ep, "x-gzip"))) {
-                               gzP = 1;
-                               continue;
-                       }
-               }
-
-               if (tarP) {
-                       ct->c_showproc = getcpy(zP ? "%euncompress | tar tvf -" : (gzP ? "%egzip -dc | tar tvf -" : "%etar tvf -"));
-                       if (!ct->c_storeproc) {
-                               if (autosw) {
-                                       ct->c_storeproc = getcpy(zP ? "| uncompress | tar xvpf -" : (gzP ? "| gzip -dc | tar xvpf -" : "| tar xvpf -"));
-                                       ct->c_umask = 0022;
-                               } else {
-                                       ct->c_storeproc= getcpy(zP ? "%m%P.tar.Z" : (gzP ? "%m%P.tar.gz" : "%m%P.tar"));
-                               }
-                       }
-               }
-       }
-
-       return store_content(ct, NULL);
-}
-
-
-/*
 ** Store the content of a multipart message
 */