xref: /plan9/sys/src/ape/lib/ap/stdio/tmpnam.c (revision 3e12c5d1bb89fc02707907988834ef147769ddaf)
1*3e12c5d1SDavid du Colombier /*
2*3e12c5d1SDavid du Colombier  * pANS stdio -- tmpnam
3*3e12c5d1SDavid du Colombier  */
4*3e12c5d1SDavid du Colombier #include "iolib.h"
5*3e12c5d1SDavid du Colombier #include <string.h>
6*3e12c5d1SDavid du Colombier 
7*3e12c5d1SDavid du Colombier char *tmpnam(char *s){
8*3e12c5d1SDavid du Colombier 	static char name[]="/tmp/tn000000000000";
9*3e12c5d1SDavid du Colombier 	char *p;
10*3e12c5d1SDavid du Colombier 	do{
11*3e12c5d1SDavid du Colombier 		p=name+7;
12*3e12c5d1SDavid du Colombier 		while(*p=='9') *p++='0';
13*3e12c5d1SDavid du Colombier 		if(*p=='\0') return NULL;
14*3e12c5d1SDavid du Colombier 		++*p;
15*3e12c5d1SDavid du Colombier 	}while(access(name, 0)==0);
16*3e12c5d1SDavid du Colombier 	if(s){
17*3e12c5d1SDavid du Colombier 		strcpy(s, name);
18*3e12c5d1SDavid du Colombier 		return s;
19*3e12c5d1SDavid du Colombier 	}
20*3e12c5d1SDavid du Colombier 	return name;
21*3e12c5d1SDavid du Colombier }
22