]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
kbd-util: use string_hash_ops_free and set_to_strv() 37090/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 11 Apr 2025 02:43:32 +0000 (11:43 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 12 Apr 2025 19:59:26 +0000 (04:59 +0900)
src/shared/kbd-util.c

index 60e0429b82a8c12eb2b65aabde9a4529038b0ed2..fa06d8a96532a003aa1888cbfc47a7b2b3de13c8 100644 (file)
@@ -83,7 +83,7 @@ static int keymap_recurse_dir_callback(
 }
 
 int get_keymaps(char ***ret) {
-        _cleanup_set_free_free_ Set *keymaps = NULL;
+        _cleanup_set_free_ Set *keymaps = NULL;
         _cleanup_strv_free_ char **keymap_dirs = NULL;
         int r;
 
@@ -91,7 +91,7 @@ int get_keymaps(char ***ret) {
         if (r < 0)
                 return r;
 
-        keymaps = set_new(&string_hash_ops);
+        keymaps = set_new(&string_hash_ops_free);
         if (!keymaps)
                 return -ENOMEM;
 
@@ -114,14 +114,10 @@ int get_keymaps(char ***ret) {
                         log_debug_errno(r, "Failed to read keymap list from %s, ignoring: %m", *dir);
         }
 
-        _cleanup_strv_free_ char **l = set_get_strv(keymaps);
+        _cleanup_strv_free_ char **l = set_to_strv(&keymaps);
         if (!l)
                 return -ENOMEM;
 
-        keymaps = set_free(keymaps); /* If we got the strv above, then do a set_free() rather than
-                                      * set_free_free() since the entries of the set are now owned by the
-                                      * strv */
-
         if (strv_isempty(l))
                 return -ENOENT;