su: Fix running it without arguments The commit 8f5a0c3 introduced a regression and the logic to control the number of arguments was broken after it, giving an error when su was executed without parameters. - ubase - suckless linux base utils
 (HTM) git clone git://git.suckless.org/ubase
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit a570a80ed1606bed43118cb148fc83c3ac22b5c1
 (DIR) parent 4cd0b143801b1135abd2b7012cfed020710a4e68
 (HTM) Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
       Date:   Thu,  7 Mar 2024 22:35:31 +0100
       
       su: Fix running it without arguments
       The commit 8f5a0c3 introduced a regression and the logic
       to control the number of arguments was broken after it,
       giving an error when su was executed without parameters.
       
       Diffstat:
         M su.c                                |       6 +++---
       
       1 file changed, 3 insertions(+), 3 deletions(-)
       ---
 (DIR) diff --git a/su.c b/su.c
       @@ -26,7 +26,7 @@ usage(void)
        int
        main(int argc, char *argv[])
        {
       -        char *usr = "root", *pass;
       +        char *usr, *pass;
                char *shell, *envshell, *term;
                struct passwd *pw;
                char *newargv[3];
       @@ -43,9 +43,9 @@ main(int argc, char *argv[])
                        usage();
                } ARGEND;
        
       -        if (argc != 1)
       +        if (argc > 1)
                        usage();
       -        usr = argv[0];
       +        usr = argc > 0 ? argv[0] : "root";
        
                errno = 0;
                pw = getpwnam(usr);