home *** CD-ROM | disk | FTP | other *** search
-
- Listing 3 -- the file tmpnam.c
-
- /* tmpnam function -- UNIX version */
- #include <string.h>
- #include "xstdio.h"
-
- /* UNIX system call */
- int _Getpid(void);
-
- char *(tmpnam)(char *s)
- { /* create a temporary file name */
- int i;
- char *p;
- unsigned short t;
- static char buf[L_tmpnam];
- static unsigned short seed = 0;
-
- if (s == NULL)
- s = buf;
- seed = seed == 0 ? _Getpid() : seed + 1;
- strcpy(s, "/tmp/t");
- i = 5;
- p = s + strlen(s) + i;
- *p = '\0';
- for (t = seed; 0 <= --i; t >>= 3)
- *--p = '0' + (t & 07);
- return (s);
- }
-
-