X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/aad7213c7ebca96dff5f141e0e26a165eba4e6b8..edcbc70e11973f191f960a4102708b195dc378bf:/uip/mhbuildsbr.c diff --git a/uip/mhbuildsbr.c b/uip/mhbuildsbr.c index 7c957b08..4af6e590 100644 --- a/uip/mhbuildsbr.c +++ b/uip/mhbuildsbr.c @@ -22,9 +22,11 @@ #include #include #include -#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" @@ -55,12 +57,6 @@ typedef struct convert_list { } convert_list; -/* mhmisc.c */ -void content_error (char *, CT, char *, ...); - -/* mhcachesbr.c */ -int find_cache (CT, int, int *, char *, char *, int); - /* * static prototypes */ @@ -243,11 +239,11 @@ build_mime (char *infile, int autobuild, int dist, int directives, attach_head = attach_tail = entry; } } else if (strncasecmp(MHBUILD_FILE_PSEUDOHEADER, np, - strlen (MHBUILD_FILE_PSEUDOHEADER)) == 0) { + LEN(MHBUILD_FILE_PSEUDOHEADER)) == 0) { /* E.g., * Nmh-mhbuild-file-text/calendar: /home/user/Mail/inbox/9 */ - char *type = np + strlen (MHBUILD_FILE_PSEUDOHEADER); + char *type = np + LEN(MHBUILD_FILE_PSEUDOHEADER); char *filename = vp; /* vp should begin with a space because m_getfld2() @@ -283,11 +279,11 @@ build_mime (char *infile, int autobuild, int dist, int directives, free (vp); free (np); } else if (strncasecmp(MHBUILD_ARGS_PSEUDOHEADER, np, - strlen (MHBUILD_ARGS_PSEUDOHEADER)) == 0) { + LEN(MHBUILD_ARGS_PSEUDOHEADER)) == 0) { /* E.g., * Nmh-mhbuild-args-text/calendar: -reply accept */ - char *type = np + strlen (MHBUILD_ARGS_PSEUDOHEADER); + char *type = np + LEN(MHBUILD_ARGS_PSEUDOHEADER); char *argstring = vp; /* vp should begin with a space because m_getfld2() @@ -590,7 +586,7 @@ init_decoded_content (CT ct, const char *filename) 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; } @@ -710,7 +706,7 @@ user_content (FILE *in, char *buf, CT *ctp, const char *infilename) int i; if (headers >= 0 && do_direct() && uprf (buffer, DESCR_FIELD) - && buffer[i = strlen (DESCR_FIELD)] == ':') { + && buffer[i = LEN(DESCR_FIELD)] == ':') { headers = 1; again_descr: @@ -733,7 +729,7 @@ again_descr: } if (headers >= 0 && do_direct() && uprf (buffer, DISPO_FIELD) - && buffer[i = strlen (DISPO_FIELD)] == ':') { + && buffer[i = LEN(DISPO_FIELD)] == ':') { headers = 1; again_dispo: @@ -1225,7 +1221,7 @@ compose_content (CT ct, int verbose) 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; @@ -1325,8 +1321,7 @@ raw: 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"); @@ -1670,7 +1665,7 @@ build_headers (CT ct, int header_encoding) vp = concat (" ", ci->ci_type, "/", ci->ci_subtype, NULL); /* keep track of length of line */ - len = strlen (TYPE_FIELD) + strlen (ci->ci_type) + len = LEN(TYPE_FIELD) + strlen (ci->ci_type) + strlen (ci->ci_subtype) + 3; extbody = ct->c_type == CT_MESSAGE && ct->c_subtype == MESSAGE_EXTERNAL; @@ -1745,7 +1740,7 @@ build_headers (CT ct, int header_encoding) add_header (ct, np, vp); } else if (ct->c_dispo_type) { vp = concat (" ", ct->c_dispo_type, NULL); - len = strlen(DISPO_FIELD) + strlen(vp) + 1; + len = LEN(DISPO_FIELD) + strlen(vp) + 1; np = output_params(len, ct->c_dispo_first, NULL, 0); vp = add(np, vp); vp = add("\n", vp); @@ -2241,9 +2236,9 @@ expand_pseudoheader (CT ct, CT *text_plain_ct, struct multipart *m, 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; } @@ -2365,8 +2360,8 @@ extract_headers (CT ct, char *reply_file, FILE **reply_fp) { buffer[statbuf.st_size] = '\0'; /* Look for a header in the convert reply. */ - if (strncasecmp (buffer, TYPE_FIELD, strlen (TYPE_FIELD)) == 0 && - buffer[strlen (TYPE_FIELD)] == ':') { + if (strncasecmp (buffer, TYPE_FIELD, LEN(TYPE_FIELD)) == 0 && + buffer[LEN(TYPE_FIELD)] == ':') { if ((end_of_header = strstr (buffer, "\r\n\r\n"))) { end_of_header += 2; found_header = 1;