diff options
author | Alessandro Bono <alessandro.bono369@gmail.com> | 2022-10-31 12:46:14 +0100 |
---|---|---|
committer | Ray Strode <halfline@gmail.com> | 2023-04-28 19:41:28 +0000 |
commit | a07b3e4d7db9ad38af5f2d5e7b703c10f6469bb8 (patch) | |
tree | 890450a52a5a6f4aa428902a261b5bfa647b66e2 /common | |
parent | 31cb7d0fba55554042cfe0bf3d669c08d53aff57 (diff) | |
download | gdm-a07b3e4d7db9ad38af5f2d5e7b703c10f6469bb8.tar.gz |
gdm-settings-desktop-backend: Use g_auto*
Diffstat (limited to 'common')
-rw-r--r-- | common/gdm-settings-desktop-backend.c | 57 |
1 files changed, 15 insertions, 42 deletions
diff --git a/common/gdm-settings-desktop-backend.c b/common/gdm-settings-desktop-backend.c index 2d6d99ac..276bb04f 100644 --- a/common/gdm-settings-desktop-backend.c +++ b/common/gdm-settings-desktop-backend.c @@ -133,21 +133,18 @@ parse_key_string (const char *keystring, char **locale, char **value) { - char **split1; - char **split2; + g_auto(GStrv) split1 = NULL; + g_auto(GStrv) split2 = NULL; char *g; char *k; char *l; char *v; char *tmp1; char *tmp2; - gboolean ret; g_return_val_if_fail (keystring != NULL, FALSE); - ret = FALSE; g = k = v = l = NULL; - split1 = split2 = NULL; if (group != NULL) { *group = g; @@ -171,7 +168,7 @@ parse_key_string (const char *keystring, || split1 [0][0] == '\0' || split1 [1][0] == '\0') { g_warning ("GdmSettingsDesktopBackend: invalid key: %s", keystring); - goto out; + return FALSE; } g = split1 [0]; @@ -192,8 +189,6 @@ parse_key_string (const char *keystring, *tmp1 = '\0'; } - ret = TRUE; - if (group != NULL) { *group = g_strdup (g); } @@ -206,12 +201,8 @@ parse_key_string (const char *keystring, if (value != NULL) { *value = g_strdup (v); } - out: - g_strfreev (split1); - g_strfreev (split2); - - return ret; + return TRUE; } static gboolean @@ -220,55 +211,44 @@ gdm_settings_desktop_backend_get_value (GdmSettingsBackend *backend, char **value, GError **error) { - GError *local_error; - char *val; - char *g; - char *k; - char *l; - gboolean ret; + g_autoptr(GError) local_error = NULL; + g_autofree char *val = NULL; + g_autofree char *g = NULL; + g_autofree char *k = NULL; + g_autofree char *l = NULL; g_return_val_if_fail (GDM_IS_SETTINGS_BACKEND (backend), FALSE); g_return_val_if_fail (key != NULL, FALSE); g_return_val_if_fail (value != NULL, FALSE); - ret = FALSE; *value = NULL; - val = g = k = l = NULL; /*GDM_SETTINGS_BACKEND_CLASS (gdm_settings_desktop_backend_parent_class)->get_value (display);*/ if (! parse_key_string (key, &g, &k, &l, NULL)) { g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found"); - goto out; + return FALSE; } /*g_debug ("Getting key: %s %s %s", g, k, l);*/ - local_error = NULL; val = g_key_file_get_value (GDM_SETTINGS_DESKTOP_BACKEND (backend)->key_file, g, k, &local_error); if (local_error != NULL) { - g_error_free (local_error); g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found"); - goto out; + return FALSE; } *value = g_strdup (val); - ret = TRUE; - out: - g_free (val); - g_free (g); - g_free (k); - g_free (l); - - return ret; + + return TRUE; } static void save_settings (GdmSettingsDesktopBackend *backend) { - GError *local_error; - char *contents; + g_autoptr(GError) local_error = NULL; + g_autofree char *contents = NULL; gsize length; if (! backend->dirty) { @@ -277,28 +257,21 @@ save_settings (GdmSettingsDesktopBackend *backend) g_debug ("Saving settings to %s", backend->filename); - local_error = NULL; contents = g_key_file_to_data (backend->key_file, &length, &local_error); if (local_error != NULL) { g_warning ("Unable to save settings: %s", local_error->message); - g_error_free (local_error); return; } - local_error = NULL; g_file_set_contents (backend->filename, contents, length, &local_error); if (local_error != NULL) { g_warning ("Unable to save settings: %s", local_error->message); - g_error_free (local_error); - g_free (contents); return; } - g_free (contents); - backend->dirty = FALSE; } |