diff --git a/src/mdadm.c b/src/mdadm.c index b95d9c38..45bf2359 100644 --- a/src/mdadm.c +++ b/src/mdadm.c @@ -49,15 +49,16 @@ static glob_t *get_arrays(void) */ void mdadm_wait(void) { - size_t i; glob_t *gl; - char cmd[160]; /* Setup kernel specific settings, e.g. allow broadcast ping, etc. */ gl = get_arrays(); if (gl) { + size_t i; + for (i = 0; i < gl->gl_pathc; i++) { - char *array; + const char *array; + char cmd[160]; array = basenm(gl->gl_pathv[i]); snprintf(cmd, sizeof(cmd), "mdadm --wait-clean /dev/%s >/dev/null", array); diff --git a/src/plugin.c b/src/plugin.c index 957f47c3..83144789 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -78,23 +78,26 @@ static char *trim_ext(char *name) int plugin_register(plugin_t *plugin) { + const char *nm; + if (!plugin) { errno = EINVAL; return 1; } /* Setup default name if none is provided */ - if (!plugin->name) { + nm = plugin->name; + if (!nm) { #ifndef ENABLE_STATIC Dl_info info; if (dladdr(plugin, &info) && info.dli_fname) - plugin->name = basenm(info.dli_fname); + nm = basenm(info.dli_fname); #endif - if (!plugin->name) - plugin->name = "unknown"; + if (!nm) + nm = "unknown"; } - plugin->name = trim_ext(strdup(plugin->name)); + plugin->name = trim_ext(strdup(nm)); /* Already registered? */ if (plugin_find(plugin->name)) { diff --git a/src/util.c b/src/util.c index 26534f8f..929e7b1c 100644 --- a/src/util.c +++ b/src/util.c @@ -152,13 +152,13 @@ char *progname(char *arg0) } /* basename(3) replacement that does not modify its argument */ -char *basenm(const char *path) +const char *basenm(const char *path) { - char *basename; + const char *basename; basename = rindex(path, '/'); if (!basename) - return (char *) path; + return path; basename++; return basename; diff --git a/src/util.h b/src/util.h index 05eecc48..e8e6542c 100644 --- a/src/util.h +++ b/src/util.h @@ -55,7 +55,7 @@ extern char *prognm; #endif char *progname (char *arg0); -char *basenm (const char *path); +const char *basenm (const char *path); char *str (char *fmt, ...) __attribute__ ((format (printf, 1, 2))); int fnread (char *buf, size_t len, char *fmt, ...) __attribute__ ((format (printf, 3, 4)));