X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhbuildsbr.c;h=d95eee5856188fe7bcccf70ffa55a55ebe1c8012;hp=b75034abdd84b6ee2309bdb0f65b2801fd2720ba;hb=2f689a1cb907a5de04e6d39ffd217a69af3216c7;hpb=352fe458a57061db81240c19fa4b356c7448463b diff --git a/uip/mhbuildsbr.c b/uip/mhbuildsbr.c index b75034a..d95eee5 100644 --- a/uip/mhbuildsbr.c +++ b/uip/mhbuildsbr.c @@ -414,14 +414,15 @@ user_content (FILE *in, char *file, char *buf, CT *ctp) long pos; char content[BUFSIZ]; FILE *out; + char *cp; + + cp = m_mktemp2(NULL, invo_name, NULL, &out); + if (cp == NULL) adios("mhbuildsbr", "unable to create temporary file"); /* use a temp file to collect the plain text lines */ - ce->ce_file = add (m_tmpfil (invo_name), NULL); + ce->ce_file = add (cp, NULL); ce->ce_unlink = 1; - if ((out = fopen (ce->ce_file, "w")) == NULL) - adios (ce->ce_file, "unable to open for writing"); - if (buf[0] == '#' && buf[1] == '<') { strncpy (content, buf + 2, sizeof(content)); inlineD = 1; @@ -1007,11 +1008,16 @@ compose_content (CT ct) char *vec[4], buffer[BUFSIZ]; FILE *out; CI ci = &ct->c_ctinfo; + char *tfile = NULL; if (!(cp = ci->ci_magic)) adios (NULL, "internal error(5)"); - ce->ce_file = add (m_tmpfil (invo_name), NULL); + tfile = m_mktemp2(NULL, invo_name, NULL, NULL); + if (tfile == NULL) { + adios("mhbuildsbr", "unable to create temporary file"); + } + ce->ce_file = add (tfile, NULL); ce->ce_unlink = 1; xstdout = 0; @@ -1152,14 +1158,14 @@ static int scan_content (CT ct) { int len; - int check8bit, contains8bit = 0; /* check if contains 8bit data */ - int checklinelen, linelen = 0; /* check for long lines */ - int checkboundary, boundaryclash = 0; /* check if clashes with multipart boundary */ - int checklinespace, linespace = 0; /* check if any line ends with space */ - int checkebcdic, ebcdicunsafe = 0; /* check if contains ebcdic unsafe characters */ - unsigned char *cp, buffer[BUFSIZ]; - struct text *t; - FILE *in; + int check8bit = 0, contains8bit = 0; /* check if contains 8bit data */ + int checklinelen = 0, linelen = 0; /* check for long lines */ + int checkboundary = 0, boundaryclash = 0; /* check if clashes with multipart boundary */ + int checklinespace = 0, linespace = 0; /* check if any line ends with space */ + int checkebcdic = 0, ebcdicunsafe = 0; /* check if contains ebcdic unsafe characters */ + unsigned char *cp = NULL, buffer[BUFSIZ]; + struct text *t = NULL; + FILE *in = NULL; CE ce = ct->c_cefile; /*