--- readRC.c.orig Sun Sep 3 07:07:09 2000 +++ readRC.c Fri Mar 9 03:31:53 2001 @@ -30,11 +30,13 @@ #include #endif +#ifndef HAVE_MKSTEMP #ifdef __STDC__ extern char *mktemp(char *); #else extern char *mktemp(); #endif /* __STDC__ */ +#endif #define RC_FILENAME ".XPaintrc" @@ -64,19 +66,32 @@ static FILE * openTemp(char **np) { +#ifdef HAVE_MKSTEMP + int fd; +#endif char *n; char xx[256]; if ((n = getenv("TMPDIR")) == NULL) n = "/tmp"; +#ifdef HAVE_MKSTEMP + snprintf(xx, 256, "%s/%s", n, "/XPaintXXXXXXX"); + fd = mkstemp(xx); + n = xx; +#else strcpy(xx, n); strcat(xx, "/XPaintXXXXXXX"); n = mktemp(xx); +#endif tempName[++tempIndex] = XtNewString(n); if (np != NULL) *np = tempName[tempIndex]; +#ifdef HAVE_MKSTEMP + return fdopen(fd, "w"); +#else return fopen(tempName[tempIndex], "w"); +#endif } static void