network: introduce hashmap_find_free_section_line()

This commit is contained in:
Yu Watanabe
2020-10-07 02:44:43 +09:00
parent 74154c2e28
commit 833f3663a0
2 changed files with 14 additions and 1 deletions
+12
View File
@@ -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;
}
+2 -1
View File
@@ -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. */