conf-parser: introduce ordered_hashmap_by_section_find_unused_line()

This commit is contained in:
Yu Watanabe
2023-09-08 12:55:44 +09:00
parent d9171a230d
commit e63c6e9ffa
2 changed files with 17 additions and 5 deletions
+3 -3
View File
@@ -766,8 +766,8 @@ int config_section_new(const char *filename, unsigned line, ConfigSection **ret)
return 0;
}
int hashmap_by_section_find_unused_line(
Hashmap *entries_by_section,
int _hashmap_by_section_find_unused_line(
HashmapBase *entries_by_section,
const char *filename,
unsigned *ret) {
@@ -775,7 +775,7 @@ int hashmap_by_section_find_unused_line(
unsigned n = 0;
void *entry;
HASHMAP_FOREACH_KEY(entry, cs, entries_by_section) {
HASHMAP_BASE_FOREACH_KEY(entry, cs, entries_by_section) {
if (filename && !streq(cs->filename, filename))
continue;
n = MAX(n, cs->line);
+14 -2
View File
@@ -138,10 +138,22 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(ConfigSection*, config_section_free);
int config_section_new(const char *filename, unsigned line, ConfigSection **ret);
extern const struct hash_ops config_section_hash_ops;
int hashmap_by_section_find_unused_line(
Hashmap *entries_by_section,
int _hashmap_by_section_find_unused_line(
HashmapBase *entries_by_section,
const char *filename,
unsigned *ret);
static inline int hashmap_by_section_find_unused_line(
Hashmap *entries_by_section,
const char *filename,
unsigned *ret) {
return _hashmap_by_section_find_unused_line(HASHMAP_BASE(entries_by_section), filename, ret);
}
static inline int ordered_hashmap_by_section_find_unused_line(
OrderedHashmap *entries_by_section,
const char *filename,
unsigned *ret) {
return _hashmap_by_section_find_unused_line(HASHMAP_BASE(entries_by_section), filename, ret);
}
static inline bool section_is_invalid(ConfigSection *section) {
/* If this returns false, then it does _not_ mean the section is valid. */