X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fdist.c;h=4e83a7b46e5303be2809cefd4e5684892f7acc18;hb=5b9d883db0318ed2b84bb82dee880d7381f99188;hp=52e480eecaa963509ea51f20fced8dee78feadda;hpb=c8195849d2e366c569271abb0f5f60f4ebf0b4d0;p=mmh diff --git a/uip/dist.c b/uip/dist.c index 52e480e..4e83a7b 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 *nfs; #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); + nfs = new_fs(form, distcomps); + if (write(out, nfs, strlen(nfs)) != strlen(nfs)) { + adios(drft, "error writing"); + } close(out); if (file) {