]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/modules-load/modules-load.c
util-lib: split our string related calls from util.[ch] into its own file string...
[thirdparty/systemd.git] / src / modules-load / modules-load.c
index 99aa429ed81a6797815171868cd4ac4e53371bcf..4a58ce10823c529b80a92cb0787f8a28761baecc 100644 (file)
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
-#include <unistd.h>
-#include <fcntl.h>
 #include <errno.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <limits.h>
-#include <dirent.h>
 #include <getopt.h>
 #include <libkmod.h>
+#include <limits.h>
+#include <string.h>
+#include <sys/stat.h>
 
+#include "conf-files.h"
 #include "log.h"
-#include "util.h"
+#include "string-util.h"
 #include "strv.h"
-#include "conf-files.h"
-#include "fileio.h"
-#include "build.h"
+#include "util.h"
 
 static char **arg_proc_cmdline_modules = NULL;
 
@@ -55,7 +51,7 @@ static int add_modules(const char *p) {
         if (!k)
                 return log_oom();
 
-        if (strv_extend_strv(&arg_proc_cmdline_modules, k) < 0)
+        if (strv_extend_strv(&arg_proc_cmdline_modules, k, true) < 0)
                 return log_oom();
 
         return 0;
@@ -81,10 +77,8 @@ static int load_module(struct kmod_ctx *ctx, const char *m) {
         log_debug("load: %s", m);
 
         r = kmod_module_new_from_lookup(ctx, m, &modlist);
-        if (r < 0) {
-                log_error_errno(r, "Failed to lookup alias '%s': %m", m);
-                return r;
-        }
+        if (r < 0)
+                return log_error_errno(r, "Failed to lookup alias '%s': %m", m);
 
         if (!modlist) {
                 log_error("Failed to find module '%s'", m);
@@ -141,8 +135,7 @@ static int apply_file(struct kmod_ctx *ctx, const char *path, bool ignore_enoent
                 if (ignore_enoent && r == -ENOENT)
                         return 0;
 
-                log_error_errno(r, "Failed to open %s, ignoring: %m", path);
-                return r;
+                return log_error_errno(r, "Failed to open %s, ignoring: %m", path);
         }
 
         log_debug("apply: %s", path);
@@ -154,7 +147,7 @@ static int apply_file(struct kmod_ctx *ctx, const char *path, bool ignore_enoent
                         if (feof(f))
                                 break;
 
-                        log_error("Failed to read file '%s', ignoring: %m", path);
+                        log_error_errno(errno, "Failed to read file '%s', ignoring: %m", path);
                         return -errno;
                 }
 
@@ -206,9 +199,7 @@ static int parse_argv(int argc, char *argv[]) {
                         return 0;
 
                 case ARG_VERSION:
-                        puts(PACKAGE_STRING);
-                        puts(SYSTEMD_FEATURES);
-                        return 0;
+                        return version();
 
                 case '?':
                         return -EINVAL;
@@ -259,7 +250,7 @@ int main(int argc, char *argv[]) {
                 }
 
         } else {
-                _cleanup_free_ char **files = NULL;
+                _cleanup_strv_free_ char **files = NULL;
                 char **fn, **i;
 
                 STRV_FOREACH(i, arg_proc_cmdline_modules) {