summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--gobject-introspection/gen-introspect.c9
-rw-r--r--vapigen/valagidlparser.vala2
3 files changed, 16 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index b79f92fab..dc7b6a88c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-11-24 Jürg Billeter <j@bitron.ch>
+
+ * gobject-introspection/gen-introspect.c: avoid NULL function parameter
+ names
+
+ * vapigen/valagidlparser.vala: accept iconv_t
+
2007-11-23 Jürg Billeter <j@bitron.ch>
* configure.ac, gobject-introspection/Makefile.am,
diff --git a/gobject-introspection/gen-introspect.c b/gobject-introspection/gen-introspect.c
index 865de37a0..edd64ab5d 100644
--- a/gobject-introspection/gen-introspect.c
+++ b/gobject-introspection/gen-introspect.c
@@ -710,10 +710,15 @@ static void g_igenerator_process_function_symbol (GIGenerator *igenerator, CSymb
gifunc->result = (GIdlNodeParam *) g_idl_node_new (G_IDL_NODE_PARAM);
gifunc->result->type = get_type_from_ctype (sym->base_type->base_type);
GList *param_l;
- for (param_l = sym->base_type->child_list; param_l != NULL; param_l = param_l->next) {
+ int i;
+ for (param_l = sym->base_type->child_list, i = 1; param_l != NULL; param_l = param_l->next, i++) {
CSymbol *param_sym = param_l->data;
GIdlNodeParam *param = (GIdlNodeParam *) g_idl_node_new (G_IDL_NODE_PARAM);
- param->node.name = param_sym->ident;
+ if (param_sym->ident == NULL) {
+ param->node.name = g_strdup_printf ("p%d", i);
+ } else {
+ param->node.name = param_sym->ident;
+ }
param->type = get_type_from_ctype (param_sym->base_type);
gifunc->parameters = g_list_append (gifunc->parameters, param);
}
diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala
index 3ae87797d..489601bb0 100644
--- a/vapigen/valagidlparser.vala
+++ b/vapigen/valagidlparser.vala
@@ -866,6 +866,8 @@ public class Vala.GIdlParser : CodeVisitor {
type.type_name = "FileStream";
} else if (n == "struct") {
type.type_name = "pointer";
+ } else if (n == "iconv_t") {
+ type.type_name = "pointer";
} else if (n == "GType") {
type.namespace_name = "GLib";
type.type_name = "Type";