X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fdist.c;h=39d65253f256a35560b74dfd55bb03665107b1f5;hp=52e480eecaa963509ea51f20fced8dee78feadda;hb=84c6039eb7226c0ba0a8f708205e33d10950d2ae;hpb=4150402bbbee49b71286c9d278b5e7e9a5401bc2 diff --git a/uip/dist.c b/uip/dist.c index 52e480e..39d6525 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, NULL, distcomps, NULL); + if (write(out, nfs, strlen(nfs)) != strlen(nfs)) { + adios(drft, "error writing"); + } close(out); if (file) {