This commit was generated by cvs2svn to track changes on a CVS vendor
[deliverable/binutils-gdb.git] / libiberty / tmpnam.c
CommitLineData
252b5132
RH
1#include <stdio.h>
2
3#ifndef L_tmpnam
4#define L_tmpname 100
5#endif
6#ifndef P_tmpdir
7#define P_tmpdir "/usr/tmp"
8#endif
9
10static char tmpnam_buffer[L_tmpnam];
11static int tmpnam_counter;
12
13extern int getpid ();
14
15char *
16tmpnam (s)
17 char *s;
18{
19 int pid = getpid ();
20
21 if (s == NULL)
22 s = tmpnam_buffer;
23
24 /* Generate the filename and make sure that there isn't one called
25 it already. */
26
27 while (1)
28 {
29 FILE *f;
30 sprintf (s, "%s/%s%x.%x", P_tmpdir, "t", pid, tmpnam_counter);
31 f = fopen (s, "r");
32 if (f == NULL)
33 break;
34 tmpnam_counter++;
35 fclose (f);
36 }
37
38 return s;
39}
This page took 0.024261 seconds and 4 git commands to generate.