| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/coreutils/src/src/uname.c |
| Source code | Switch to Preprocessed file |
| Line | Source | Count | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | /* uname -- print system information | - | ||||||||||||
| 2 | - | |||||||||||||
| 3 | Copyright (C) 1989-2018 Free Software Foundation, Inc. | - | ||||||||||||
| 4 | - | |||||||||||||
| 5 | This program is free software: you can redistribute it and/or modify | - | ||||||||||||
| 6 | it under the terms of the GNU General Public License as published by | - | ||||||||||||
| 7 | the Free Software Foundation, either version 3 of the License, or | - | ||||||||||||
| 8 | (at your option) any later version. | - | ||||||||||||
| 9 | - | |||||||||||||
| 10 | This program is distributed in the hope that it will be useful, | - | ||||||||||||
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | - | ||||||||||||
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | - | ||||||||||||
| 13 | GNU General Public License for more details. | - | ||||||||||||
| 14 | - | |||||||||||||
| 15 | You should have received a copy of the GNU General Public License | - | ||||||||||||
| 16 | along with this program. If not, see <https://www.gnu.org/licenses/>. */ | - | ||||||||||||
| 17 | - | |||||||||||||
| 18 | /* Written by David MacKenzie <djm@gnu.ai.mit.edu> */ | - | ||||||||||||
| 19 | - | |||||||||||||
| 20 | #include <config.h> | - | ||||||||||||
| 21 | #include <stdio.h> | - | ||||||||||||
| 22 | #include <sys/types.h> | - | ||||||||||||
| 23 | #include <sys/utsname.h> | - | ||||||||||||
| 24 | #include <getopt.h> | - | ||||||||||||
| 25 | - | |||||||||||||
| 26 | #if HAVE_SYSINFO && HAVE_SYS_SYSTEMINFO_H | - | ||||||||||||
| 27 | # include <sys/systeminfo.h> | - | ||||||||||||
| 28 | #endif | - | ||||||||||||
| 29 | - | |||||||||||||
| 30 | #if HAVE_SYS_SYSCTL_H | - | ||||||||||||
| 31 | # if HAVE_SYS_PARAM_H | - | ||||||||||||
| 32 | # include <sys/param.h> /* needed for OpenBSD 3.0 */ | - | ||||||||||||
| 33 | # endif | - | ||||||||||||
| 34 | # include <sys/sysctl.h> | - | ||||||||||||
| 35 | # ifdef HW_MODEL | - | ||||||||||||
| 36 | # ifdef HW_MACHINE_ARCH | - | ||||||||||||
| 37 | /* E.g., FreeBSD 4.5, NetBSD 1.5.2 */ | - | ||||||||||||
| 38 | # define UNAME_HARDWARE_PLATFORM HW_MODEL | - | ||||||||||||
| 39 | # define UNAME_PROCESSOR HW_MACHINE_ARCH | - | ||||||||||||
| 40 | # else | - | ||||||||||||
| 41 | /* E.g., OpenBSD 3.0 */ | - | ||||||||||||
| 42 | # define UNAME_PROCESSOR HW_MODEL | - | ||||||||||||
| 43 | # endif | - | ||||||||||||
| 44 | # endif | - | ||||||||||||
| 45 | #endif | - | ||||||||||||
| 46 | - | |||||||||||||
| 47 | #ifdef __APPLE__ | - | ||||||||||||
| 48 | # include <mach/machine.h> | - | ||||||||||||
| 49 | # include <mach-o/arch.h> | - | ||||||||||||
| 50 | #endif | - | ||||||||||||
| 51 | - | |||||||||||||
| 52 | #include "system.h" | - | ||||||||||||
| 53 | #include "die.h" | - | ||||||||||||
| 54 | #include "error.h" | - | ||||||||||||
| 55 | #include "quote.h" | - | ||||||||||||
| 56 | #include "uname.h" | - | ||||||||||||
| 57 | - | |||||||||||||
| 58 | /* The official name of this program (e.g., no 'g' prefix). */ | - | ||||||||||||
| 59 | #define PROGRAM_NAME (uname_mode == UNAME_UNAME ? "uname" : "arch") | - | ||||||||||||
| 60 | - | |||||||||||||
| 61 | #define AUTHORS proper_name ("David MacKenzie") | - | ||||||||||||
| 62 | #define ARCH_AUTHORS "David MacKenzie", "Karel Zak" | - | ||||||||||||
| 63 | - | |||||||||||||
| 64 | /* Values that are bitwise or'd into 'toprint'. */ | - | ||||||||||||
| 65 | /* Kernel name. */ | - | ||||||||||||
| 66 | #define PRINT_KERNEL_NAME 1 | - | ||||||||||||
| 67 | - | |||||||||||||
| 68 | /* Node name on a communications network. */ | - | ||||||||||||
| 69 | #define PRINT_NODENAME 2 | - | ||||||||||||
| 70 | - | |||||||||||||
| 71 | /* Kernel release. */ | - | ||||||||||||
| 72 | #define PRINT_KERNEL_RELEASE 4 | - | ||||||||||||
| 73 | - | |||||||||||||
| 74 | /* Kernel version. */ | - | ||||||||||||
| 75 | #define PRINT_KERNEL_VERSION 8 | - | ||||||||||||
| 76 | - | |||||||||||||
| 77 | /* Machine hardware name. */ | - | ||||||||||||
| 78 | #define PRINT_MACHINE 16 | - | ||||||||||||
| 79 | - | |||||||||||||
| 80 | /* Processor type. */ | - | ||||||||||||
| 81 | #define PRINT_PROCESSOR 32 | - | ||||||||||||
| 82 | - | |||||||||||||
| 83 | /* Hardware platform. */ | - | ||||||||||||
| 84 | #define PRINT_HARDWARE_PLATFORM 64 | - | ||||||||||||
| 85 | - | |||||||||||||
| 86 | /* Operating system. */ | - | ||||||||||||
| 87 | #define PRINT_OPERATING_SYSTEM 128 | - | ||||||||||||
| 88 | - | |||||||||||||
| 89 | static struct option const uname_long_options[] = | - | ||||||||||||
| 90 | { | - | ||||||||||||
| 91 | {"all", no_argument, NULL, 'a'}, | - | ||||||||||||
| 92 | {"kernel-name", no_argument, NULL, 's'}, | - | ||||||||||||
| 93 | {"sysname", no_argument, NULL, 's'}, /* Obsolescent. */ | - | ||||||||||||
| 94 | {"nodename", no_argument, NULL, 'n'}, | - | ||||||||||||
| 95 | {"kernel-release", no_argument, NULL, 'r'}, | - | ||||||||||||
| 96 | {"release", no_argument, NULL, 'r'}, /* Obsolescent. */ | - | ||||||||||||
| 97 | {"kernel-version", no_argument, NULL, 'v'}, | - | ||||||||||||
| 98 | {"machine", no_argument, NULL, 'm'}, | - | ||||||||||||
| 99 | {"processor", no_argument, NULL, 'p'}, | - | ||||||||||||
| 100 | {"hardware-platform", no_argument, NULL, 'i'}, | - | ||||||||||||
| 101 | {"operating-system", no_argument, NULL, 'o'}, | - | ||||||||||||
| 102 | {GETOPT_HELP_OPTION_DECL}, | - | ||||||||||||
| 103 | {GETOPT_VERSION_OPTION_DECL}, | - | ||||||||||||
| 104 | {NULL, 0, NULL, 0} | - | ||||||||||||
| 105 | }; | - | ||||||||||||
| 106 | - | |||||||||||||
| 107 | static struct option const arch_long_options[] = | - | ||||||||||||
| 108 | { | - | ||||||||||||
| 109 | {GETOPT_HELP_OPTION_DECL}, | - | ||||||||||||
| 110 | {GETOPT_VERSION_OPTION_DECL}, | - | ||||||||||||
| 111 | {NULL, 0, NULL, 0} | - | ||||||||||||
| 112 | }; | - | ||||||||||||
| 113 | - | |||||||||||||
| 114 | void | - | ||||||||||||
| 115 | usage (int status) | - | ||||||||||||
| 116 | { | - | ||||||||||||
| 117 | if (status != EXIT_SUCCESS)
| 3-21 | ||||||||||||
| 118 | emit_try_help (); executed 3 times by 1 test: end of blockExecuted by:
| 3 | ||||||||||||
| 119 | else | - | ||||||||||||
| 120 | { | - | ||||||||||||
| 121 | printf (_("Usage: %s [OPTION]...\n"), program_name); | - | ||||||||||||
| 122 | - | |||||||||||||
| 123 | if (uname_mode == UNAME_UNAME)
| 0-21 | ||||||||||||
| 124 | { | - | ||||||||||||
| 125 | fputs (_("\ | - | ||||||||||||
| 126 | Print certain system information. With no OPTION, same as -s.\n\ | - | ||||||||||||
| 127 | \n\ | - | ||||||||||||
| 128 | -a, --all print all information, in the following order,\n\ | - | ||||||||||||
| 129 | except omit -p and -i if unknown:\n\ | - | ||||||||||||
| 130 | -s, --kernel-name print the kernel name\n\ | - | ||||||||||||
| 131 | -n, --nodename print the network node hostname\n\ | - | ||||||||||||
| 132 | -r, --kernel-release print the kernel release\n\ | - | ||||||||||||
| 133 | "), stdout); | - | ||||||||||||
| 134 | fputs (_("\ | - | ||||||||||||
| 135 | -v, --kernel-version print the kernel version\n\ | - | ||||||||||||
| 136 | -m, --machine print the machine hardware name\n\ | - | ||||||||||||
| 137 | -p, --processor print the processor type (non-portable)\n\ | - | ||||||||||||
| 138 | -i, --hardware-platform print the hardware platform (non-portable)\n\ | - | ||||||||||||
| 139 | -o, --operating-system print the operating system\n\ | - | ||||||||||||
| 140 | "), stdout); | - | ||||||||||||
| 141 | } executed 21 times by 1 test: end of blockExecuted by:
| 21 | ||||||||||||
| 142 | else | - | ||||||||||||
| 143 | { | - | ||||||||||||
| 144 | fputs (_("\ | - | ||||||||||||
| 145 | Print machine architecture.\n\ | - | ||||||||||||
| 146 | \n\ | - | ||||||||||||
| 147 | "), stdout); | - | ||||||||||||
| 148 | } never executed: end of block | 0 | ||||||||||||
| 149 | - | |||||||||||||
| 150 | fputs (HELP_OPTION_DESCRIPTION, stdout); | - | ||||||||||||
| 151 | fputs (VERSION_OPTION_DESCRIPTION, stdout); | - | ||||||||||||
| 152 | emit_ancillary_info (PROGRAM_NAME); | - | ||||||||||||
| 153 | } executed 21 times by 1 test: end of blockExecuted by:
| 21 | ||||||||||||
| 154 | exit (status); executed 24 times by 1 test: exit (status);Executed by:
| 24 | ||||||||||||
| 155 | } | - | ||||||||||||
| 156 | - | |||||||||||||
| 157 | /* Print ELEMENT, preceded by a space if something has already been | - | ||||||||||||
| 158 | printed. */ | - | ||||||||||||
| 159 | - | |||||||||||||
| 160 | static void | - | ||||||||||||
| 161 | print_element (char const *element) | - | ||||||||||||
| 162 | { | - | ||||||||||||
| 163 | static bool printed; | - | ||||||||||||
| 164 | if (printed)
| 0-2 | ||||||||||||
| 165 | putchar (' '); never executed: putchar_unlocked (' '); | 0 | ||||||||||||
| 166 | printed = true; | - | ||||||||||||
| 167 | fputs (element, stdout); | - | ||||||||||||
| 168 | } executed 2 times by 1 test: end of blockExecuted by:
| 2 | ||||||||||||
| 169 | - | |||||||||||||
| 170 | - | |||||||||||||
| 171 | /* Set all the option flags according to the switches specified. | - | ||||||||||||
| 172 | Return the mask indicating which elements to print. */ | - | ||||||||||||
| 173 | - | |||||||||||||
| 174 | static int | - | ||||||||||||
| 175 | decode_switches (int argc, char **argv) | - | ||||||||||||
| 176 | { | - | ||||||||||||
| 177 | int c; | - | ||||||||||||
| 178 | unsigned int toprint = 0; | - | ||||||||||||
| 179 | - | |||||||||||||
| 180 | if (uname_mode == UNAME_ARCH)
| 0-29 | ||||||||||||
| 181 | { | - | ||||||||||||
| 182 | while ((c = getopt_long (argc, argv, "",
| 0 | ||||||||||||
| 183 | arch_long_options, NULL)) != -1)
| 0 | ||||||||||||
| 184 | { | - | ||||||||||||
| 185 | switch (c) | - | ||||||||||||
| 186 | { | - | ||||||||||||
| 187 | case_GETOPT_HELP_CHAR; never executed: break;never executed: case GETOPT_HELP_CHAR: | 0 | ||||||||||||
| 188 | - | |||||||||||||
| 189 | case_GETOPT_VERSION_CHAR (PROGRAM_NAME, ARCH_AUTHORS); never executed: exit ( 0 );never executed: break;never executed: case GETOPT_VERSION_CHAR: | 0 | ||||||||||||
| 190 | - | |||||||||||||
| 191 | default: never executed: default: | 0 | ||||||||||||
| 192 | usage (EXIT_FAILURE); | - | ||||||||||||
| 193 | } never executed: end of block | 0 | ||||||||||||
| 194 | } | - | ||||||||||||
| 195 | toprint = PRINT_MACHINE; | - | ||||||||||||
| 196 | } never executed: end of block | 0 | ||||||||||||
| 197 | else | - | ||||||||||||
| 198 | { | - | ||||||||||||
| 199 | while ((c = getopt_long (argc, argv, "asnrvmpio",
| 2-45 | ||||||||||||
| 200 | uname_long_options, NULL)) != -1)
| 2-45 | ||||||||||||
| 201 | { | - | ||||||||||||
| 202 | switch (c) | - | ||||||||||||
| 203 | { | - | ||||||||||||
| 204 | case 'a': executed 2 times by 1 test: case 'a':Executed by:
| 2 | ||||||||||||
| 205 | toprint = UINT_MAX; | - | ||||||||||||
| 206 | break; executed 2 times by 1 test: break;Executed by:
| 2 | ||||||||||||
| 207 | - | |||||||||||||
| 208 | case 's': executed 2 times by 1 test: case 's':Executed by:
| 2 | ||||||||||||
| 209 | toprint |= PRINT_KERNEL_NAME; | - | ||||||||||||
| 210 | break; executed 2 times by 1 test: break;Executed by:
| 2 | ||||||||||||
| 211 | - | |||||||||||||
| 212 | case 'n': executed 2 times by 1 test: case 'n':Executed by:
| 2 | ||||||||||||
| 213 | toprint |= PRINT_NODENAME; | - | ||||||||||||
| 214 | break; executed 2 times by 1 test: break;Executed by:
| 2 | ||||||||||||
| 215 | - | |||||||||||||
| 216 | case 'r': executed 2 times by 1 test: case 'r':Executed by:
| 2 | ||||||||||||
| 217 | toprint |= PRINT_KERNEL_RELEASE; | - | ||||||||||||
| 218 | break; executed 2 times by 1 test: break;Executed by:
| 2 | ||||||||||||
| 219 | - | |||||||||||||
| 220 | case 'v': executed 2 times by 1 test: case 'v':Executed by:
| 2 | ||||||||||||
| 221 | toprint |= PRINT_KERNEL_VERSION; | - | ||||||||||||
| 222 | break; executed 2 times by 1 test: break;Executed by:
| 2 | ||||||||||||
| 223 | - | |||||||||||||
| 224 | case 'm': executed 2 times by 1 test: case 'm':Executed by:
| 2 | ||||||||||||
| 225 | toprint |= PRINT_MACHINE; | - | ||||||||||||
| 226 | break; executed 2 times by 1 test: break;Executed by:
| 2 | ||||||||||||
| 227 | - | |||||||||||||
| 228 | case 'p': executed 2 times by 1 test: case 'p':Executed by:
| 2 | ||||||||||||
| 229 | toprint |= PRINT_PROCESSOR; | - | ||||||||||||
| 230 | break; executed 2 times by 1 test: break;Executed by:
| 2 | ||||||||||||
| 231 | - | |||||||||||||
| 232 | case 'i': executed 2 times by 1 test: case 'i':Executed by:
| 2 | ||||||||||||
| 233 | toprint |= PRINT_HARDWARE_PLATFORM; | - | ||||||||||||
| 234 | break; executed 2 times by 1 test: break;Executed by:
| 2 | ||||||||||||
| 235 | - | |||||||||||||
| 236 | case 'o': executed 2 times by 1 test: case 'o':Executed by:
| 2 | ||||||||||||
| 237 | toprint |= PRINT_OPERATING_SYSTEM; | - | ||||||||||||
| 238 | break; executed 2 times by 1 test: break;Executed by:
| 2 | ||||||||||||
| 239 | - | |||||||||||||
| 240 | case_GETOPT_HELP_CHAR; never executed: break;executed 21 times by 1 test: case GETOPT_HELP_CHAR:Executed by:
| 0-21 | ||||||||||||
| 241 | - | |||||||||||||
| 242 | case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS); executed 3 times by 1 test: exit ( 0 );Executed by:
never executed: break;executed 3 times by 1 test: case GETOPT_VERSION_CHAR:Executed by:
| 0-3 | ||||||||||||
| 243 | - | |||||||||||||
| 244 | default: executed 3 times by 1 test: default:Executed by:
| 3 | ||||||||||||
| 245 | usage (EXIT_FAILURE); | - | ||||||||||||
| 246 | } never executed: end of block | 0 | ||||||||||||
| 247 | } | - | ||||||||||||
| 248 | } executed 2 times by 1 test: end of blockExecuted by:
| 2 | ||||||||||||
| 249 | - | |||||||||||||
| 250 | if (argc != optind)
| 0-2 | ||||||||||||
| 251 | { | - | ||||||||||||
| 252 | error (0, 0, _("extra operand %s"), quote (argv[optind])); | - | ||||||||||||
| 253 | usage (EXIT_FAILURE); | - | ||||||||||||
| 254 | } never executed: end of block | 0 | ||||||||||||
| 255 | - | |||||||||||||
| 256 | return toprint; executed 2 times by 1 test: return toprint;Executed by:
| 2 | ||||||||||||
| 257 | } | - | ||||||||||||
| 258 | - | |||||||||||||
| 259 | int | - | ||||||||||||
| 260 | main (int argc, char **argv) | - | ||||||||||||
| 261 | { | - | ||||||||||||
| 262 | static char const unknown[] = "unknown"; | - | ||||||||||||
| 263 | - | |||||||||||||
| 264 | /* Mask indicating which elements to print. */ | - | ||||||||||||
| 265 | unsigned int toprint = 0; | - | ||||||||||||
| 266 | - | |||||||||||||
| 267 | initialize_main (&argc, &argv); | - | ||||||||||||
| 268 | set_program_name (argv[0]); | - | ||||||||||||
| 269 | setlocale (LC_ALL, ""); | - | ||||||||||||
| 270 | bindtextdomain (PACKAGE, LOCALEDIR); | - | ||||||||||||
| 271 | textdomain (PACKAGE); | - | ||||||||||||
| 272 | - | |||||||||||||
| 273 | atexit (close_stdout); | - | ||||||||||||
| 274 | - | |||||||||||||
| 275 | toprint = decode_switches (argc, argv); | - | ||||||||||||
| 276 | - | |||||||||||||
| 277 | if (toprint == 0)
| 0-2 | ||||||||||||
| 278 | toprint = PRINT_KERNEL_NAME; executed 2 times by 1 test: toprint = 1;Executed by:
| 2 | ||||||||||||
| 279 | - | |||||||||||||
| 280 | if (toprint
| 0-2 | ||||||||||||
| 281 | & (PRINT_KERNEL_NAME | PRINT_NODENAME | PRINT_KERNEL_RELEASE
| 0-2 | ||||||||||||
| 282 | | PRINT_KERNEL_VERSION | PRINT_MACHINE))
| 0-2 | ||||||||||||
| 283 | { | - | ||||||||||||
| 284 | struct utsname name; | - | ||||||||||||
| 285 | - | |||||||||||||
| 286 | if (uname (&name) == -1)
| 0-2 | ||||||||||||
| 287 | die (EXIT_FAILURE, errno, _("cannot get system name")); never executed: ((!!sizeof (struct { _Static_assert ( 1 , "verify_expr (" "1" ", " "(error (1, (*__errno_location ()), dcgettext (((void *)0), \"cannot get system name\", 5)), assume (false))" ")"); int _gl_dummy; })) ? ((error ( 1 , (*__errno_location ()) , dcgettext (((void *)0), "cannot get system name" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error ( 1 , (*__errno_location ()) , dcgettext (((void *)0), "cannot get system name" , 5) ), (( 0 ) ? (void) 0 : __builtin_unreachable ())))); | 0 | ||||||||||||
| 288 | - | |||||||||||||
| 289 | if (toprint & PRINT_KERNEL_NAME)
| 0-2 | ||||||||||||
| 290 | print_element (name.sysname); executed 2 times by 1 test: print_element (name.sysname);Executed by:
| 2 | ||||||||||||
| 291 | if (toprint & PRINT_NODENAME)
| 0-2 | ||||||||||||
| 292 | print_element (name.nodename); never executed: print_element (name.nodename); | 0 | ||||||||||||
| 293 | if (toprint & PRINT_KERNEL_RELEASE)
| 0-2 | ||||||||||||
| 294 | print_element (name.release); never executed: print_element (name.release); | 0 | ||||||||||||
| 295 | if (toprint & PRINT_KERNEL_VERSION)
| 0-2 | ||||||||||||
| 296 | print_element (name.version); never executed: print_element (name.version); | 0 | ||||||||||||
| 297 | if (toprint & PRINT_MACHINE)
| 0-2 | ||||||||||||
| 298 | print_element (name.machine); never executed: print_element (name.machine); | 0 | ||||||||||||
| 299 | } executed 2 times by 1 test: end of blockExecuted by:
| 2 | ||||||||||||
| 300 | - | |||||||||||||
| 301 | if (toprint & PRINT_PROCESSOR)
| 0-2 | ||||||||||||
| 302 | { | - | ||||||||||||
| 303 | char const *element = unknown; | - | ||||||||||||
| 304 | #if HAVE_SYSINFO && defined SI_ARCHITECTURE | - | ||||||||||||
| 305 | { | - | ||||||||||||
| 306 | static char processor[257]; | - | ||||||||||||
| 307 | if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor)) | - | ||||||||||||
| 308 | element = processor; | - | ||||||||||||
| 309 | } | - | ||||||||||||
| 310 | #endif | - | ||||||||||||
| 311 | #ifdef UNAME_PROCESSOR | - | ||||||||||||
| 312 | if (element == unknown) | - | ||||||||||||
| 313 | { | - | ||||||||||||
| 314 | static char processor[257]; | - | ||||||||||||
| 315 | size_t s = sizeof processor; | - | ||||||||||||
| 316 | static int mib[] = { CTL_HW, UNAME_PROCESSOR }; | - | ||||||||||||
| 317 | if (sysctl (mib, 2, processor, &s, 0, 0) >= 0) | - | ||||||||||||
| 318 | element = processor; | - | ||||||||||||
| 319 | - | |||||||||||||
| 320 | # ifdef __APPLE__ | - | ||||||||||||
| 321 | /* This kludge works around a bug in Mac OS X. */ | - | ||||||||||||
| 322 | if (element == unknown) | - | ||||||||||||
| 323 | { | - | ||||||||||||
| 324 | cpu_type_t cputype; | - | ||||||||||||
| 325 | size_t cs = sizeof cputype; | - | ||||||||||||
| 326 | NXArchInfo const *ai; | - | ||||||||||||
| 327 | if (sysctlbyname ("hw.cputype", &cputype, &cs, NULL, 0) == 0 | - | ||||||||||||
| 328 | && (ai = NXGetArchInfoFromCpuType (cputype, | - | ||||||||||||
| 329 | CPU_SUBTYPE_MULTIPLE)) | - | ||||||||||||
| 330 | != NULL) | - | ||||||||||||
| 331 | element = ai->name; | - | ||||||||||||
| 332 | - | |||||||||||||
| 333 | /* Hack "safely" around the ppc vs. powerpc return value. */ | - | ||||||||||||
| 334 | if (cputype == CPU_TYPE_POWERPC | - | ||||||||||||
| 335 | && STRNCMP_LIT (element, "ppc") == 0) | - | ||||||||||||
| 336 | element = "powerpc"; | - | ||||||||||||
| 337 | } | - | ||||||||||||
| 338 | # endif | - | ||||||||||||
| 339 | } | - | ||||||||||||
| 340 | #endif | - | ||||||||||||
| 341 | if (! (toprint == UINT_MAX && element == unknown))
| 0 | ||||||||||||
| 342 | print_element (element); never executed: print_element (element); | 0 | ||||||||||||
| 343 | } never executed: end of block | 0 | ||||||||||||
| 344 | - | |||||||||||||
| 345 | if (toprint & PRINT_HARDWARE_PLATFORM)
| 0-2 | ||||||||||||
| 346 | { | - | ||||||||||||
| 347 | char const *element = unknown; | - | ||||||||||||
| 348 | #if HAVE_SYSINFO && defined SI_PLATFORM | - | ||||||||||||
| 349 | { | - | ||||||||||||
| 350 | static char hardware_platform[257]; | - | ||||||||||||
| 351 | if (0 <= sysinfo (SI_PLATFORM, | - | ||||||||||||
| 352 | hardware_platform, sizeof hardware_platform)) | - | ||||||||||||
| 353 | element = hardware_platform; | - | ||||||||||||
| 354 | } | - | ||||||||||||
| 355 | #endif | - | ||||||||||||
| 356 | #ifdef UNAME_HARDWARE_PLATFORM | - | ||||||||||||
| 357 | if (element == unknown) | - | ||||||||||||
| 358 | { | - | ||||||||||||
| 359 | static char hardware_platform[257]; | - | ||||||||||||
| 360 | size_t s = sizeof hardware_platform; | - | ||||||||||||
| 361 | static int mib[] = { CTL_HW, UNAME_HARDWARE_PLATFORM }; | - | ||||||||||||
| 362 | if (sysctl (mib, 2, hardware_platform, &s, 0, 0) >= 0) | - | ||||||||||||
| 363 | element = hardware_platform; | - | ||||||||||||
| 364 | } | - | ||||||||||||
| 365 | #endif | - | ||||||||||||
| 366 | if (! (toprint == UINT_MAX && element == unknown))
| 0 | ||||||||||||
| 367 | print_element (element); never executed: print_element (element); | 0 | ||||||||||||
| 368 | } never executed: end of block | 0 | ||||||||||||
| 369 | - | |||||||||||||
| 370 | if (toprint & PRINT_OPERATING_SYSTEM)
| 0-2 | ||||||||||||
| 371 | print_element (HOST_OPERATING_SYSTEM); never executed: print_element ("GNU/Linux"); | 0 | ||||||||||||
| 372 | - | |||||||||||||
| 373 | putchar ('\n'); | - | ||||||||||||
| 374 | - | |||||||||||||
| 375 | return EXIT_SUCCESS; executed 2 times by 1 test: return 0 ;Executed by:
| 2 | ||||||||||||
| 376 | } | - | ||||||||||||
| Source code | Switch to Preprocessed file |