static gboolean selection_set_string (GtkSelectionData *selection_data, const gchar *str, gint len) { gchar *tmp = g_strndup (str, len); gchar *latin1 = gdk_utf8_to_string_target (tmp); g_free (tmp); if (latin1) { gtk_selection_data_set (selection_data, g_intern_static_string ("STRING"), 8, (guchar *) latin1, strlen (latin1)); g_free (latin1); return TRUE; } else return FALSE; }
static VALUE rg_s_utf8_to_string_target(G_GNUC_UNUSED VALUE self, VALUE str) { return CSTR2RVAL((const char*)gdk_utf8_to_string_target(RVAL2CSTR(str))); }