func GPtrToString(p interface{}) string { return C.GoString(C.to_charptr_from_gpointer(p.(C.gpointer))) }
func GPtrToString(p interface{}) string { pp := (C.gpointer)(p.(unsafe.Pointer)) return C.GoString(C.to_charptr_from_gpointer(pp)) }