| 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 |