$OpenBSD: patch-readRC_c,v 1.1 2002/09/07 07:12:12 pvalchev Exp $ --- readRC.c.orig Tue Jun 12 13:04:32 2001 +++ readRC.c Sat Sep 7 01:02:32 2002 @@ -30,12 +30,6 @@ #include #endif -#ifdef __STDC__ -extern char *mktemp(char *); -#else -extern char *mktemp(); -#endif /* __STDC__ */ - #define RC_FILENAME ".XPaintrc" static String defaultRC[] = @@ -66,17 +60,18 @@ openTemp(char **np) { char *n; char xx[256]; + int fd; if ((n = getenv("TMPDIR")) == NULL) n = "/tmp"; - strcpy(xx, n); - strcat(xx, "/XPaintXXXXXXX"); - n = mktemp(xx); + snprintf(xx, 256, "%s/%s", n, "/XPaintXXXXXXX"); + fd = mkstemp(xx); + n = xx; tempName[++tempIndex] = XtNewString(n); if (np != NULL) *np = tempName[tempIndex]; - return fopen(tempName[tempIndex], "w"); + return fdopen(fd, "w"); } static void