summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2020-10-04 15:16:46 +0200
committerYu Watanabe <watanabe.yu+github@gmail.com>2020-10-06 19:44:43 +0200
commit833f3663a07a868a023579801afb08522e3ecf79 (patch)
tree83c9639472cec16fa4fcbcf1cd3638167849b1cc
parentnetwork: make several functions static (diff)
downloadsystemd-833f3663a07a868a023579801afb08522e3ecf79.tar.xz
systemd-833f3663a07a868a023579801afb08522e3ecf79.zip
network: introduce hashmap_find_free_section_line()
-rw-r--r--src/network/networkd-util.c12
-rw-r--r--src/network/networkd-util.h3
2 files changed, 14 insertions, 1 deletions
diff --git a/src/network/networkd-util.c b/src/network/networkd-util.c
index ce9319d942..bae4ee5cba 100644
--- a/src/network/networkd-util.c
+++ b/src/network/networkd-util.c
@@ -151,3 +151,15 @@ int network_config_section_new(const char *filename, unsigned line, NetworkConfi
void network_config_section_free(NetworkConfigSection *cs) {
free(cs);
}
+
+unsigned hashmap_find_free_section_line(Hashmap *hashmap) {
+ NetworkConfigSection *cs;
+ unsigned n = 0;
+ void *entry;
+
+ HASHMAP_FOREACH_KEY(entry, cs, hashmap)
+ if (n < cs->line)
+ n = cs->line;
+
+ return n + 1;
+}
diff --git a/src/network/networkd-util.h b/src/network/networkd-util.h
index 2b6541d57e..ce169fa731 100644
--- a/src/network/networkd-util.h
+++ b/src/network/networkd-util.h
@@ -5,7 +5,7 @@
#include "sd-netlink.h"
#include "conf-parser.h"
-#include "hash-funcs.h"
+#include "hashmap.h"
#include "log.h"
#include "macro.h"
#include "string-util.h"
@@ -52,6 +52,7 @@ int network_config_section_new(const char *filename, unsigned line, NetworkConfi
void network_config_section_free(NetworkConfigSection *network);
DEFINE_TRIVIAL_CLEANUP_FUNC(NetworkConfigSection*, network_config_section_free);
extern const struct hash_ops network_config_hash_ops;
+unsigned hashmap_find_free_section_line(Hashmap *hashmap);
static inline bool section_is_invalid(NetworkConfigSection *section) {
/* If this returns false, then it does _not_ mean the section is valid. */