archie/tcl7.6/compat/tmpnam.c
2024-05-27 16:40:40 +02:00

43 lines
1.0 KiB
C

/*
* Copyright (c) 1988 Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms are permitted
* provided that this notice is preserved and that due credit is given
* to the University of California at Berkeley. The name of the University
* may not be used to endorse or promote products derived from this
* software without specific written prior permission. This software
* is provided ``as is'' without express or implied warranty.
*
* SCCS: @(#) tmpnam.c 1.3 96/02/15 12:08:25
*/
#include <sys/param.h>
#include <sys/stat.h>
#include <sys/file.h>
#include <stdio.h>
/*
* Use /tmp instead of /usr/tmp, because L_tmpname is only 14 chars
* on some machines (like NeXT machines) and /usr/tmp will cause
* buffer overflows.
*/
#ifdef P_tmpdir
# undef P_tmpdir
#endif
#define P_tmpdir "/tmp"
char *
tmpnam(s)
char *s;
{
static char name[50];
char *mktemp();
if (!s)
s = name;
(void)sprintf(s, "%s/XXXXXX", P_tmpdir);
return(mktemp(s));
}