#include <h/fmt_scan.h>
#include <h/mime.h>
#include <h/mhparse.h>
+#include "h/done.h"
#include <h/utils.h>
-#include "../sbr/m_mktemp.h"
-#include "../sbr/message_id.h"
-#include "../sbr/mime_type.h"
+#include "h/mhcachesbr.h"
+#include "mhmisc.h"
+#include "sbr/m_mktemp.h"
+#include "sbr/message_id.h"
+#include "sbr/mime_type.h"
#include "mhfree.h"
#include "mhshowsbr.h"
} convert_list;
-/* mhmisc.c */
-void content_error (char *, CT, char *, ...);
-
-/* mhcachesbr.c */
-int find_cache (CT, int, int *, char *, char *, int);
-
/*
* static prototypes
*/
CT *ctp;
convert_list *next;
- done = freects_done;
+ set_done(freects_done);
/* In case there are multiple calls that land here, prevent leak. */
for (ctp = cts; ctp && *ctp; ++ctp) { free_content (*ctp); }
ct->c_ceclosefnx = close_encoding;
ct->c_cesizefnx = NULL; /* since unencoded */
ct->c_encoding = CE_7BIT; /* Seems like a reasonable default */
- ct->c_file = add(filename, NULL);
+ ct->c_file = mh_xstrdup(FENDNULL(filename));
return OK;
}
default:
if (!ce->ce_file) {
pid_t child_id;
- int i, xstdout, len, buflen;
+ int xstdout, len, buflen;
char *bp, *cp;
char *vec[4], buffer[BUFSIZ];
FILE *out;
if ((out = fopen (ce->ce_file, "w")) == NULL)
adios (ce->ce_file, "unable to open for writing");
- for (i = 0; (child_id = fork()) == NOTOK && i > 5; i++)
- sleep (5);
+ child_id = fork();
switch (child_id) {
case NOTOK:
adios ("fork", "unable to fork");
execvp ("/bin/sh", vec);
fprintf (stderr, "unable to exec ");
perror ("/bin/sh");
- _exit (-1);
+ _exit(1);
/* NOTREACHED */
default:
}
}
- return (boundaryclash ? NOTOK : OK);
+ return boundaryclash ? NOTOK : OK;
}
np = output_params(len, ct->c_dispo_first, NULL, 0);
vp = add(np, vp);
vp = add("\n", vp);
- mh_xfree(np);
+ free(np);
add_header (ct, mh_xstrdup(DISPO_FIELD), vp);
}
for (pm = ct->c_ctinfo.ci_first_pm; pm; pm = pm->pm_next) {
if (strcasecmp(pm->pm_name, "name") == 0) {
- mh_xfree(pm->pm_value);
+ free(pm->pm_value);
pm->pm_value = mh_xstrdup(simplename);
break;
}
init_decoded_content (reply_ct, infile);
if (extract_headers (reply_ct, reply_file, &reply_fp) == NOTOK) {
- free (reply_file);
inform("failed to extract headers from convert output in %s, "
"continuing...", reply_file);
+ free(reply_file);
return;
}