repo.or.cz
/
binutils.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
* gas/elf/elf.exp: Don't run tests on "*-*-linux*aout*" or
[binutils.git]
/
libiberty
/
tmpnam.c
blob
c06146774252f76a134a6201f035a41998a01aad
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
10
static char
tmpnam_buffer
[
L_tmpnam
];
11
static int
tmpnam_counter
;
12
13
extern
int
getpid
();
14
15
char
*
16
tmpnam
(
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
}