diff options
Diffstat (limited to 'src/udev/udev-builtin-kmod.c')
-rw-r--r-- | src/udev/udev-builtin-kmod.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/udev/udev-builtin-kmod.c b/src/udev/udev-builtin-kmod.c index 57e2a9af7f..a8792e097f 100644 --- a/src/udev/udev-builtin-kmod.c +++ b/src/udev/udev-builtin-kmod.c @@ -38,10 +38,10 @@ static struct kmod_ctx *ctx; static int load_module(struct udev *udev, const char *alias) { + int err; #ifdef HAVE_LIBKMOD struct kmod_list *list = NULL; struct kmod_list *l; - int err; err = kmod_module_new_from_lookup(ctx, alias, &list); if (err < 0) @@ -65,9 +65,7 @@ static int load_module(struct udev *udev, const char *alias) } kmod_module_unref_list(list); - return err; #else - int retval; /* These 3 temporaries are needed because argv (below) is a const pointer, not pointer to const @@ -77,12 +75,15 @@ static int load_module(struct udev *udev, const char *alias) char *tmp_bq = strdup("-bq"); char *const argv[] = { tmp_modprobe, tmp_bq, tmp_alias, 0 }; - retval = execute_command(MODPROBE, argv); + err = execute_command(MODPROBE, argv); free(tmp_alias); free(tmp_modprobe); free(tmp_bq); #endif + /* both 'kmod_module_new_from_lookup' and 'execute_command' return <0 on error + so it is ok to assign both to 'err' */ + return err; } _printf_(6,0) |