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