]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
conf-parser: Add root argument to config_parse_many()
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Fri, 12 May 2023 15:14:46 +0000 (17:14 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Fri, 12 May 2023 15:52:32 +0000 (17:52 +0200)
src/core/main.c
src/network/netdev/netdev.c
src/network/networkd-network.c
src/partition/repart.c
src/resolve/resolved-dnssd.c
src/shared/conf-parser.c
src/shared/conf-parser.h
src/udev/net/link-config.c

index 86385d64656a0931a39e062619b4864c73332579..3fbfc5b7414fc3c7d7861649959ad255ada2cb72 100644 (file)
@@ -726,6 +726,7 @@ static int parse_config_file(void) {
                                 (const char* const*) files,
                                 (const char* const*) dirs,
                                 "user.conf.d",
+                                /* root = */ NULL,
                                 "Manager\0",
                                 config_item_table_lookup, items,
                                 CONFIG_PARSE_WARN,
index 038a27c1186cc6e515fc1b1d4f1fb970cfc9f13c..2c3b0f87979a62a6c1d6472f8c2aba0c2c0e0d1d 100644 (file)
@@ -787,7 +787,7 @@ int netdev_load_one(Manager *manager, const char *filename) {
 
         dropin_dirname = strjoina(basename(filename), ".d");
         r = config_parse_many(
-                        STRV_MAKE_CONST(filename), NETWORK_DIRS, dropin_dirname,
+                        STRV_MAKE_CONST(filename), NETWORK_DIRS, dropin_dirname, /* root = */ NULL,
                         NETDEV_COMMON_SECTIONS NETDEV_OTHER_SECTIONS,
                         config_item_perf_lookup, network_netdev_gperf_lookup,
                         CONFIG_PARSE_WARN,
@@ -823,7 +823,7 @@ int netdev_load_one(Manager *manager, const char *filename) {
                 NETDEV_VTABLE(netdev)->init(netdev);
 
         r = config_parse_many(
-                        STRV_MAKE_CONST(filename), NETWORK_DIRS, dropin_dirname,
+                        STRV_MAKE_CONST(filename), NETWORK_DIRS, dropin_dirname, /* root = */ NULL,
                         NETDEV_VTABLE(netdev)->sections,
                         config_item_perf_lookup, network_netdev_gperf_lookup,
                         CONFIG_PARSE_WARN,
index 7c5d691afab1771dea1737291e877d66e7d3ea5c..9a0511eeef75fab46629b51aec4adc9667582e79 100644 (file)
@@ -493,7 +493,7 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi
         };
 
         r = config_parse_many(
-                        STRV_MAKE_CONST(filename), NETWORK_DIRS, dropin_dirname,
+                        STRV_MAKE_CONST(filename), NETWORK_DIRS, dropin_dirname, /* root = */ NULL,
                         "Match\0"
                         "Link\0"
                         "SR-IOV\0"
index 357cbcafc9afff68b83b15dcf07501bdbc460142..30d341f795addcc920eba5570cabe65c9e3ca45d 100644 (file)
@@ -1638,6 +1638,7 @@ static int partition_read_definition(Partition *p, const char *path, const char
                         STRV_MAKE_CONST(path),
                         conf_file_dirs,
                         dropin_dirname,
+                        /* root = */ NULL,
                         "Partition\0",
                         config_item_table_lookup, table,
                         CONFIG_PARSE_WARN,
index f5a8a80ebc8b41b46f3f0d1224bc16a61974d5d2..994771eca733de3600ba85298f899ef6b942c994 100644 (file)
@@ -88,7 +88,7 @@ static int dnssd_service_load(Manager *manager, const char *filename) {
         dropin_dirname = strjoina(service->name, ".dnssd.d");
 
         r = config_parse_many(
-                        STRV_MAKE_CONST(filename), DNSSD_SERVICE_DIRS, dropin_dirname,
+                        STRV_MAKE_CONST(filename), DNSSD_SERVICE_DIRS, dropin_dirname, /* root = */ NULL,
                         "Service\0",
                         config_item_perf_lookup, resolved_dnssd_gperf_lookup,
                         CONFIG_PARSE_WARN,
index 138a3a8cc9eda32c087caa11c70649fa856871c7..21ba7f691497e6fa9a33b6a139ab7ad47a059f27 100644 (file)
@@ -584,6 +584,7 @@ int config_parse_config_file(
 static int config_get_dropin_files(
                 const char* const* conf_file_dirs,
                 const char *dropin_dirname,
+                const char *root,
                 char ***ret) {
 
         _cleanup_strv_free_ char **dropin_dirs = NULL;
@@ -599,7 +600,7 @@ static int config_get_dropin_files(
         if (r < 0)
                 return r;
 
-        return conf_files_list_strv(ret, ".conf", NULL, 0, (const char* const*) dropin_dirs);
+        return conf_files_list_strv(ret, ".conf", root, 0, (const char* const*) dropin_dirs);
 }
 
 /* Parse each config file in the directories specified as strv. */
@@ -607,6 +608,7 @@ int config_parse_many(
                 const char* const* conf_files,
                 const char* const* conf_file_dirs,
                 const char *dropin_dirname,
+                const char *root,
                 const char *sections,
                 ConfigItemLookup lookup,
                 const void *table,
@@ -623,7 +625,7 @@ int config_parse_many(
         assert(sections);
         assert(table);
 
-        r = config_get_dropin_files(conf_file_dirs, dropin_dirname, &files);
+        r = config_get_dropin_files(conf_file_dirs, dropin_dirname, root, &files);
         if (r < 0)
                 return r;
 
@@ -659,7 +661,7 @@ static int dropins_get_stats_by_path(
         if (!strextend(&dropin_dirname, ".d"))
                 return -ENOMEM;
 
-        r = config_get_dropin_files(conf_file_dirs, dropin_dirname, &files);
+        r = config_get_dropin_files(conf_file_dirs, dropin_dirname, /* root = */ NULL, &files);
         if (r < 0)
                 return r;
 
index e5aeeac6878e9a6bc161a162b0d752c1a57060db..902717965cd0d526268dad0341b8ce1ef1d6cfc7 100644 (file)
@@ -105,6 +105,7 @@ int config_parse_many(
                 const char* const* conf_files,  /* possibly empty */
                 const char* const* conf_file_dirs,
                 const char *dropin_dirname,
+                const char *root,
                 const char *sections,       /* nulstr */
                 ConfigItemLookup lookup,
                 const void *table,
index 0bea6f1c1686c575232b6328c5d55ff0b6ab6ebc..4c83eede7aac2566070897b3def1a37680763430 100644 (file)
@@ -260,6 +260,7 @@ int link_load_one(LinkConfigContext *ctx, const char *filename) {
                         STRV_MAKE_CONST(filename),
                         NETWORK_DIRS,
                         dropin_dirname,
+                        /* root = */ NULL,
                         "Match\0"
                         "Link\0"
                         "SR-IOV\0",