X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fdist.c;h=869a906ba6137f0547c85f4b3aac03746f56e08c;hb=e711cf1c50af5e151a721f6f1690474bc9ef658d;hp=52e480eecaa963509ea51f20fced8dee78feadda;hpb=c8195849d2e366c569271abb0f5f60f4ebf0b4d0;p=mmh diff --git a/uip/dist.c b/uip/dist.c index 52e480e..869a906 100644 --- a/uip/dist.c +++ b/uip/dist.c @@ -45,6 +45,7 @@ main(int argc, char **argv) char *form = NULL, *msg = NULL, buf[BUFSIZ], drft[BUFSIZ]; char **argp, **arguments; struct msgs *mp = NULL; + char *fmtstr; #ifdef LOCALE setlocale(LC_ALL, ""); @@ -134,15 +135,14 @@ main(int argc, char **argv) if (file && (msg || folder)) adios(NULL, "can't mix files and folders/msgs"); - in = open_form(&form, distcomps); - strncpy(drft, m_draft(seq_beyond), sizeof(drft)); - if ((out = creat(drft, m_gmprot())) == NOTOK) adios(drft, "unable to create"); - cpydata(in, out, form, drft); - close(in); + fmtstr = new_fs(form, distcomps); + if (write(out, fmtstr, strlen(fmtstr)) != strlen(fmtstr)) { + adios(drft, "error writing"); + } close(out); if (file) {