X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;ds=sidebyside;f=uip%2Fprompter.c;h=6f97a8806a2a01a6fa2860285d02457add14375d;hb=2f689a1cb907a5de04e6d39ffd217a69af3216c7;hp=fd10aca29fb273277cb31ec1ddd346addafe91b4;hpb=4885712264980e6cbc2039f9158027bee9213475;p=mmh diff --git a/uip/prompter.c b/uip/prompter.c index fd10aca..6f97a88 100644 --- a/uip/prompter.c +++ b/uip/prompter.c @@ -108,6 +108,7 @@ main (int argc, char **argv) char buffer[BUFSIZ], tmpfil[BUFSIZ]; char **arguments, **argp; FILE *in, *out; + char *tfile = NULL; #ifdef LOCALE setlocale(LC_ALL, ""); @@ -185,10 +186,10 @@ main (int argc, char **argv) if ((in = fopen (drft, "r")) == NULL) adios (drft, "unable to open"); - strncpy (tmpfil, m_tmpfil (invo_name), sizeof(tmpfil)); - if ((out = fopen (tmpfil, "w")) == NULL) - adios (tmpfil, "unable to create"); + tfile = m_mktemp2(NULL, invo_name, NULL, &out); + if (tfile == NULL) adios("prompter", "unable to create temporary file"); chmod (tmpfil, 0600); + strncpy (tmpfil, tfile, sizeof(tmpfil)); /* * Are we changing the kill or erase character? @@ -400,7 +401,8 @@ no_body: unlink (tmpfil); context_save (); /* save the context file */ - return done (0); + done (0); + return 1; }