#include <limits.h>
#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#include <X11/Xlib.h>
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';
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';
{
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;
char *atom_names[3];
Atom atoms[3];
- client = malloc (sizeof *client);
+ client = g_new (XSettingsClient, 1);
if (!client)
return NULL;
if (client->settings)
g_hash_table_unref (client->settings);
- free (client);
+ g_free (client);
}
const XSettingsSetting *
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);
}