Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/bash/src/lib/sh/tmpfile.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||
2 | - | |||||||||||||||||||
3 | - | |||||||||||||||||||
4 | - | |||||||||||||||||||
5 | - | |||||||||||||||||||
6 | - | |||||||||||||||||||
7 | - | |||||||||||||||||||
8 | extern pid_t dollar_dollar_pid; | - | ||||||||||||||||||
9 | - | |||||||||||||||||||
10 | static char *get_sys_tmpdir (void); | - | ||||||||||||||||||
11 | static char *get_tmpdir (int); | - | ||||||||||||||||||
12 | - | |||||||||||||||||||
13 | static char *sys_tmpdir = (char *) | - | ||||||||||||||||||
14 | ((void *)0) | - | ||||||||||||||||||
15 | ; | - | ||||||||||||||||||
16 | static int ntmpfiles; | - | ||||||||||||||||||
17 | static int tmpnamelen = -1; | - | ||||||||||||||||||
18 | static unsigned long filenum = 1L; | - | ||||||||||||||||||
19 | - | |||||||||||||||||||
20 | static char * | - | ||||||||||||||||||
21 | get_sys_tmpdir () | - | ||||||||||||||||||
22 | { | - | ||||||||||||||||||
23 | if (sys_tmpdir
| 0 | ||||||||||||||||||
24 | return never executed: sys_tmpdir;return sys_tmpdir; never executed: return sys_tmpdir; | 0 | ||||||||||||||||||
25 | - | |||||||||||||||||||
26 | - | |||||||||||||||||||
27 | sys_tmpdir = | - | ||||||||||||||||||
28 | "/tmp" | - | ||||||||||||||||||
29 | ; | - | ||||||||||||||||||
30 | if (file_iswdir (sys_tmpdir)
| 0 | ||||||||||||||||||
31 | return never executed: sys_tmpdir;return sys_tmpdir; never executed: return sys_tmpdir; | 0 | ||||||||||||||||||
32 | - | |||||||||||||||||||
33 | - | |||||||||||||||||||
34 | sys_tmpdir = "/tmp"; | - | ||||||||||||||||||
35 | if (file_iswdir (sys_tmpdir)
| 0 | ||||||||||||||||||
36 | return never executed: sys_tmpdir;return sys_tmpdir; never executed: return sys_tmpdir; | 0 | ||||||||||||||||||
37 | - | |||||||||||||||||||
38 | sys_tmpdir = "/var/tmp"; | - | ||||||||||||||||||
39 | if (file_iswdir (sys_tmpdir)
| 0 | ||||||||||||||||||
40 | return never executed: sys_tmpdir;return sys_tmpdir; never executed: return sys_tmpdir; | 0 | ||||||||||||||||||
41 | - | |||||||||||||||||||
42 | sys_tmpdir = "/usr/tmp"; | - | ||||||||||||||||||
43 | if (file_iswdir (sys_tmpdir)
| 0 | ||||||||||||||||||
44 | return never executed: sys_tmpdir;return sys_tmpdir; never executed: return sys_tmpdir; | 0 | ||||||||||||||||||
45 | - | |||||||||||||||||||
46 | sys_tmpdir = "."; | - | ||||||||||||||||||
47 | - | |||||||||||||||||||
48 | return never executed: sys_tmpdir;return sys_tmpdir; never executed: return sys_tmpdir; | 0 | ||||||||||||||||||
49 | } | - | ||||||||||||||||||
50 | - | |||||||||||||||||||
51 | static char * | - | ||||||||||||||||||
52 | get_tmpdir (flags) | - | ||||||||||||||||||
53 | int flags; | - | ||||||||||||||||||
54 | { | - | ||||||||||||||||||
55 | char *tdir; | - | ||||||||||||||||||
56 | - | |||||||||||||||||||
57 | tdir = (
| 0-107 | ||||||||||||||||||
58 | ((void *)0) | - | ||||||||||||||||||
59 | ; | - | ||||||||||||||||||
60 | if (tdir
| 0-107 | ||||||||||||||||||
61 | 4096
| 0-107 | ||||||||||||||||||
62 | )) | - | ||||||||||||||||||
63 | tdir = 0; never executed: tdir = 0; | 0 | ||||||||||||||||||
64 | - | |||||||||||||||||||
65 | if (tdir == 0
| 0-107 | ||||||||||||||||||
66 | tdir = get_sys_tmpdir (); never executed: tdir = get_sys_tmpdir (); | 0 | ||||||||||||||||||
67 | - | |||||||||||||||||||
68 | - | |||||||||||||||||||
69 | if (tmpnamelen == -1
| 31-76 | ||||||||||||||||||
70 | tmpnamelen = pathconf (tdir, executed 76 times by 1 test: tmpnamelen = pathconf (tdir, _PC_NAME_MAX ); Executed by:
| 76 | ||||||||||||||||||
71 | _PC_NAME_MAX executed 76 times by 1 test: tmpnamelen = pathconf (tdir, _PC_NAME_MAX ); Executed by:
| 76 | ||||||||||||||||||
72 | ); executed 76 times by 1 test: tmpnamelen = pathconf (tdir, _PC_NAME_MAX ); Executed by:
| 76 | ||||||||||||||||||
73 | - | |||||||||||||||||||
74 | - | |||||||||||||||||||
75 | - | |||||||||||||||||||
76 | - | |||||||||||||||||||
77 | return executed 107 times by 1 test: tdir;return tdir; Executed by:
executed 107 times by 1 test: return tdir; Executed by:
| 107 | ||||||||||||||||||
78 | } | - | ||||||||||||||||||
79 | - | |||||||||||||||||||
80 | static void | - | ||||||||||||||||||
81 | sh_seedrand () | - | ||||||||||||||||||
82 | { | - | ||||||||||||||||||
83 | - | |||||||||||||||||||
84 | int d; | - | ||||||||||||||||||
85 | static int seeded = 0; | - | ||||||||||||||||||
86 | if (seeded == 0
| 0 | ||||||||||||||||||
87 | { | - | ||||||||||||||||||
88 | struct timeval tv; | - | ||||||||||||||||||
89 | - | |||||||||||||||||||
90 | gettimeofday (&tv, | - | ||||||||||||||||||
91 | ((void *)0) | - | ||||||||||||||||||
92 | ); | - | ||||||||||||||||||
93 | srandom (tv.tv_sec ^ tv.tv_usec ^ (getpid () << 16) ^ (uintptr_t)&d); | - | ||||||||||||||||||
94 | seeded = 1; | - | ||||||||||||||||||
95 | } never executed: end of block | 0 | ||||||||||||||||||
96 | - | |||||||||||||||||||
97 | } never executed: end of block | 0 | ||||||||||||||||||
98 | - | |||||||||||||||||||
99 | char * | - | ||||||||||||||||||
100 | sh_mktmpname (nameroot, flags) | - | ||||||||||||||||||
101 | char *nameroot; | - | ||||||||||||||||||
102 | int flags; | - | ||||||||||||||||||
103 | { | - | ||||||||||||||||||
104 | char *filename, *tdir, *lroot; | - | ||||||||||||||||||
105 | struct stat sb; | - | ||||||||||||||||||
106 | int r, tdlen; | - | ||||||||||||||||||
107 | static int seeded = 0; | - | ||||||||||||||||||
108 | - | |||||||||||||||||||
109 | filename = (char *)sh_xmalloc(( | - | ||||||||||||||||||
110 | 4096 | - | ||||||||||||||||||
111 | + 1), "tmpfile.c", 144); | - | ||||||||||||||||||
112 | tdir = get_tmpdir (flags); | - | ||||||||||||||||||
113 | tdlen = strlen (tdir); | - | ||||||||||||||||||
114 | - | |||||||||||||||||||
115 | lroot = nameroot
| 0 | ||||||||||||||||||
116 | - | |||||||||||||||||||
117 | - | |||||||||||||||||||
118 | sprintf (filename, "%s/%s.XXXXXX", tdir, lroot); | - | ||||||||||||||||||
119 | if (mktemp (filename) == 0
| 0 | ||||||||||||||||||
120 | { | - | ||||||||||||||||||
121 | sh_xfree((filename), "tmpfile.c", 154); | - | ||||||||||||||||||
122 | filename = | - | ||||||||||||||||||
123 | ((void *)0) | - | ||||||||||||||||||
124 | ; | - | ||||||||||||||||||
125 | } never executed: end of block | 0 | ||||||||||||||||||
126 | return never executed: filename;return filename; never executed: return filename; | 0 | ||||||||||||||||||
127 | } | - | ||||||||||||||||||
128 | - | |||||||||||||||||||
129 | int | - | ||||||||||||||||||
130 | sh_mktmpfd (nameroot, flags, namep) | - | ||||||||||||||||||
131 | char *nameroot; | - | ||||||||||||||||||
132 | int flags; | - | ||||||||||||||||||
133 | char **namep; | - | ||||||||||||||||||
134 | { | - | ||||||||||||||||||
135 | char *filename, *tdir, *lroot; | - | ||||||||||||||||||
136 | int fd, tdlen; | - | ||||||||||||||||||
137 | - | |||||||||||||||||||
138 | filename = (char *)sh_xmalloc(( | - | ||||||||||||||||||
139 | 4096 | - | ||||||||||||||||||
140 | + 1), "tmpfile.c", 190); | - | ||||||||||||||||||
141 | tdir = get_tmpdir (flags); | - | ||||||||||||||||||
142 | tdlen = strlen (tdir); | - | ||||||||||||||||||
143 | - | |||||||||||||||||||
144 | lroot = nameroot
| 0-107 | ||||||||||||||||||
145 | - | |||||||||||||||||||
146 | - | |||||||||||||||||||
147 | sprintf (filename, "%s/%s.XXXXXX", tdir, lroot); | - | ||||||||||||||||||
148 | fd = mkstemp (filename); | - | ||||||||||||||||||
149 | if (fd < 0
| 0-107 | ||||||||||||||||||
150 | { | - | ||||||||||||||||||
151 | sh_xfree((filename), "tmpfile.c", 201); | - | ||||||||||||||||||
152 | filename = | - | ||||||||||||||||||
153 | ((void *)0) | - | ||||||||||||||||||
154 | ; | - | ||||||||||||||||||
155 | } never executed: end of block | 0 | ||||||||||||||||||
156 | if (namep
| 0-107 | ||||||||||||||||||
157 | * executed 107 times by 1 test: namep = filename;*namep = filename; Executed by:
executed 107 times by 1 test: *namep = filename; Executed by:
| 107 | ||||||||||||||||||
158 | return executed 107 times by 1 test: fd;return fd; Executed by:
executed 107 times by 1 test: return fd; Executed by:
| 107 | ||||||||||||||||||
159 | } | - | ||||||||||||||||||
160 | - | |||||||||||||||||||
161 | FILE * | - | ||||||||||||||||||
162 | sh_mktmpfp (nameroot, flags, namep) | - | ||||||||||||||||||
163 | char *nameroot; | - | ||||||||||||||||||
164 | int flags; | - | ||||||||||||||||||
165 | char **namep; | - | ||||||||||||||||||
166 | { | - | ||||||||||||||||||
167 | int fd; | - | ||||||||||||||||||
168 | FILE *fp; | - | ||||||||||||||||||
169 | - | |||||||||||||||||||
170 | fd = sh_mktmpfd (nameroot, flags, namep); | - | ||||||||||||||||||
171 | if (fd < 0
| 0-2 | ||||||||||||||||||
172 | return never executed: ((FILE *)return ((FILE *) ((void *)0) ); never executed: return ((FILE *) ((void *)0) ); | 0 | ||||||||||||||||||
173 | ((void *)0) never executed: return ((FILE *) ((void *)0) ); | 0 | ||||||||||||||||||
174 | ); never executed: return ((FILE *) ((void *)0) ); | 0 | ||||||||||||||||||
175 | fp = fdopen (fd, (flags & 0x0002) ? "w+" : "w"); | - | ||||||||||||||||||
176 | if (fp == 0
| 0-2 | ||||||||||||||||||
177 | close (fd); never executed: close (fd); | 0 | ||||||||||||||||||
178 | return executed 2 times by 1 test: fp;return fp; Executed by:
executed 2 times by 1 test: return fp; Executed by:
| 2 | ||||||||||||||||||
179 | } | - | ||||||||||||||||||
Switch to Source code | Preprocessed file |