From: Christian Göttsche Date: Mon, 3 Jan 2022 11:17:22 +0000 (+0100) Subject: Do not drop const qualifier for Basename X-Git-Tag: 4.12~93^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=946eb8418244675b14efb9a5741963b6ee43a01c;p=thirdparty%2Fshadow.git Do not drop const qualifier for Basename The private Basename() implementation does not modify its argument, so a cast to a non-const char pointer is not necessary. newgrp.c:790:39: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual] 790 | progbase = (char *) Basename ((char *) prog); | ^ newgrp.c:790:20: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual] 790 | progbase = (char *) Basename ((char *) prog); | ^ shell.c:48:70: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual] 48 | (void) snprintf (arg0, sizeof arg0, "-%s", Basename ((char *) file)); | ^ --- diff --git a/libmisc/shell.c b/libmisc/shell.c index 297240639..7c67500d0 100644 --- a/libmisc/shell.c +++ b/libmisc/shell.c @@ -45,7 +45,7 @@ int shell (const char *file, /*@null@*/const char *arg, char *const envp[]) * don't want to tell us what it is themselves. */ if (arg == (char *) 0) { - (void) snprintf (arg0, sizeof arg0, "-%s", Basename ((char *) file)); + (void) snprintf (arg0, sizeof arg0, "-%s", Basename (file)); arg0[sizeof arg0 - 1] = '\0'; arg = arg0; } diff --git a/src/newgrp.c b/src/newgrp.c index cb88f6d7e..998208321 100644 --- a/src/newgrp.c +++ b/src/newgrp.c @@ -379,7 +379,7 @@ int main (int argc, char **argv) int err = 0; gid_t gid; char *cp; - char *progbase; + const char *progbase; const char *name, *prog; char *group = NULL; char *command = NULL; @@ -787,7 +787,7 @@ int main (int argc, char **argv) * Now I try to find the basename of the login shell. This will * become argv[0] of the spawned command. */ - progbase = (char *) Basename ((char *) prog); + progbase = Basename (prog); /* * Switch back to her home directory if i am doing login