home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <time.h>
- #include <stdlib.h>
- #include <string.h>
-
- char *tmpnam(char *buf)
- {
- char pbuf[STACKPAD];
- char ibuf[256];
- time_t time1;
- struct tm *ltime;
- int i,q=0;
- FILE *fil;
- time(&time1);
- ltime = localtime(&time1);
- while (1) {
- ibuf[0] = (char)(ltime->tm_year/26);
- ibuf[1] = (char)ltime->tm_mon;
- ibuf[2] = (char)ltime->tm_mday;
- ibuf[3] = (char)ltime->tm_hour;
- ibuf[4] = (char)(ltime->tm_min/36);
- ibuf[5] = (char)(ltime->tm_min%36);
- ibuf[6] = (char)(ltime->tm_sec/36);
- ibuf[7] = (char)(ltime->tm_sec%36);
- ibuf[8] = '.';
- ibuf[9] = 'T';
- ibuf[10] = 'M';
- ibuf[11] = 'P';
- ibuf[12] = 0;
- for (i=0; i < 8; i++) {
- ibuf[i] += 'A';
- if (ibuf[i] > 'Z')
- ibuf[i]+= '0' - 'A';
- }
- fil = fopen(ibuf,"rb");
- if (!fil)
- break;
- fclose(fil);
- if (q % 26 == 0) {
- ltime->tm_mon++;
- if (ltime->tm_mon > 11)
- ltime->tm_mon = 0;
- }
- q++;
- ltime->tm_year++;
- }
- if (buf) {
- strcpy(buf,ibuf);
- return buf;
- }
- else
- return &ibuf;
- }
- FILE *tmpfile(void)
- {
- char buf[20];
- FILE *stream = fopen(tmpnam(buf),"wb+");
- if (stream)
- stream->istemp = 1;
- return stream;
- }