shithub: riscv

ref: 5c448c618a89ab8933838da1b5b97ed7c4a42e08
dir: /sys/src/ape/lib/ap/stdio/tmpnam.c/

View raw version
/*
 * pANS stdio -- tmpnam
 */
#include "iolib.h"
#include <string.h>

char *
tmpnam(char *s)
{
	static char name[] = "/tmp/tn000000000000";
	char *p;

	do {
		p = name + 7;
		while (*p == '9')
			*p++ = '0';
		if (*p == '\0')
			return NULL;
		++*p;
	} while (access(name, 0) == 0);
	if (s) {
		strcpy(s, name);
		return s;
	}
	return name;
}


char *
tmpnam_r(char *s)
{
	return s ? tmpnam(s) : NULL;
}