From: Yu Watanabe Date: Thu, 7 Sep 2023 19:42:48 +0000 (+0900) Subject: conf-parser: introduce ordered_hashmap_by_section_find_unused_line() X-Git-Tag: v255-rc1~548^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F29123%2Fhead;p=thirdparty%2Fsystemd.git conf-parser: introduce ordered_hashmap_by_section_find_unused_line() --- diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c index 7d519278454..63030d4a2d0 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c @@ -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); diff --git a/src/shared/conf-parser.h b/src/shared/conf-parser.h index 74943523b34..140883969cc 100644 --- a/src/shared/conf-parser.h +++ b/src/shared/conf-parser.h @@ -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. */