xref: /plan9/sys/src/libstdio/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 
tmpnam(char * s)6*3e12c5d1SDavid du Colombier char *tmpnam(char *s){
7*3e12c5d1SDavid du Colombier 	static char name[]="/tmp/tn000000000000";
8*3e12c5d1SDavid du Colombier 	char *p;
9*3e12c5d1SDavid du Colombier 	do{
10*3e12c5d1SDavid du Colombier 		p=name+7;
11*3e12c5d1SDavid du Colombier 		while(*p=='9') *p++='0';
12*3e12c5d1SDavid du Colombier 		if(*p=='\0') return NULL;
13*3e12c5d1SDavid du Colombier 		++*p;
14*3e12c5d1SDavid du Colombier 	}while(access(name, 0)==0);
15*3e12c5d1SDavid du Colombier 	if(s){
16*3e12c5d1SDavid du Colombier 		strcpy(s, name);
17*3e12c5d1SDavid du Colombier 		return s;
18*3e12c5d1SDavid du Colombier 	}
19*3e12c5d1SDavid du Colombier 	return name;
20*3e12c5d1SDavid du Colombier }
21