Initialize vecp in send anno()
[mmh] / uip / mhshowsbr.c
index 13a65e4..71c1699 100644 (file)
@@ -34,8 +34,8 @@ void content_error(char *, CT, char *, ...);
 void flush_errors(void);
 
 /* mhlistsbr.c */
-int list_switch(CT, int, int, int, int);
-int list_content(CT, int, int, int, int);
+int list_switch(CT, int, int, int);
+int list_content(CT, int, int, int);
 
 /*
 ** prototypes
@@ -233,13 +233,13 @@ show_content(CT ct, int alternate)
        CI ci = &ct->c_ctinfo;
 
        /* Check for mhshow-show-type/subtype */
-       snprintf(buffer, sizeof(buffer), "%s-show-%s/%s",
-                               invo_name, ci->ci_type, ci->ci_subtype);
+       snprintf(buffer, sizeof(buffer), "mhshow-show-%s/%s",
+                               ci->ci_type, ci->ci_subtype);
        if ((cp = context_find(buffer)) && *cp != '\0')
                return show_content_aux(ct, alternate, cp, NULL);
 
        /* Check for mhshow-show-type */
-       snprintf(buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type);
+       snprintf(buffer, sizeof(buffer), "mhshow-show-%s", ci->ci_type);
        if ((cp = context_find(buffer)) && *cp != '\0')
                return show_content_aux(ct, alternate, cp, NULL);
 
@@ -248,7 +248,7 @@ show_content(CT ct, int alternate)
 
        /* complain if we are not a part of a multipart/alternative */
        if (!alternate)
-               content_error(NULL, ct, "don't know how to display content");
+               return show_content_aux(ct, alternate, "%l", NULL);
 
        return NOTOK;
 }
