X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/4a78cbcd4fa986d9c1e7bd0a5a4bdb619faeb7cb..f1920d78123667716f2321d37ce37628603b2700:/uip/forwsbr.c diff --git a/uip/forwsbr.c b/uip/forwsbr.c index 90838e24..97d1f3d3 100644 --- a/uip/forwsbr.c +++ b/uip/forwsbr.c @@ -49,7 +49,8 @@ build_form (char *form, char *digest, int *dat, char *from, char *to, int fmtsize, state; int i; register char *nfs; - char *line, tmpfil[BUFSIZ], name[NAMESZ], **ap; + char tmpfil[BUFSIZ], name[NAMESZ], **ap; + charstring_t line; FILE *tmp; register struct comp *cptr; struct format *fmt; @@ -178,14 +179,14 @@ finished: adios(NULL, "unable to create temporary file in %s", get_temp_dir()); } strncpy (tmpfil, cp, sizeof(tmpfil)); - unlink (tmpfil); + (void) m_unlink (tmpfil); if ((in = dup (fileno (tmp))) == NOTOK) adios ("dup", "unable to"); - line = mh_xmalloc ((unsigned) fmtsize); - fmt_scan (fmt, line, fmtsize - 1, fmtsize, dat, NULL); - fputs (line, tmp); - free (line); + line = charstring_create (fmtsize); + fmt_scan (fmt, line, fmtsize, dat, NULL); + fputs (charstring_buffer (line), tmp); + charstring_free (line); if (fclose (tmp)) adios (tmpfil, "error writing");