run_part() and run_parts() do not modify their directory, name and
action arguments.
Also include the header in the implementation to provide the prototypes.
useradd.c:2495:59: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
2495 | if (run_parts ("/etc/shadow-maint/useradd-pre.d", (char*)user_name,
| ^
useradd.c:2495:24: warning: passing argument 1 of ‘run_parts’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
2495 | if (run_parts ("/etc/shadow-maint/useradd-pre.d", (char*)user_name,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from useradd.c:45:
../lib/run_part.h:2:22: note: expected ‘char *’ but argument is of type ‘const char *’
2 | int run_parts (char *directory, char *name, char *action);
| ~~~~~~^~~~~~~~~
useradd.c:2496:25: warning: passing argument 3 of ‘run_parts’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
2496 | "useradd")) {
| ^~~~~~~~~
#include <sys/wait.h>
#include <unistd.h>
#include <lib/prototypes.h>
+#include "run_part.h"
#include "shadowlog_internal.h"
-int run_part (char *script_path, char *name, char *action)
+int run_part (char *script_path, const char *name, const char *action)
{
int pid;
int wait_status;
return (1);
}
-int run_parts (char *directory, char *name, char *action)
+int run_parts (const char *directory, const char *name, const char *action)
{
struct dirent **namelist;
int scanlist;
-int run_part (char *script_path, char *name, char *action);
-int run_parts (char *directory, char *name, char *action);
+int run_part (char *script_path, const char *name, const char *action);
+int run_parts (const char *directory, const char *name, const char *action);
(!user_id || (user_id <= uid_max && user_id >= uid_min));
#endif /* ENABLE_SUBIDS */
- if (run_parts ("/etc/shadow-maint/useradd-pre.d", (char*)user_name,
+ if (run_parts ("/etc/shadow-maint/useradd-pre.d", user_name,
"useradd")) {
exit(1);
}
create_mail ();
}
- if (run_parts ("/etc/shadow-maint/useradd-post.d", (char*)user_name,
+ if (run_parts ("/etc/shadow-maint/useradd-post.d", user_name,
"useradd")) {
exit(1);
}