OpenCoverage

whoami.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/coreutils/src/src/whoami.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/* whoami -- print effective userid-
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/* Equivalent to 'id -un'. */-
19/* Written by Richard Mlynarik. */-
20-
21#include <config.h>-
22#include <stdio.h>-
23#include <sys/types.h>-
24#include <pwd.h>-
25#include <getopt.h>-
26-
27#include "system.h"-
28#include "die.h"-
29#include "error.h"-
30#include "long-options.h"-
31#include "quote.h"-
32-
33/* The official name of this program (e.g., no 'g' prefix). */-
34#define PROGRAM_NAME "whoami"-
35-
36#define AUTHORS proper_name ("Richard Mlynarik")-
37-
38static struct option const long_options[] =-
39{-
40 {NULL, 0, NULL, 0}-
41};-
42-
43void-
44usage (int status)-
45{-
46 if (status != EXIT_SUCCESS)
status != 0Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • whoami
FALSEevaluated 3 times by 1 test
Evaluated by:
  • whoami
3
47 emit_try_help ();
executed 3 times by 1 test: end of block
Executed by:
  • whoami
3
48 else-
49 {-
50 printf (_("Usage: %s [OPTION]...\n"), program_name);-
51 fputs (_("\-
52Print the user name associated with the current effective user ID.\n\-
53Same as id -un.\n\-
54\n\-
55"), stdout);-
56 fputs (HELP_OPTION_DESCRIPTION, stdout);-
57 fputs (VERSION_OPTION_DESCRIPTION, stdout);-
58 emit_ancillary_info (PROGRAM_NAME);-
59 }
executed 3 times by 1 test: end of block
Executed by:
  • whoami
3
60 exit (status);
executed 6 times by 1 test: exit (status);
Executed by:
  • whoami
6
61}-
62-
63int-
64main (int argc, char **argv)-
65{-
66 struct passwd *pw;-
67 uid_t uid;-
68 uid_t NO_UID = -1;-
69-
70 initialize_main (&argc, &argv);-
71 set_program_name (argv[0]);-
72 setlocale (LC_ALL, "");-
73 bindtextdomain (PACKAGE, LOCALEDIR);-
74 textdomain (PACKAGE);-
75-
76 atexit (close_stdout);-
77-
78 parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version,-
79 usage, AUTHORS, (char const *) NULL);-
80 if (getopt_long (argc, argv, "", long_options, NULL) != -1)
getopt_long (a...d *)0) ) != -1Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • whoami
FALSEevaluated 1 time by 1 test
Evaluated by:
  • whoami
1-3
81 usage (EXIT_FAILURE);
executed 3 times by 1 test: usage ( 1 );
Executed by:
  • whoami
3
82-
83 if (optind != argc)
optind != argcDescription
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • whoami
0-1
84 {-
85 error (0, 0, _("extra operand %s"), quote (argv[optind]));-
86 usage (EXIT_FAILURE);-
87 }
never executed: end of block
0
88-
89 errno = 0;-
90 uid = geteuid ();-
91 pw = (uid == NO_UID && errno ? NULL : getpwuid (uid));
uid == NO_UIDDescription
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • whoami
(*__errno_location ())Description
TRUEnever evaluated
FALSEnever evaluated
0-1
92 if (!pw)
!pwDescription
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • whoami
0-1
93 die (EXIT_FAILURE, errno, _("cannot find name for user ID %lu"),
never executed: ((!!sizeof (struct { _Static_assert ( 1 , "verify_expr (" "1" ", " "(error (1, (*__errno_location ()), dcgettext (((void *)0), \"cannot find name for user ID %lu\", 5), (unsigned long int) uid), assume (false))" ")"); int _gl_dummy; })) ? ((error ( 1 , (*...nsigned long int) uid), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error ( 1 , (*__errno_location ()) , dcgettext (((void *)0), "cannot find name for user ID %lu" , 5) , (unsigned long int) uid), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ;
0
94 (unsigned long int) uid);
never executed: ((!!sizeof (struct { _Static_assert ( 1 , "verify_expr (" "1" ", " "(error (1, (*__errno_location ()), dcgettext (((void *)0), \"cannot find name for user ID %lu\", 5), (unsigned long int) uid), assume (false))" ")"); int _gl_dummy; })) ? ((error ( 1 , (*...nsigned long int) uid), (( 0 ) ? (void) 0 : __builtin_unreachable ()))) : ((error ( 1 , (*__errno_location ()) , dcgettext (((void *)0), "cannot find name for user ID %lu" , 5) , (unsigned long int) uid), (( 0 ) ? (void) 0 : __builtin_unreachable ())))) ;
0
95 puts (pw->pw_name);-
96 return EXIT_SUCCESS;
executed 1 time by 1 test: return 0 ;
Executed by:
  • whoami
1
97}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.1.2