@@ -458,9 +458,9 @@ show_content_aux2(CT ct, int alternate, char *cracked,
 
        if (xlist) {
                if (ct->c_type == CT_MULTIPART)
-                       list_content(ct, -1, 1, 0, 0);
+                       list_content(ct, -1, 0, 0);
                else
-                       list_switch(ct, -1, 1, 0, 0);
+                       list_switch(ct, -1, 0, 0);
        }
 
        fflush(stdout);
@@ -504,13 +504,13 @@ show_text(CT ct, int alternate)
        CI ci = &ct->c_ctinfo;
 
        /* Check for mhshow-show-type/subtype */
-       snprintf(buffer, sizeof(buffer), "%s-show-%s/%s",
-                       invo_name, ci->ci_type, ci->ci_subtype);
+       snprintf(buffer, sizeof(buffer), "mhshow-show-%s/%s",
+                       ci->ci_type, ci->ci_subtype);
        if ((cp = context_find(buffer)) && *cp != '\0')
                return show_content_aux(ct, alternate, cp, NULL);
 
        /* Check for mhshow-show-type */
-       snprintf(buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type);
+       snprintf(buffer, sizeof(buffer), "mhshow-show-%s", ci->ci_type);
        if ((cp = context_find(buffer)) && *cp != '\0')
                return show_content_aux(ct, alternate, cp, NULL);
 
@@ -519,15 +519,14 @@ show_text(CT ct, int alternate)
        ** if it is not a text part of a multipart/alternative
        */
        if (!alternate || ct->c_subtype == TEXT_PLAIN) {
-               if (ct->c_charset && !check_charset(ct->c_charset,
-                               strlen(ct->c_charset))) {
+               if (ct->c_charset && !is_native_charset(ct->c_charset)) {
                        snprintf(buffer, sizeof(buffer), "%%liconv -f '%s'",
                                        ct->c_charset);
                } else {
                        snprintf(buffer, sizeof(buffer), "%%lcat");
                }
-               cp = (ct->c_showproc = getcpy(buffer));
-               return show_content_aux(ct, alternate, cp, NULL);
+               ct->c_showproc = getcpy(buffer);
+               return show_content_aux(ct, alternate, ct->c_showproc, NULL);
        }
 
        return NOTOK;
@@ -545,13 +544,13 @@ show_multi(CT ct, int alternate)
        CI ci = &ct->c_ctinfo;
 
        /* Check for mhshow-show-type/subtype */
-       snprintf(buffer, sizeof(buffer), "%s-show-%s/%s",
-                       invo_name, ci->ci_type, ci->ci_subtype);
+       snprintf(buffer, sizeof(buffer), "mhshow-show-%s/%s",
+                       ci->ci_type, ci->ci_subtype);
        if ((cp = context_find(buffer)) && *cp != '\0')
                return show_multi_aux(ct, alternate, cp);
 
        /* Check for mhshow-show-type */
-       snprintf(buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type);
+       snprintf(buffer, sizeof(buffer), "mhshow-show-%s", ci->ci_type);
        if ((cp = context_find(buffer)) && *cp != '\0')
                return show_multi_aux(ct, alternate, cp);
 
@@ -850,13 +849,13 @@ show_message_rfc822(CT ct, int alternate)
        CI ci = &ct->c_ctinfo;
 
        /* Check for mhshow-show-type/subtype */
-       snprintf(buffer, sizeof(buffer), "%s-show-%s/%s",
-                               invo_name, ci->ci_type, ci->ci_subtype);
+       snprintf(buffer, sizeof(buffer), "mhshow-show-%s/%s",
+                               ci->ci_type, ci->ci_subtype);
        if ((cp = context_find(buffer)) && *cp != '\0')
                return show_content_aux(ct, alternate, cp, NULL);
 
        /* Check for mhshow-show-type */
-       snprintf(buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type);
+       snprintf(buffer, sizeof(buffer), "mhshow-show-%s", ci->ci_type);
        if ((cp = context_find(buffer)) && *cp != '\0')
                return show_content_aux(ct, alternate, cp, NULL);
 
@@ -871,7 +870,7 @@ show_message_rfc822(CT ct, int alternate)
 
        /* complain if we are not a part of a multipart/alternative */
        if (!alternate)
-               content_error(NULL, ct, "don't know how to display content");
+               return show_content_aux(ct, alternate, "%l", NULL);
 
        return NOTOK;
 }
@@ -884,8 +883,8 @@ show_message_rfc822(CT ct, int alternate)
 static int
 show_partial(CT ct, int alternate)
 {
-       content_error(NULL, ct,
-               "in order to display this message, you must reassemble it");
+       show_content_aux(ct, alternate, "%l", NULL);
+       puts("in order to display this message, you must reassemble it");
        return NOTOK;
 }
 
@@ -901,11 +900,11 @@ show_external(CT ct, int alternate)
        FILE *fp;
        char buf[BUFSIZ];
 
-       msg = add("You need to fetch the contents yourself:", NULL);
+       msg = add("You need to fetch the contents yourself:\n", NULL);
        ap = ct->c_ctinfo.ci_attrs;
        ep = ct->c_ctinfo.ci_values;
        for (; *ap; ap++, ep++) {
-               msg = add(concat("\n\t", *ap, ": ", *ep, NULL), msg);
+               msg = add(concat("\t", *ap, ": ", *ep, NULL), msg);
        }
        if (!(fp = fopen(ct->c_file, "r"))) {
                adios(ct->c_file, "unable to open");
@@ -916,9 +915,13 @@ show_external(CT ct, int alternate)
                        adios(ct->c_file, "unable to read");
                }
                *strchr(buf, '\n') = '\0';
-               msg = add(concat("\n\t", buf, NULL), msg);
+               if (!*buf) {
+                       continue;  /* skip empty lines */
+               }
+               msg = add(concat("\t", buf, "\n", NULL), msg);
        }
        fclose(fp);
-       content_error(NULL, ct, msg);
+       show_content_aux(ct, alternate, "%l", NULL);
+       fputs(msg, stdout);
        return OK;
 }