Plan 9 from Bell Labs’s /usr/web/sources/plan9/sys/src/ape/lib/ap/stdio/tmpnam.c

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


/*
 * 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;
}

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.