]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
agetty: move username to struct agetty_options
authorKarel Zak <kzak@redhat.com>
Thu, 14 May 2026 09:47:32 +0000 (11:47 +0200)
committerKarel Zak <kzak@redhat.com>
Thu, 14 May 2026 11:14:57 +0000 (13:14 +0200)
Move the username variable from a main() local into struct
agetty_options to make it accessible from helper functions
without passing it separately.

Signed-off-by: Karel Zak <kzak@redhat.com>
agetty-cmd/agetty.c
agetty-cmd/agetty.h

index 7dcbe0cb2ed69f59e6aa685e64b35465f77dddec..78670f74cf0400dc92336b2f4eb964a662bfeb50 100644 (file)
@@ -131,7 +131,6 @@ FILE *dbf;
 
 int main(int argc, char **argv)
 {
-       char *username = NULL;                  /* login name, given to /bin/login */
        struct chardata chardata;               /* will be set by get_logname() */
        struct termios termios;                 /* terminal mode bits */
        struct agetty_options options = {
@@ -258,7 +257,7 @@ int main(int argc, char **argv)
 
        if (options.autolog) {
                debug("doing auto login\n");
-               username = options.autolog;
+               options.username = options.autolog;
        }
 
        if (options.flags & F_NOPROMPT) {       /* --skip-login */
@@ -280,7 +279,7 @@ int main(int argc, char **argv)
                } else {
                        /* Read the login name. */
                        debug("reading login name\n");
-                       while ((username =
+                       while ((options.username =
                                get_logname(&issue, &options, &termios, &chardata)) == NULL)
                                if ((options.flags & F_VCONSOLE) == 0 && options.numspeed)
                                        agetty_next_speed(&options, &termios);
@@ -303,8 +302,8 @@ int main(int argc, char **argv)
        sigaction(SIGQUIT, &sa_quit, NULL);
        sigaction(SIGINT, &sa_int, NULL);
 
-       if (username)
-               check_username(username);
+       if (options.username)
+               check_username(options.username);
 
        if (options.logopt) {
                /*
@@ -312,7 +311,7 @@ int main(int argc, char **argv)
                 * way how agetty composes login(1) command line.
                 */
                login_options_to_argv(login_argv, &login_argc,
-                                     options.logopt, username);
+                                     options.logopt, options.username);
        } else {
                if (options.flags & F_REMOTE) {
                        if (fakehost) {
@@ -321,11 +320,11 @@ int main(int argc, char **argv)
                        } else if (options.flags & F_NOHOSTNAME)
                                login_argv[login_argc++] = "-H";
                }
-               if (username) {
+               if (options.username) {
                        if (options.autolog)
                                login_argv[login_argc++] = "-f";
                        login_argv[login_argc++] = "--";
-                       login_argv[login_argc++] = username;
+                       login_argv[login_argc++] = options.username;
                }
        }
 
index 7df992f0607f512cd94f32c2a70d3fd292b14f8d..c9c328cb92e15f45f936bd494e3651936185677f 100644 (file)
@@ -68,6 +68,7 @@ struct agetty_options {
        char *issue;                    /* alternative issue file or directory */
        char *erasechars;               /* string with erase chars */
        char *killchars;                /* string with kill chars */
+       char *username;                 /* login name, given to /bin/login */
        char *osrelease;                /* /etc/os-release data */
        unsigned int delay;             /* Sleep seconds before prompt */
        int nice;                       /* Run login with this priority */