[perl-Glib-Object-Introspection] Harmonize and improve debug output
- From: Torsten Schönfeld <tsch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [perl-Glib-Object-Introspection] Harmonize and improve debug output
- Date: Sun, 1 Mar 2015 17:32:26 +0000 (UTC)
commit dd391d2699deceaf041bf32be6dc8c43ee35f94d
Author: Torsten Schönfeld <kaffeetisch gmx de>
Date: Sun Mar 1 18:31:55 2015 +0100
Harmonize and improve debug output
GObjectIntrospection.xs | 24 +++++++++++-----
gperl-i11n-callback.c | 4 +-
gperl-i11n-info.c | 2 +-
gperl-i11n-invoke-c.c | 28 +++++++++++--------
gperl-i11n-invoke-perl.c | 42 ++++++++++++-----------------
gperl-i11n-invoke.c | 6 +---
gperl-i11n-marshal-arg.c | 14 +++++----
gperl-i11n-marshal-array.c | 41 +++++++++++++++++-----------
gperl-i11n-marshal-callback.c | 30 ++++++++++----------
gperl-i11n-marshal-hash.c | 23 +++++++---------
gperl-i11n-marshal-interface.c | 57 ++++++++++++++++++++-------------------
gperl-i11n-marshal-list.c | 18 +++++++-----
gperl-i11n-marshal-struct.c | 10 ++++---
gperl-i11n-union.c | 4 +-
gperl-i11n-vfunc-interface.c | 4 +-
gperl-i11n-vfunc-object.c | 4 +-
16 files changed, 164 insertions(+), 147 deletions(-)
---
diff --git a/GObjectIntrospection.xs b/GObjectIntrospection.xs
index 3ed829d..1a2e81d 100644
--- a/GObjectIntrospection.xs
+++ b/GObjectIntrospection.xs
@@ -27,7 +27,10 @@
/* #define NOISY */
#ifdef NOISY
-# define dwarn(...) warn(__VA_ARGS__)
+# define dwarn(msg...) G_STMT_START { \
+ g_printerr ("%s: ", G_STRFUNC); \
+ g_printerr (msg); \
+ } G_STMT_END
#else
# define dwarn(...)
#endif
@@ -397,17 +400,20 @@ _register_types (class, namespace, package)
info_type = g_base_info_get_type (info);
name = g_base_info_get_name (info);
- dwarn ("setting up %s::%s\n", namespace, name);
+ dwarn ("setting up %s.%s\n", namespace, name);
if (info_type == GI_INFO_TYPE_CONSTANT) {
+ dwarn (" -> constant\n");
av_push (constants, newSVpv (name, 0));
}
if (info_type == GI_INFO_TYPE_FUNCTION) {
+ dwarn (" -> global function\n");
av_push (global_functions, newSVpv (name, 0));
}
if (info_type == GI_INFO_TYPE_INTERFACE) {
+ dwarn (" -> interface\n");
av_push (interfaces, newSVpv (name, 0));
}
@@ -419,6 +425,7 @@ _register_types (class, namespace, package)
info_type == GI_INFO_TYPE_ENUM ||
info_type == GI_INFO_TYPE_FLAGS)
{
+ dwarn (" looking for methods\n");
store_methods (namespaced_functions, info, info_type);
}
@@ -426,10 +433,12 @@ _register_types (class, namespace, package)
info_type == GI_INFO_TYPE_STRUCT ||
info_type == GI_INFO_TYPE_UNION)
{
+ dwarn (" looking for fields\n");
store_fields (fields, info, info_type);
}
if (info_type == GI_INFO_TYPE_OBJECT) {
+ dwarn (" looking for vfuncs\n");
store_objects_with_vfuncs (objects_with_vfuncs, info);
}
@@ -559,7 +568,7 @@ _register_boxed_synonym (class, const gchar *reg_basename, const gchar *reg_name
ccroak ("Could not lookup GType from function %s",
syn_gtype_function);
- dwarn ("registering synonym %s => %s",
+ dwarn ("%s => %s",
g_type_name (reg_type),
g_type_name (syn_type));
gperl_register_boxed_synonym (reg_type, syn_type);
@@ -759,7 +768,7 @@ _install_overrides (class, basename, object_name, target_package)
GType gtype;
gpointer klass;
CODE:
- dwarn ("_install_overrides: %s%s for %s\n",
+ dwarn ("%s.%s for %s\n",
basename, object_name, target_package);
repository = g_irepository_get_default ();
info = g_irepository_find_by_name (repository, basename, object_name);
@@ -856,7 +865,7 @@ _invoke_fallback_vfunc (class, vfunc_package, vfunc_name, target_package, ...)
gint field_offset;
gpointer func_pointer;
PPCODE:
- dwarn ("_invoke_fallback_vfunc: %s::%s, target = %s\n",
+ dwarn ("%s::%s, target = %s\n",
vfunc_package, vfunc_name, target_package);
gtype = gperl_object_type_from_package (target_package);
klass = g_type_class_peek (gtype);
@@ -926,8 +935,7 @@ _use_generic_signal_marshaller_for (class, const gchar *package, const gchar *si
signal_info);
g_base_info_unref (closure_marshal_info);
- dwarn ("_use_generic_signal_marshaller_for: "
- "package %s, signal %s => closure %p\n",
+ dwarn ("package = %s, signal = %s => closure = %p\n",
package, signal, closure);
gperl_signal_set_marshaller_for (gtype, (gchar*) signal, (GClosureMarshal) closure);
@@ -953,7 +961,7 @@ _use_generic_signal_marshaller_for (class, const gchar *package, const gchar *si
* work correctly for signals prior to commit
* d8970fbc500a8b20853b564536251315587450d9 in
* gobject-introspection. */
- warn ("*** Cannot use generic signal marshallers for signal %s of %s "
+ warn ("*** Cannot use generic signal marshallers for signal '%s' of %s "
"unless gobject-introspection >= 1.33.10; "
"any handlers connected to the signal "
"might thus be invoked incorrectly\n",
diff --git a/gperl-i11n-callback.c b/gperl-i11n-callback.c
index 76ac91f..9bb7155 100644
--- a/gperl-i11n-callback.c
+++ b/gperl-i11n-callback.c
@@ -65,7 +65,7 @@ static void
release_perl_callback (gpointer data)
{
GPerlI11nPerlCallbackInfo *info = data;
- dwarn ("releasing Perl callback info %p\n", info);
+ dwarn ("info = %p\n", info);
/* g_callable_info_free_closure reaches into info->cif, so it needs to
* be called before we free it. See
@@ -119,7 +119,7 @@ static void
release_c_callback (gpointer data)
{
GPerlI11nCCallbackInfo *info = data;
- dwarn ("releasing C callback info %p\n", info);
+ dwarn ("info = %p\n", info);
/* FIXME: we cannot call the destroy notify here because it might be
* our own release_perl_callback which would try to free the ffi stuff
diff --git a/gperl-i11n-info.c b/gperl-i11n-info.c
index d8106ce..6eb18ab 100644
--- a/gperl-i11n-info.c
+++ b/gperl-i11n-info.c
@@ -25,7 +25,7 @@ get_function_info (GIRepository *repository,
const gchar *namespace,
const gchar *method)
{
- dwarn ("%s: %s, %s, %s\n", G_STRFUNC, basename, namespace, method);
+ dwarn ("%s, %s, %s\n", basename, namespace, method);
if (namespace) {
GIFunctionInfo *function_info = NULL;
diff --git a/gperl-i11n-invoke-c.c b/gperl-i11n-invoke-c.c
index 80ac875..a0678f5 100644
--- a/gperl-i11n-invoke-c.c
+++ b/gperl-i11n-invoke-c.c
@@ -86,7 +86,7 @@ invoke_c_code (GICallableInfo *info,
* point. */
iinfo.base.current_pos = i; /* + method_offset; */
- dwarn (" arg %d, tag: %d (%s), is_pointer: %d, is_automatic: %d\n",
+ dwarn ("arg %d: tag = %d (%s), is_pointer = %d, is_automatic = %d\n",
i,
g_type_info_get_tag (arg_type),
g_type_tag_to_string (g_type_info_get_tag (arg_type)),
@@ -232,6 +232,7 @@ invoke_c_code (GICallableInfo *info,
)
{
SV *value;
+ dwarn ("return value: type = %p\n", iinfo.base.return_type_info);
value = SAVED_STACK_SV (arg_to_sv (&return_value,
iinfo.base.return_type_info,
iinfo.base.return_type_transfer,
@@ -259,6 +260,7 @@ invoke_c_code (GICallableInfo *info,
{
GITransfer transfer;
SV *sv;
+ dwarn ("out/inout arg at pos %d\n", i);
/* If we allocated the memory ourselves, we always own it. */
transfer = g_arg_info_is_caller_allocates (arg_info)
? GI_TRANSFER_CONTAINER
@@ -281,7 +283,7 @@ invoke_c_code (GICallableInfo *info,
_clear_c_invocation_info (&iinfo);
- dwarn (" number of return values: %d\n", n_return_values);
+ dwarn ("n_return_values = %d\n", n_return_values);
PUTBACK;
}
@@ -301,11 +303,9 @@ _prepare_c_invocation_info (GPerlI11nCInvocationInfo *iinfo,
prepare_invocation_info ((GPerlI11nInvocationInfo *) iinfo, info);
- dwarn ("C invoke: %s::%s::%s => %s\n"
- " n_args: %d\n",
+ dwarn ("%s::%s::%s => %s\n",
package, namespace, function,
- g_base_info_get_name (info),
- g_callable_info_get_n_args (info));
+ g_base_info_get_name (info));
iinfo->target_package = package;
iinfo->target_namespace = namespace;
@@ -347,12 +347,16 @@ _prepare_c_invocation_info (GPerlI11nCInvocationInfo *iinfo,
iinfo->n_invoke_args++;
}
- dwarn ("C invoke: %s\n"
- " n_args: %d, n_invoke_args: %d, n_given_args: %d\n"
- " is_constructor: %d, is_method: %d\n",
- iinfo->base.is_vfunc ? g_base_info_get_name (info) : g_function_info_get_symbol (info),
- iinfo->base.n_args, iinfo->n_invoke_args, iinfo->n_given_args,
- iinfo->is_constructor, iinfo->is_method);
+ dwarn (" args = %u, given = %u, invoke = %u\n",
+ iinfo->base.n_args,
+ iinfo->n_given_args,
+ iinfo->n_invoke_args);
+
+ dwarn (" symbol = %s\n",
+ iinfo->base.is_vfunc ? g_base_info_get_name (info) : g_function_info_get_symbol (info));
+
+ dwarn (" is_constructor = %d, is_method = %d, throws = %d\n",
+ iinfo->is_constructor, iinfo->is_method, iinfo->throws);
/* allocate enough space for all args in both the out and in lists.
* we'll only use as much as we need. since function argument lists
diff --git a/gperl-i11n-invoke-perl.c b/gperl-i11n-invoke-perl.c
index c4b612d..a037bec 100644
--- a/gperl-i11n-invoke-perl.c
+++ b/gperl-i11n-invoke-perl.c
@@ -64,9 +64,9 @@ invoke_perl_code (ffi_cif* cif, gpointer resp, gpointer* args, gpointer userdata
data_sv = info->data ? SvREFCNT_inc (info->data) : NULL;
first_sv = info->swap_data ? data_sv : instance_sv;
last_sv = info->swap_data ? instance_sv : data_sv;
- dwarn (" info->data = %p, info->swap_data = %d\n",
+ dwarn ("info->data = %p, info->swap_data = %d\n",
info->data, info->swap_data);
- dwarn (" instance = %p, data = %p, first = %p, last = %p\n",
+ dwarn ("instance = %p, data = %p, first = %p, last = %p\n",
instance_sv, data_sv, first_sv, last_sv);
if (first_sv)
XPUSHs (sv_2mortal (first_sv));
@@ -85,25 +85,19 @@ invoke_perl_code (ffi_cif* cif, gpointer resp, gpointer* args, gpointer userdata
iinfo.base.current_pos = i;
- dwarn ("arg info: %s (%p)\n"
- " direction: %d\n"
- " is return value: %d\n"
- " is optional: %d\n"
- " may be null: %d\n"
- " transfer: %d\n",
- g_base_info_get_name (arg_info), arg_info,
- g_arg_info_get_direction (arg_info),
+ dwarn ("arg %d: info = %p (%s)\n",
+ i, arg_info, g_base_info_get_name (arg_info));
+ dwarn (" dir = %d, is retval = %d, is optional = %d, may be null = %d, transfer = %d\n",
+ direction,
g_arg_info_is_return_value (arg_info),
g_arg_info_is_optional (arg_info),
g_arg_info_may_be_null (arg_info),
- g_arg_info_get_ownership_transfer (arg_info));
-
- dwarn ("arg type: %p\n"
- " is pointer: %d\n"
- " tag: %s (%d)\n",
+ transfer);
+ dwarn (" arg type = %p, is pointer = %d, tag = %d (%s)\n",
arg_type,
g_type_info_is_pointer (arg_type),
- g_type_tag_to_string (g_type_info_get_tag (arg_type)), g_type_info_get_tag (arg_type));
+ g_type_info_get_tag (arg_type),
+ g_type_tag_to_string (g_type_info_get_tag (arg_type)));
if (direction == GI_DIRECTION_IN ||
direction == GI_DIRECTION_INOUT)
@@ -221,6 +215,8 @@ invoke_perl_code (ffi_cif* cif, gpointer resp, gpointer* args, gpointer userdata
* (nor is there an annotation for it). */
gboolean may_be_null = TRUE;
gboolean is_caller_allocated = g_arg_info_is_caller_allocates (arg_info);
+ dwarn ("out/inout arg, pos = %d, is_caller_allocated = %d\n",
+ i, is_caller_allocated);
if (is_caller_allocated) {
tmp_arg.v_pointer = out_pointer;
}
@@ -248,13 +244,11 @@ invoke_perl_code (ffi_cif* cif, gpointer resp, gpointer* args, gpointer userdata
transfer = iinfo.base.return_type_transfer;
may_be_null = g_callable_info_may_return_null (cb_interface); /* FIXME */
- dwarn ("ret type: %p\n"
- " is pointer: %d\n"
- " tag: %d\n"
- " transfer: %d\n",
- type_info,
+ dwarn ("return value: type = %p\n", type_info);
+ dwarn (" is pointer = %d, tag = %d (%s), transfer = %d\n",
g_type_info_is_pointer (type_info),
g_type_info_get_tag (type_info),
+ g_type_tag_to_string (g_type_info_get_tag (type_info)),
transfer);
sv_to_arg (POPs, &arg, NULL, type_info,
@@ -305,7 +299,8 @@ invoke_perl_signal_handler (ffi_cif* cif, gpointer resp, gpointer* args, gpointe
PERL_UNUSED_VAR (resp);
PERL_UNUSED_VAR (marshal_data);
- dwarn ("invoke_perl_signal_handler: n args %d\n",
+ dwarn ("%s, n_args = %d\n",
+ g_base_info_get_name (signal_info->interface),
g_callable_info_get_n_args (signal_info->interface));
cb_info = create_perl_callback_closure (signal_info->interface,
@@ -342,8 +337,7 @@ _prepare_perl_invocation_info (GPerlI11nPerlInvocationInfo *iinfo,
prepare_invocation_info ((GPerlI11nInvocationInfo *) iinfo, info);
- dwarn ("Perl invoke: %s\n"
- " n_args: %d\n",
+ dwarn ("%s, n_args = %d\n",
g_base_info_get_name (info),
g_callable_info_get_n_args (info));
diff --git a/gperl-i11n-invoke.c b/gperl-i11n-invoke.c
index ae50804..3023e8b 100644
--- a/gperl-i11n-invoke.c
+++ b/gperl-i11n-invoke.c
@@ -7,10 +7,7 @@ prepare_invocation_info (GPerlI11nInvocationInfo *iinfo,
gint orig_n_args;
guint i;
- dwarn ("invoke: %s\n"
- " n_args: %d\n",
- g_base_info_get_name (info),
- g_callable_info_get_n_args (info));
+ dwarn ("%s\n", g_base_info_get_name (info));
iinfo->interface = info;
@@ -24,6 +21,7 @@ prepare_invocation_info (GPerlI11nInvocationInfo *iinfo,
orig_n_args = g_callable_info_get_n_args (info);
g_assert (orig_n_args >= 0);
iinfo->n_args = (guint) orig_n_args;
+ dwarn (" n_args = %u\n", iinfo->n_args);
if (iinfo->n_args) {
iinfo->arg_infos = gperl_alloc_temp (sizeof (GITypeInfo*) * iinfo->n_args);
diff --git a/gperl-i11n-marshal-arg.c b/gperl-i11n-marshal-arg.c
index ce41ee7..74aa2a9 100644
--- a/gperl-i11n-marshal-arg.c
+++ b/gperl-i11n-marshal-arg.c
@@ -13,7 +13,10 @@ sv_to_arg (SV * sv,
{
GITypeTag tag = g_type_info_get_tag (type_info);
- if (!gperl_sv_is_defined (sv))
+ dwarn ("type info = %p, arg info = %p, tag = %d (%s)\n",
+ type_info, arg_info, tag, g_type_tag_to_string (tag));
+
+ if (!gperl_sv_is_defined (sv)) {
/* Interfaces, booleans and void types need to be able to
* handle undef separately.*/
if (!may_be_null && tag != GI_TYPE_TAG_INTERFACE
@@ -27,13 +30,13 @@ sv_to_arg (SV * sv,
ccroak ("undefined value encountered");
}
}
+ }
switch (tag) {
case GI_TYPE_TAG_VOID:
/* returns NULL if no match is found */
arg->v_pointer = sv_to_callback_data (sv, invocation_info);
- dwarn (" argument with no type information -> pointer %p\n",
- arg->v_pointer);
+ dwarn (" -> pointer %p\n", arg->v_pointer);
break;
case GI_TYPE_TAG_BOOLEAN:
@@ -96,7 +99,6 @@ sv_to_arg (SV * sv,
break;
case GI_TYPE_TAG_INTERFACE:
- dwarn (" type %p -> interface\n", type_info);
sv_to_interface (arg_info, type_info, transfer, may_be_null,
sv, arg, invocation_info);
break;
@@ -153,7 +155,7 @@ arg_to_sv (GIArgument * arg,
GITypeTag tag = g_type_info_get_tag (info);
gboolean own = transfer >= GI_TRANSFER_CONTAINER;
- dwarn (" arg_to_sv: info %p with type tag %d (%s)\n",
+ dwarn ("info = %p, tag = %d (%s)\n",
info, tag, g_type_tag_to_string (tag));
switch (tag) {
@@ -164,7 +166,7 @@ arg_to_sv (GIArgument * arg,
if (sv) {
SvREFCNT_inc (sv);
}
- dwarn (" argument with no type information -> SV %p\n", sv);
+ dwarn (" -> SV %p\n", sv);
return sv ? sv : &PL_sv_undef;
}
diff --git a/gperl-i11n-marshal-array.c b/gperl-i11n-marshal-array.c
index e5eb459..fca757a 100644
--- a/gperl-i11n-marshal-array.c
+++ b/gperl-i11n-marshal-array.c
@@ -37,28 +37,28 @@ _need_struct_value_semantics (GIArrayType array_type, GITypeInfo *param_info, GI
static void
_free_raw_array (gpointer raw_array)
{
- dwarn ("free_raw_array %p\n", raw_array);
+ dwarn ("%p\n", raw_array);
g_free (raw_array);
}
static void
_free_array (GArray *array)
{
- dwarn ("free_array %p\n", array);
+ dwarn ("%p\n", array);
g_array_free (array, TRUE);
}
static void
_free_ptr_array (GPtrArray *array)
{
- dwarn ("free_ptr_array %p\n", array);
+ dwarn ("%p\n", array);
g_ptr_array_free (array, TRUE);
}
static void
_free_byte_array (GByteArray *array)
{
- dwarn ("free_byte_array %p\n", array);
+ dwarn ("%p\n", array);
g_byte_array_free (array, TRUE);
}
@@ -80,6 +80,8 @@ array_to_sv (GITypeInfo *info,
gssize length = -1, i;
AV *av;
+ dwarn ("pointer %p\n", pointer);
+
if (pointer == NULL) {
return &PL_sv_undef;
}
@@ -146,11 +148,11 @@ array_to_sv (GITypeInfo *info,
need_struct_value_semantics =
_need_struct_value_semantics (array_type, param_info, param_tag);
- dwarn (" C array: pointer %p, array %p, elements %p, "
- "length %"G_GSSIZE_FORMAT", item size %"G_GSIZE_FORMAT", "
- "param_info %p with type tag %d (%s)\n",
- pointer, array, elements,
- length, item_size,
+ dwarn ("type %d, array %p, elements %p\n",
+ array_type, array, elements);
+ dwarn ("length %"G_GSSIZE_FORMAT", item size %"G_GSIZE_FORMAT", param_info %p, param_tag %d (%s)\n",
+ length,
+ item_size,
param_info,
param_tag,
g_type_tag_to_string (param_tag));
@@ -159,6 +161,7 @@ array_to_sv (GITypeInfo *info,
GIArgument arg;
SV *value;
gpointer element = elements + ((gsize) i) * item_size;
+ dwarn (" element %"G_GSSIZE_FORMAT": %p\n", i, element);
if (need_struct_value_semantics) {
raw_to_arg (&element, &arg, param_info);
} else {
@@ -188,6 +191,9 @@ array_to_sv (GITypeInfo *info,
g_base_info_unref ((GIBaseInfo *) param_info);
+ dwarn (" -> AV %p of length %"G_GSIZE_FORMAT"\n",
+ av, av_len (av) + 1);
+
return newRV_noinc ((SV *) av);
}
@@ -212,7 +218,7 @@ sv_to_array (GITransfer transfer,
gsize item_size;
gboolean need_struct_value_semantics;
- dwarn ("%s: sv %p\n", G_STRFUNC, sv);
+ dwarn ("sv %p\n", sv);
/* Add an array info entry even before the undef check so that the
* corresponding length arg is set to zero later by
@@ -241,9 +247,11 @@ sv_to_array (GITransfer transfer,
param_info = g_type_info_get_param_type (type_info, 0);
param_tag = g_type_info_get_tag (param_info);
- dwarn (" GArray: param_info %p with type tag %d (%s) and transfer %d\n",
- param_info, param_tag,
- g_type_tag_to_string (g_type_info_get_tag (param_info)),
+ dwarn ("type %d, param_info %p, param_tag %d (%s), transfer %d\n",
+ array_type,
+ param_info,
+ param_tag,
+ g_type_tag_to_string (param_tag),
transfer);
need_struct_value_semantics =
@@ -270,10 +278,10 @@ sv_to_array (GITransfer transfer,
for (i = 0; i < length; i++) {
SV **svp;
svp = av_fetch (av, i, 0);
+ dwarn (" element %"G_GSIZE_FORMAT": svp = %p\n", i, svp);
if (svp && gperl_sv_is_defined (*svp)) {
GIArgument arg;
- dwarn (" converting SV %p\n", *svp);
/* FIXME: Is it OK to always allow undef here? */
sv_to_arg (*svp, &arg, NULL, param_info,
item_transfer, TRUE, NULL);
@@ -301,8 +309,6 @@ sv_to_array (GITransfer transfer,
}
}
- dwarn (" -> array %p of size %d\n", array, array->len);
-
if (length_pos >= 0) {
array_info->length = length;
}
@@ -331,5 +337,8 @@ sv_to_array (GITransfer transfer,
g_base_info_unref ((GIBaseInfo *) param_info);
+ dwarn (" -> array %p of length %"G_GSIZE_FORMAT"\n",
+ return_array, length);
+
return return_array;
}
diff --git a/gperl-i11n-marshal-callback.c b/gperl-i11n-marshal-callback.c
index 4dd5dc2..af93b63 100644
--- a/gperl-i11n-marshal-callback.c
+++ b/gperl-i11n-marshal-callback.c
@@ -12,7 +12,7 @@ sv_to_callback (GIArgInfo * arg_info,
/* the destroy notify func is handled by _handle_automatic_arg */
- dwarn (" Perl callback at %d (%s)\n",
+ dwarn ("pos = %d, name = %s\n",
invocation_info->current_pos,
g_base_info_get_name (arg_info));
@@ -23,7 +23,7 @@ sv_to_callback (GIArgInfo * arg_info,
callback_info->free_after_use = FALSE;
g_base_info_unref (callback_interface_info);
- dwarn (" Perl callback data at %d, destroy at %d\n",
+ dwarn (" data at %d, destroy at %d\n",
callback_info->data_pos, callback_info->destroy_pos);
scope = (!gperl_sv_is_defined (sv))
@@ -31,17 +31,17 @@ sv_to_callback (GIArgInfo * arg_info,
: g_arg_info_get_scope (arg_info);
switch (scope) {
case GI_SCOPE_TYPE_CALL:
- dwarn (" Perl callback has scope 'call'\n");
+ dwarn (" scope = 'call'\n");
free_after_call (invocation_info,
(GFunc) release_perl_callback, callback_info);
break;
case GI_SCOPE_TYPE_NOTIFIED:
- dwarn (" Perl callback has scope 'notified'\n");
+ dwarn (" scope = 'notified'\n");
/* This case is already taken care of by the notify
* stuff above */
break;
case GI_SCOPE_TYPE_ASYNC:
- dwarn (" Perl callback has scope 'async'\n");
+ dwarn (" scope = 'async'\n");
/* FIXME: callback_info->free_after_use = TRUE; */
break;
default:
@@ -53,7 +53,7 @@ sv_to_callback (GIArgInfo * arg_info,
g_slist_prepend (invocation_info->callback_infos,
callback_info);
- dwarn (" returning Perl closure %p from info %p\n",
+ dwarn (" -> closure %p from info %p\n",
callback_info->closure, callback_info);
return callback_info->closure;
}
@@ -68,7 +68,7 @@ sv_to_callback_data (SV * sv,
for (l = invocation_info->callback_infos; l != NULL; l = l->next) {
GPerlI11nPerlCallbackInfo *callback_info = l->data;
if (callback_info->data_pos == ((gint) invocation_info->current_pos)) {
- dwarn (" user data for Perl callback %p\n",
+ dwarn ("user data for Perl callback %p\n",
callback_info);
attach_perl_callback_data (callback_info, sv);
/* If the user did not specify any code and data and if
@@ -81,7 +81,7 @@ sv_to_callback_data (SV * sv,
!gperl_sv_is_defined (callback_info->data) &&
-1 == callback_info->destroy_pos)
{
- dwarn (" handing over NULL");
+ dwarn (" -> handing over NULL");
return NULL;
}
return callback_info;
@@ -89,7 +89,7 @@ sv_to_callback_data (SV * sv,
}
if (invocation_info->is_callback) {
GPerlI11nCCallbackInfo *wrapper = INT2PTR (GPerlI11nCCallbackInfo*, SvIV (sv));
- dwarn (" user data for C callback %p\n", wrapper);
+ dwarn ("user data for C callback %p\n", wrapper);
return wrapper->data;
}
return NULL;
@@ -107,7 +107,7 @@ callback_to_sv (GICallableInfo *interface, gpointer func, GPerlI11nInvocationInf
for (l = invocation_info->callback_infos; l != NULL; l = l->next) {
GPerlI11nCCallbackInfo *callback_info = l->data;
if ((gint) invocation_info->current_pos == callback_info->destroy_pos) {
- dwarn (" destroy notify for C callback %p\n",
+ dwarn ("destroy notify for C callback %p\n",
callback_info);
callback_info->destroy = func;
/* release_c_callback is called from
@@ -119,7 +119,7 @@ callback_to_sv (GICallableInfo *interface, gpointer func, GPerlI11nInvocationInf
arg_info = g_callable_info_get_arg (invocation_info->interface,
(gint) invocation_info->current_pos);
- dwarn (" C callback at %d (%s)\n",
+ dwarn ("C callback: pos = %d, name = %s\n",
invocation_info->current_pos,
g_base_info_get_name (arg_info));
@@ -137,7 +137,7 @@ callback_to_sv (GICallableInfo *interface, gpointer func, GPerlI11nInvocationInf
}
callback_info->data_sv = data_sv;
- dwarn (" C callback data at %d, destroy at %d\n",
+ dwarn (" data at %d, destroy at %d\n",
callback_info->data_pos, callback_info->destroy_pos);
@@ -145,7 +145,7 @@ callback_to_sv (GICallableInfo *interface, gpointer func, GPerlI11nInvocationInf
g_slist_prepend (invocation_info->callback_infos,
callback_info);
- dwarn (" returning C closure %p from info %p\n",
+ dwarn (" -> SV %p from info %p\n",
code_sv, callback_info);
return code_sv;
}
@@ -160,7 +160,7 @@ callback_data_to_sv (gpointer data,
for (l = invocation_info->callback_infos; l != NULL; l = l->next) {
GPerlI11nCCallbackInfo *callback_info = l->data;
if (callback_info->data_pos == (gint) invocation_info->current_pos) {
- dwarn (" user data for C callback %p\n",
+ dwarn ("user data for C callback %p\n",
callback_info);
attach_c_callback_data (callback_info, data);
return callback_info->data_sv;
@@ -168,7 +168,7 @@ callback_data_to_sv (gpointer data,
}
if (data && invocation_info->is_callback) {
GPerlI11nPerlCallbackInfo *wrapper = data;
- dwarn (" user data for Perl callback %p\n", wrapper);
+ dwarn ("user data for Perl callback %p\n", wrapper);
return wrapper->data;
}
return NULL;
diff --git a/gperl-i11n-marshal-hash.c b/gperl-i11n-marshal-hash.c
index f8f0c47..2c5f0e8 100644
--- a/gperl-i11n-marshal-hash.c
+++ b/gperl-i11n-marshal-hash.c
@@ -16,6 +16,8 @@ ghash_to_sv (GITypeInfo *info,
GHashTableIter iter;
HV *hv;
+ dwarn ("pointer = %p\n", pointer);
+
if (pointer == NULL) {
return &PL_sv_undef;
}
@@ -32,10 +34,7 @@ ghash_to_sv (GITypeInfo *info,
value_type_tag = g_type_info_get_tag (value_param_info);
#endif
- dwarn (" GHashTable: pointer %p\n"
- " key type tag %d (%s)\n"
- " value type tag %d (%s)\n",
- pointer,
+ dwarn (" key tag = %d (%s), value tag = %d (%s)\n",
key_type_tag, g_type_tag_to_string (key_type_tag),
value_type_tag, g_type_tag_to_string (value_type_tag));
@@ -46,13 +45,13 @@ ghash_to_sv (GITypeInfo *info,
GIArgument arg = { 0, };
SV *key_sv, *value_sv;
- dwarn (" converting key pointer %p\n", key_p);
+ dwarn (" key pointer %p\n", key_p);
arg.v_pointer = key_p;
key_sv = arg_to_sv (&arg, key_param_info, item_transfer, NULL);
if (key_sv == NULL)
break;
- dwarn (" converting value pointer %p\n", value_p);
+ dwarn (" value pointer %p\n", value_p);
arg.v_pointer = value_p;
value_sv = arg_to_sv (&arg, value_param_info, item_transfer, NULL);
if (value_sv == NULL)
@@ -82,7 +81,7 @@ sv_to_ghash (GITransfer transfer,
GEqualFunc equal_func;
I32 n_keys;
- dwarn ("%s: sv %p\n", G_STRFUNC, sv);
+ dwarn ("sv = %p\n", sv);
if (!gperl_sv_is_defined (sv))
return NULL;
@@ -123,9 +122,7 @@ sv_to_ghash (GITransfer transfer,
break;
}
- dwarn (" GHashTable with transfer %d\n"
- " key_param_info %p with type tag %d (%s)\n"
- " value_param_info %p with type tag %d (%s)\n",
+ dwarn (" transfer = %d, key info = %p, key tag = %d (%s), value info = %p, value tag = %d (%s)\n",
transfer,
key_param_info,
g_type_info_get_tag (key_param_info),
@@ -148,8 +145,8 @@ sv_to_ghash (GITransfer transfer,
key_p = value_p = NULL;
sv = hv_iterkeysv (he);
+ dwarn (" key SV %p\n", sv);
if (sv && gperl_sv_is_defined (sv)) {
- dwarn (" converting key SV %p\n", sv);
/* FIXME: Is it OK to always allow undef here? */
sv_to_arg (sv, &arg, NULL, key_param_info,
item_transfer, TRUE, NULL);
@@ -157,8 +154,8 @@ sv_to_ghash (GITransfer transfer,
}
sv = hv_iterval (hv, he);
+ dwarn (" value SV %p\n", sv);
if (sv && gperl_sv_is_defined (sv)) {
- dwarn (" converting value SV %p\n", sv);
sv_to_arg (sv, &arg, NULL, key_param_info,
item_transfer, TRUE, NULL);
value_p = arg.v_pointer;
@@ -169,7 +166,7 @@ sv_to_ghash (GITransfer transfer,
}
out:
- dwarn (" -> hash %p of size %d\n", hash, g_hash_table_size (hash));
+ dwarn (" -> hash %p of size %d\n", hash, g_hash_table_size (hash));
g_base_info_unref ((GIBaseInfo *) key_param_info);
g_base_info_unref ((GIBaseInfo *) value_param_info);
diff --git a/gperl-i11n-marshal-interface.c b/gperl-i11n-marshal-interface.c
index dedee79..93c1ce2 100644
--- a/gperl-i11n-marshal-interface.c
+++ b/gperl-i11n-marshal-interface.c
@@ -13,15 +13,15 @@ instance_sv_to_pointer (GICallableInfo *info, SV *sv)
/* FIXME: Much of this code is duplicated in sv_to_interface. */
- dwarn (" instance_sv_to_pointer: container name: %s, info type: %d\n",
+ dwarn ("container name = %s, info type = %d (%s)\n",
g_base_info_get_name (container),
- info_type);
+ info_type, g_info_type_to_string (info_type));
switch (info_type) {
case GI_INFO_TYPE_OBJECT:
case GI_INFO_TYPE_INTERFACE:
pointer = gperl_get_object (sv);
- dwarn (" -> object pointer: %p\n", pointer);
+ dwarn (" -> object pointer: %p\n", pointer);
break;
case GI_INFO_TYPE_BOXED:
@@ -30,22 +30,22 @@ instance_sv_to_pointer (GICallableInfo *info, SV *sv)
{
GType type = get_gtype ((GIRegisteredTypeInfo *) container);
if (!type || type == G_TYPE_NONE) {
- dwarn (" unboxed type\n");
+ dwarn (" -> untyped record\n");
pointer = sv_to_struct (GI_TRANSFER_NOTHING,
container,
info_type,
sv);
} else {
- dwarn (" boxed type: %s (%"G_GSIZE_FORMAT")\n",
+ dwarn (" -> boxed: type=%s (%"G_GSIZE_FORMAT")\n",
g_type_name (type), type);
pointer = gperl_get_boxed_check (sv, type);
}
- dwarn (" -> boxed pointer: %p\n", pointer);
+ dwarn (" -> record pointer: %p\n", pointer);
break;
}
default:
- ccroak ("instance_sv_to_pointer: Don't know how to handle info type %d", info_type);
+ ccroak ("Don't know how to handle info type %d for instance SV", info_type);
}
return pointer;
@@ -64,15 +64,15 @@ instance_pointer_to_sv (GICallableInfo *info, gpointer pointer)
/* FIXME: Much of this code is duplicated in interface_to_sv. */
- dwarn (" instance_pointer_to_sv: container name: %s, info type: %d\n",
+ dwarn ("container name = %s, info type = %d (%s)\n",
g_base_info_get_name (container),
- info_type);
+ info_type, g_info_type_to_string (info_type));
switch (info_type) {
case GI_INFO_TYPE_OBJECT:
case GI_INFO_TYPE_INTERFACE:
sv = gperl_new_object (pointer, FALSE);
- dwarn (" -> object SV: %p\n", sv);
+ dwarn (" -> object SV: %p\n", sv);
break;
case GI_INFO_TYPE_BOXED:
@@ -81,19 +81,19 @@ instance_pointer_to_sv (GICallableInfo *info, gpointer pointer)
{
GType type = get_gtype ((GIRegisteredTypeInfo *) container);
if (!type || type == G_TYPE_NONE) {
- dwarn (" unboxed type\n");
+ dwarn (" -> untyped record\n");
sv = struct_to_sv (container, info_type, pointer, FALSE);
} else {
- dwarn (" boxed type: %s (%"G_GSIZE_FORMAT")\n",
+ dwarn (" -> boxed: type=%s (%"G_GSIZE_FORMAT")\n",
g_type_name (type), type);
sv = gperl_new_boxed (pointer, type, FALSE);
}
- dwarn (" -> boxed pointer: %p\n", pointer);
+ dwarn (" -> record pointer: %p\n", pointer);
break;
}
default:
- ccroak ("instance_pointer_to_sv: Don't know how to handle info type %d", info_type);
+ ccroak ("Don't know how to handle info type %d for instance pointer", info_type);
}
return sv;
@@ -116,8 +116,9 @@ sv_to_interface (GIArgInfo * arg_info,
ccroak ("Could not convert sv %p to pointer", sv);
info_type = g_base_info_get_type (interface);
- dwarn (" interface %p (%s) of type %d\n",
- interface, g_base_info_get_name (interface), info_type);
+ dwarn ("interface = %p (%s), type = %d (%s)\n",
+ interface, g_base_info_get_name (interface),
+ info_type, g_info_type_to_string (info_type));
switch (info_type) {
case GI_INFO_TYPE_OBJECT:
@@ -155,7 +156,7 @@ sv_to_interface (GIArgInfo * arg_info,
if (!type || type == G_TYPE_NONE) {
const gchar *namespace, *name, *package;
GType parent_type;
- dwarn (" untyped record\n");
+ dwarn (" -> untyped record\n");
g_assert (!need_value_semantics);
/* Find out whether this untyped record is a member of
* a boxed union before using raw hash-to-struct
@@ -181,14 +182,14 @@ sv_to_interface (GIArgInfo * arg_info,
else if (type == G_TYPE_CLOSURE) {
/* FIXME: User cannot supply user data. */
- dwarn (" closure type\n");
+ dwarn (" -> closure\n");
g_assert (!need_value_semantics);
arg->v_pointer = gperl_closure_new (sv, NULL, FALSE);
}
else if (type == G_TYPE_VALUE) {
GValue *gvalue = SvGValueWrapper (sv);
- dwarn (" value type\n");
+ dwarn (" -> value\n");
if (!gvalue)
ccroak ("Cannot convert arbitrary SV to GValue");
if (need_value_semantics) {
@@ -206,7 +207,7 @@ sv_to_interface (GIArgInfo * arg_info,
}
else if (g_type_is_a (type, G_TYPE_BOXED)) {
- dwarn (" boxed type: %s, name=%s, caller-allocates=%d, is-pointer=%d\n",
+ dwarn (" -> boxed: type=%s, name=%s, caller-allocates=%d, is-pointer=%d\n",
g_type_name (type),
g_base_info_get_name (interface),
g_arg_info_is_caller_allocates (arg_info),
@@ -233,7 +234,7 @@ sv_to_interface (GIArgInfo * arg_info,
#if GLIB_CHECK_VERSION (2, 24, 0)
else if (g_type_is_a (type, G_TYPE_VARIANT)) {
- dwarn (" variant type\n");
+ dwarn (" -> variant type\n");
g_assert (!need_value_semantics);
arg->v_pointer = SvGVariant (sv);
if (GI_TRANSFER_EVERYTHING == transfer)
@@ -298,14 +299,14 @@ interface_to_sv (GITypeInfo* info, GIArgument *arg, gboolean own, GPerlI11nInvoc
GIInfoType info_type;
SV *sv = NULL;
- dwarn (" interface_to_sv: arg %p, info %p\n",
- arg, info);
+ dwarn ("arg %p, info %p\n", arg, info);
interface = g_type_info_get_interface (info);
if (!interface)
ccroak ("Could not convert arg %p to SV", arg);
info_type = g_base_info_get_type (interface);
- dwarn (" info type: %d (%s)\n", info_type, g_info_type_to_string (info_type));
+ dwarn (" info type: %d (%s)\n",
+ info_type, g_info_type_to_string (info_type));
switch (info_type) {
case GI_INFO_TYPE_OBJECT:
@@ -321,26 +322,26 @@ interface_to_sv (GITypeInfo* info, GIArgument *arg, gboolean own, GPerlI11nInvoc
GType type;
type = get_gtype ((GIRegisteredTypeInfo *) interface);
if (!type || type == G_TYPE_NONE) {
- dwarn (" untyped record\n");
+ dwarn (" -> untyped record\n");
sv = struct_to_sv (interface, info_type, arg->v_pointer, own);
}
else if (type == G_TYPE_VALUE) {
- dwarn (" value type\n");
+ dwarn (" -> value\n");
sv = gperl_sv_from_value (arg->v_pointer);
if (own)
g_boxed_free (type, arg->v_pointer);
}
else if (g_type_is_a (type, G_TYPE_BOXED)) {
- dwarn (" boxed type: %"G_GSIZE_FORMAT" (%s)\n",
+ dwarn (" -> boxed: type=%"G_GSIZE_FORMAT" (%s)\n",
type, g_type_name (type));
sv = gperl_new_boxed (arg->v_pointer, type, own);
}
#if GLIB_CHECK_VERSION (2, 24, 0)
else if (g_type_is_a (type, G_TYPE_VARIANT)) {
- dwarn (" variant type\n");
+ dwarn (" -> variant\n");
sv = own ? newSVGVariant_noinc (arg->v_pointer)
: newSVGVariant (arg->v_pointer);
}
diff --git a/gperl-i11n-marshal-list.c b/gperl-i11n-marshal-list.c
index 64a79b8..41c370d 100644
--- a/gperl-i11n-marshal-list.c
+++ b/gperl-i11n-marshal-list.c
@@ -3,14 +3,14 @@
static void
free_list (GList *list)
{
- dwarn ("free_list %p\n", list);
+ dwarn ("%p\n", list);
g_list_free (list);
}
static void
free_slist (GSList *list)
{
- dwarn ("free_slist %p\n", list);
+ dwarn ("%p\n", list);
g_slist_free (list);
}
@@ -40,7 +40,7 @@ glist_to_sv (GITypeInfo* info,
: GI_TRANSFER_NOTHING;
param_info = g_type_info_get_param_type (info, 0);
- dwarn (" G(S)List: pointer %p, param_info %p with type tag %d (%s)\n",
+ dwarn ("pointer = %p, param_info = %p, param tag = %d (%s)\n",
pointer,
param_info,
g_type_info_get_tag (param_info),
@@ -51,7 +51,7 @@ glist_to_sv (GITypeInfo* info,
av = newAV ();
for (i = pointer; i; i = i->next) {
GIArgument arg = {0,};
- dwarn (" converting pointer %p\n", i->data);
+ dwarn (" element %p: %p\n", i, i->data);
arg.v_pointer = i->data;
value = arg_to_sv (&arg, param_info, item_transfer, NULL);
if (value)
@@ -67,6 +67,8 @@ glist_to_sv (GITypeInfo* info,
g_base_info_unref ((GIBaseInfo *) param_info);
+ dwarn (" -> AV = %p, length = %ld\n", av, av_len (av) + 1);
+
return newRV_noinc ((SV *) av);
}
@@ -80,7 +82,7 @@ sv_to_glist (GITransfer transfer, GITypeInfo * type_info, SV * sv, GPerlI11nInvo
gboolean is_slist;
gint i, length;
- dwarn ("%s: sv %p\n", G_STRFUNC, sv);
+ dwarn ("sv = %p\n", sv);
if (!gperl_sv_is_defined (sv))
return NULL;
@@ -94,7 +96,7 @@ sv_to_glist (GITransfer transfer, GITypeInfo * type_info, SV * sv, GPerlI11nInvo
: GI_TRANSFER_NOTHING;
param_info = g_type_info_get_param_type (type_info, 0);
- dwarn (" G(S)List: param_info %p with type tag %d (%s) and transfer %d\n",
+ dwarn (" param_info = %p, param tag = %d (%s), transfer = %d\n",
param_info,
g_type_info_get_tag (param_info),
g_type_tag_to_string (g_type_info_get_tag (param_info)),
@@ -106,9 +108,9 @@ sv_to_glist (GITransfer transfer, GITypeInfo * type_info, SV * sv, GPerlI11nInvo
for (i = 0; i < length; i++) {
SV **svp;
svp = av_fetch (av, i, 0);
+ dwarn (" element %d: svp = %p\n", i, svp);
if (svp && gperl_sv_is_defined (*svp)) {
GIArgument arg;
- dwarn (" converting SV %p\n", *svp);
/* FIXME: Is it OK to always allow undef here? */
sv_to_arg (*svp, &arg, NULL, param_info,
item_transfer, TRUE, NULL);
@@ -126,7 +128,7 @@ sv_to_glist (GITransfer transfer, GITypeInfo * type_info, SV * sv, GPerlI11nInvo
is_slist ? ((GFunc)free_slist) : ((GFunc)free_list),
list);
- dwarn (" -> list %p of length %d\n", list, g_list_length (list));
+ dwarn (" -> list = %p, length = %d\n", list, g_list_length (list));
g_base_info_unref ((GIBaseInfo *) param_info);
diff --git a/gperl-i11n-marshal-struct.c b/gperl-i11n-marshal-struct.c
index e4ff30e..51c8298 100644
--- a/gperl-i11n-marshal-struct.c
+++ b/gperl-i11n-marshal-struct.c
@@ -30,7 +30,7 @@ struct_to_sv (GIBaseInfo* info,
{
HV *hv;
- dwarn ("%s: pointer %p\n", G_STRFUNC, pointer);
+ dwarn ("pointer = %p\n", pointer);
if (pointer == NULL) {
return &PL_sv_undef;
@@ -62,6 +62,7 @@ struct_to_sv (GIBaseInfo* info,
SV *sv;
field_info =
g_struct_info_get_field ((GIStructInfo *) info, i);
+ dwarn (" field %d (%s)\n", i, g_base_info_get_name (field_info));
/* FIXME: Check GIFieldInfoFlags. */
/* FIXME: Is it right to use GI_TRANSFER_NOTHING
* here? */
@@ -105,7 +106,7 @@ sv_to_struct (GITransfer transfer,
GITransfer field_transfer;
gpointer pointer = NULL;
- dwarn ("%s: sv %p\n", G_STRFUNC, sv);
+ dwarn ("sv = %p\n", sv);
if (!gperl_sv_is_defined (sv))
return NULL;
@@ -139,10 +140,10 @@ sv_to_struct (GITransfer transfer,
g_assert_not_reached ();
}
- dwarn (" size: %"G_GSIZE_FORMAT"\n", size);
+ dwarn (" size = %"G_GSIZE_FORMAT"\n", size);
field_transfer = GI_TRANSFER_NOTHING;
- dwarn (" transfer: %d\n", transfer);
+ dwarn (" transfer = %d\n", transfer);
switch (transfer) {
case GI_TRANSFER_EVERYTHING:
field_transfer = GI_TRANSFER_EVERYTHING;
@@ -173,6 +174,7 @@ sv_to_struct (GITransfer transfer,
/* FIXME: Check GIFieldInfoFlags. */
field_name = g_base_info_get_name (
(GIBaseInfo *) field_info);
+ dwarn (" field %d (%s)\n", i, field_name);
svp = hv_fetch (hv, field_name, strlen (field_name), 0);
if (svp && gperl_sv_is_defined (*svp)) {
set_field (field_info, pointer,
diff --git a/gperl-i11n-union.c b/gperl-i11n-union.c
index 60d1bbf..b62210d 100644
--- a/gperl-i11n-union.c
+++ b/gperl-i11n-union.c
@@ -55,8 +55,8 @@ associate_union_members_with_gtype (GIUnionInfo *info, const gchar *package, GTy
type_name = g_base_info_get_name (field_interface);
full_name = g_strconcat (package, "::", type_name, UNION_MEMBER_TYPE_SUFFIX, NULL);
- dwarn ("associating %s with GType %"G_GSIZE_FORMAT"\n",
- type_name, type);
+ dwarn ("%s::%s => %"G_GSIZE_FORMAT" (%s)\n",
+ package, type_name, type, g_type_name (type));
sv = get_sv (full_name, GV_ADD);
sv_setuv (sv, type);
g_free (full_name);
diff --git a/gperl-i11n-vfunc-interface.c b/gperl-i11n-vfunc-interface.c
index d66aa5d..9c7d8ec 100644
--- a/gperl-i11n-vfunc-interface.c
+++ b/gperl-i11n-vfunc-interface.c
@@ -42,7 +42,7 @@ generic_interface_init (gpointer iface, gpointer data)
/* callback_info takes over ownership of perl_method_name. */
callback_info = create_perl_callback_closure_for_named_sub (
field_interface_info, perl_method_name);
- dwarn ("generic_interface_init: installing vfunc %s.%s as %s at offset %d (vs. %d) inside
%p\n",
+ dwarn ("installing vfunc %s.%s as %s at offset %d (vs. %d) inside %p\n",
g_base_info_get_name (info), vfunc_name, perl_method_name,
field_offset, g_vfunc_info_get_offset (vfunc_info),
iface);
@@ -61,6 +61,6 @@ generic_interface_finalize (gpointer iface, gpointer data)
{
GIInterfaceInfo *info = data;
PERL_UNUSED_VAR (iface);
- dwarn ("releasing interface info\n");
+ dwarn ("info = %p\n", info);
g_base_info_unref ((GIBaseInfo *) info);
}
diff --git a/gperl-i11n-vfunc-object.c b/gperl-i11n-vfunc-object.c
index 6e3f48f..2f9be47 100644
--- a/gperl-i11n-vfunc-object.c
+++ b/gperl-i11n-vfunc-object.c
@@ -48,7 +48,7 @@ generic_class_init (GIObjectInfo *info, const gchar *target_package, gpointer cl
HV * stash = gv_stashpv (target_package, 0);
GV * slot = gv_fetchmethod (stash, perl_method_name);
if (!slot) {
- dwarn ("generic_class_init: skipping vfunc %s.%s because it has no
implementation\n",
+ dwarn ("skipping vfunc %s.%s because it has no implementation\n",
g_base_info_get_name (info), vfunc_name);
g_base_info_unref (vfunc_info);
g_free (perl_method_name);
@@ -68,7 +68,7 @@ generic_class_init (GIObjectInfo *info, const gchar *target_package, gpointer cl
/* callback_info takes over ownership of perl_method_name. */
callback_info = create_perl_callback_closure_for_named_sub (
field_interface_info, perl_method_name);
- dwarn ("generic_class_init: installing vfunc %s.%s as %s at offset %d (vs. %d) inside %p\n",
+ dwarn ("installing vfunc %s.%s as %s at offset %d (vs. %d) inside %p\n",
g_base_info_get_name (info), vfunc_name, perl_method_name,
field_offset, g_vfunc_info_get_offset (vfunc_info),
class);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]