]> diplodocus.org Git - nmh/blobdiff - uip/mhoutsbr.c
Use a dynamically-allocated buffer for character set conversion, and
[nmh] / uip / mhoutsbr.c
index 9f024e08592c87708dc8af0bdf9a20050096c9f2..8f19702c5310889f72d845c84a01b2199721a0f8 100644 (file)
@@ -231,7 +231,7 @@ output_headers (CT ct, FILE *out)
 static int
 writeExternalBody (CT ct, FILE *out)
 {
 static int
 writeExternalBody (CT ct, FILE *out)
 {
-    char *cp;
+    char *cp, *dp;
     struct exbody *e = (struct exbody *) ct->c_ctparams;
                
     putc ('\n', out);
     struct exbody *e = (struct exbody *) ct->c_ctparams;
                
     putc ('\n', out);
@@ -243,7 +243,7 @@ writeExternalBody (CT ct, FILE *out)
            switch (*++cp) {
            case 'I':
                if (ct2->c_id) {
            switch (*++cp) {
            case 'I':
                if (ct2->c_id) {
-                   char *dp = trimcpy (ct2->c_id);
+                   dp = trimcpy (ct2->c_id);
 
                    fputs (dp, out);
                    free (dp);
 
                    fputs (dp, out);
                    free (dp);
@@ -251,21 +251,21 @@ writeExternalBody (CT ct, FILE *out)
                continue;
 
            case 'N':
                continue;
 
            case 'N':
-               cp = get_param(ci2->ci_first_pm, "name", '_', 0);
-               if (cp) {
-                   fputs (cp, out);
-                   free (cp);
+               dp = get_param(ci2->ci_first_pm, "name", '_', 0);
+               if (dp) {
+                   fputs (dp, out);
+                   free (dp);
                }
                continue;
 
            case 'T':
                fprintf (out, "%s/%s", ci2->ci_type, ci2->ci_subtype);
                }
                continue;
 
            case 'T':
                fprintf (out, "%s/%s", ci2->ci_type, ci2->ci_subtype);
-               cp = output_params(strlen(ci2->ci_type) +
+               dp = output_params(strlen(ci2->ci_type) +
                                   strlen(ci2->ci_subtype) + 1,
                                   ci2->ci_first_pm, NULL, 0);
                                   strlen(ci2->ci_subtype) + 1,
                                   ci2->ci_first_pm, NULL, 0);
-               if (cp) {
-                   fputs (cp, out);
-                   free (cp);
+               if (dp) {
+                   fputs (dp, out);
+                   free (dp);
                }
                continue;
 
                }
                continue;