From 08a6f554c3d9ee157cddaefa2d7fd26458f2737b Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 12 Feb 2013 14:58:44 +0100 Subject: [PATCH] x11: Use glib malloc funcs for XSettings --- gdk/x11/xsettings-client.c | 35 ++++++++--------------------------- gdk/x11/xsettings-client.h | 1 - 2 files changed, 8 insertions(+), 28 deletions(-) diff --git a/gdk/x11/xsettings-client.c b/gdk/x11/xsettings-client.c index da7d55b93..3920bec8e 100644 --- a/gdk/x11/xsettings-client.c +++ b/gdk/x11/xsettings-client.c @@ -31,7 +31,6 @@ #include #include -#include #include #include @@ -225,20 +224,10 @@ parse_settings (unsigned char *data, goto out; } - setting = malloc (sizeof *setting); - if (!setting) - { - result = XSETTINGS_NO_MEM; - goto out; - } + setting = g_new (XSettingsSetting, 1); setting->type = XSETTINGS_TYPE_INT; /* No allocated memory */ - setting->name = malloc (name_len + 1); - if (!setting->name) - { - result = XSETTINGS_NO_MEM; - goto out; - } + setting->name = g_malloc (name_len + 1); memcpy (setting->name, buffer.pos, name_len); setting->name[name_len] = '\0'; @@ -271,12 +260,7 @@ parse_settings (unsigned char *data, goto out; } - setting->data.v_string = malloc (v_int + 1); - if (!setting->data.v_string) - { - result = XSETTINGS_NO_MEM; - goto out; - } + setting->data.v_string = g_malloc (v_int + 1); memcpy (setting->data.v_string, buffer.pos, v_int); setting->data.v_string[v_int] = '\0'; @@ -326,9 +310,6 @@ parse_settings (unsigned char *data, { switch (result) { - case XSETTINGS_NO_MEM: - fprintf(stderr, "Out of memory reading XSETTINGS property\n"); - break; case XSETTINGS_ACCESS: fprintf(stderr, "Invalid XSETTINGS property (read off end)\n"); break; @@ -456,7 +437,7 @@ xsettings_client_new (GdkScreen *screen, char *atom_names[3]; Atom atoms[3]; - client = malloc (sizeof *client); + client = g_new (XSettingsClient, 1); if (!client) return NULL; @@ -503,7 +484,7 @@ xsettings_client_destroy (XSettingsClient *client) if (client->settings) g_hash_table_unref (client->settings); - free (client); + g_free (client); } const XSettingsSetting * @@ -580,11 +561,11 @@ void xsettings_setting_free (XSettingsSetting *setting) { if (setting->type == XSETTINGS_TYPE_STRING) - free (setting->data.v_string); + g_free (setting->data.v_string); if (setting->name) - free (setting->name); + g_free (setting->name); - free (setting); + g_free (setting); } diff --git a/gdk/x11/xsettings-client.h b/gdk/x11/xsettings-client.h index 69ffca143..6bb2dbcb9 100644 --- a/gdk/x11/xsettings-client.h +++ b/gdk/x11/xsettings-client.h @@ -64,7 +64,6 @@ typedef enum typedef enum { XSETTINGS_SUCCESS, - XSETTINGS_NO_MEM, XSETTINGS_ACCESS, XSETTINGS_FAILED, XSETTINGS_NO_ENTRY, -- 2.43.2