|
|
1.1 ! root 1: /* ! 2: * libc/stdio/tmpfile.c ! 3: * ANSI-compliant C standard i/o library. ! 4: * tmpfile() ! 5: * ANSI 4.9.4.3. ! 6: * Create a temporary stream. ! 7: */ ! 8: ! 9: #include <stdio.h> ! 10: #include <stdlib.h> ! 11: ! 12: FILE * ! 13: tmpfile() ! 14: { ! 15: register char *name; ! 16: register FILE *fp; ! 17: ! 18: /* Allocate file name buffer. */ ! 19: if ((name = malloc((size_t)L_tmpnam)) == NULL) ! 20: return NULL; ! 21: ! 22: /* Generate a temporary file name and open the temp file. */ ! 23: if ((fp = fopen(tmpnam(name), "w+b")) == NULL) { ! 24: free(name); ! 25: return NULL; ! 26: } ! 27: ! 28: /* ! 29: * Save the name. ! 30: * The temp file will be removed and the name buffer freed when closed. ! 31: */ ! 32: fp->_f2p->_nm = name; ! 33: return fp; ! 34: } ! 35: ! 36: /* end of libc/stdio/tmpfile.c */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.