--- vnc_unixsrc/Xvnc/config/imake/imake.c.orig 2000-06-11 14:00:51.000000000 +0200 +++ vnc_unixsrc/Xvnc/config/imake/imake.c 2003-09-01 22:59:25.000000000 +0200 @@ -913,12 +913,25 @@ static void get_libc_version(inFile) FILE* inFile; { - char *aout = tmpnam (NULL); + char aout[PATH_MAX]; FILE *fp; const char *format = "%s -o %s -x c -"; char *cc; int len; char *command; + char *tmpdir; + int tmpfd; + + if((tmpdir = getenv("TMPDIR")) != NULL && strlen(tmpdir) < (PATH_MAX-13)) + strcpy(aout, tmpdir); + else + strcpy(aout, "/tmp"); + strcat(aout, "/imakeXXXXXX"); + + if((tmpfd = mkstemp(aout)) == -1) { + perror("mkstemp"); + abort(); + } cc = getenv ("CC"); if (cc == NULL) @@ -930,6 +943,7 @@ if (snprintf (command , len, format, cc, aout) == len) abort (); + close(tmpfd); fp = popen (command, "w"); if (fp == NULL || fprintf (fp, "%s\n", libc_c) < 0 || pclose (fp) != 0)