head	1.1;
access;
symbols
	version39-41:1.1;
locks;
comment	@ * @;


1.1
date	92.06.08.18.31.20;	author mwild;	state Exp;
branches;
next	;


desc
@initial checkin
@


1.1
log
@Initial revision
@
text
@/*	@@(#)tmpnam.c	1.2	*/
/*LINTLIBRARY*/

#define KERNEL
#include "ixemul.h"

/* for L_tmpnam and P_tmpdir */
#include <stdio.h>

/*
 * NOTE: this uses a static buffer, but since we want to generate `random'
 *       filenames, this isn't as bad as one might think :-)
 */

extern char *mktemp(), *strcpy(), *strcat();
static char seed[] = { 'a', 'a', 'a', '\0' };

char *
tmpnam(char *s)
{
	register char *p, *q;

	p = (s == NULL)? syscall (SYS_malloc, L_tmpnam): s;
	(void) strcpy(p, P_tmpdir);
	(void) strcat(p, seed);
	(void) strcat(p, "XXXXXX");

	q = seed;
	while(*q == 'z')
		*q++ = 'a';
	++*q;

	(void) mktemp(p);
	return(p);
}
@
