static gboolean ibus_config_gconf_set_value (IBusConfigService *config, const gchar *section, const gchar *name, const GValue *value, IBusError **error) { gchar *key; GConfValue *gv; GError *gerror = NULL; gv = _to_gconf_value (value); key = g_strdup_printf (GCONF_PREFIX"/%s/%s", section, name); gconf_client_set (((IBusConfigGConf *)config)->client, key, gv, &gerror); g_free (key); gconf_value_free (gv); if (gerror != NULL) { if (error) { *error = ibus_error_new_from_text (DBUS_ERROR_FAILED, gerror->message); g_error_free (gerror); } return FALSE; } return TRUE; }
IBusError * ibus_error_new_from_printf (const gchar *name, const gchar *format_message, ...) { IBusError *error; gchar *message; va_list va_args; va_start (va_args, format_message); message = g_strdup_vprintf (format_message, va_args); error = ibus_error_new_from_text (name, message); g_free (message); return error; }