static char namestr[] = "_hashXXXXXX";
char * tmpdir; int    len; static const char namestr[] = "/_hashXXXXXX"; char filename[1024]; char last;
open_temp(HTAB *hashp){#if !defined(_WIN32) && !defined(_WINDOWS) && !defined(macintosh) && !defined(XP_OS2)	sigset_t set, oset;#endif	static char namestr[] = "_hashXXXXXX";#if !defined(_WIN32) && !defined(_WINDOWS) && !defined(macintosh) && !defined(XP_OS2)	/* Block signals; make sure file goes away at process exit. */	(void)sigfillset(&set);	(void)sigprocmask(SIG_BLOCK, &set, &oset);#endif	if ((hashp->fp = mkstemp(namestr)) != -1) {		(void)unlink(namestr);#if !defined(_WIN32) && !defined(_WINDOWS) && !defined(macintosh) && !defined(XP_OS2)		(void)fcntl(hashp->fp, F_SETFD, 1);#endif									  	}#if !defined(_WIN32) && !defined(_WINDOWS) && !defined(macintosh) && !defined(XP_OS2)	(void)sigprocmask(SIG_SETMASK, &oset, (sigset_t *)NULL);#endif	return (hashp->fp != -1 ? 0 : -1);}