Annotation of coherent/d/lib/libc/gen/tmpnam.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Standard I/O Library.
                      3:  * Create a unique name for a temporary file ala SYS V.
                      4:  */
                      5: 
                      6: #include <stdio.h>
                      7: 
                      8: #ifdef GEMDOS
                      9: #define        FSPATHSEP       "\\"
                     10: #ifndef        P_tmpdir
                     11: #define        P_tmpdir        "\\tmp"
                     12: #endif
                     13: #endif
                     14: #ifdef DOS
                     15: #define        FSPATHSEP       "\\"
                     16: #ifndef        P_tmpdir
                     17: #define        P_tmpdir        "\\tmp"
                     18: #endif
                     19: #endif
                     20: #ifndef        FSPATHSEP
                     21: #define        FSPATHSEP       "/"
                     22: #ifndef        P_tmpdir
                     23: #define        P_tmpdir        "/tmp"
                     24: #endif
                     25: #endif
                     26: #ifndef        L_tmpnam
                     27: #define        L_tmpnam        64
                     28: #endif
                     29: #define        TEMPLATE        "tXXXXXX"
                     30: 
                     31: char   *
                     32: tmpnam(s)
                     33: register char  *s;
                     34: {
                     35:        char *name;
                     36:        static  char namebuf[L_tmpnam];
                     37:        extern  char *mktemp(), *strcpy(), *strcat();
                     38: 
                     39:        for (;;) {
                     40:                if (s == NULL)
                     41:                        s = namebuf;
                     42:                strcpy(s, P_tmpdir);
                     43:                strcat(s, FSPATHSEP);
                     44:                strcat(s, TEMPLATE);
                     45:                name = mktemp(s);
                     46:                if (access(name, 0) == -1)
                     47:                        break;
                     48:        }
                     49:        return (s);
                     50: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.