summaryrefslogtreecommitdiff
path: root/girepository/girmodule.c
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2009-02-20 11:05:53 -0500
committerColin Walters <walters@verbum.org>2009-02-20 11:05:53 -0500
commit1f024a1a2894448d37e91feb0b5a047f9ce55a96 (patch)
tree0f1a5e99fee2da5c88bbb2d3340f0f4e9eab0c5f /girepository/girmodule.c
parentff4628ced457a5460f854abb8cdf923cd67c4e6e (diff)
downloadgobject-introspection-1f024a1a2894448d37e91feb0b5a047f9ce55a96.tar.gz
typelib building: Compress 5 arguments for g_ir_node_build_typelib
This makes it easier to add more over time without changing lots of unrelated code.
Diffstat (limited to 'girepository/girmodule.c')
-rw-r--r--girepository/girmodule.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/girepository/girmodule.c b/girepository/girmodule.c
index 5f5ae092..107b21bb 100644
--- a/girepository/girmodule.c
+++ b/girepository/girmodule.c
@@ -234,6 +234,7 @@ g_ir_module_build_typelib (GIrModule *module,
for (e = module->entries, i = 0; e; e = e->next, i++)
{
+ GIrTypelibBuild build;
GIrNode *node = e->data;
if (strchr (node->name, '.'))
@@ -277,8 +278,12 @@ g_ir_module_build_typelib (GIrModule *module,
entry->offset = offset;
entry->name = write_string (node->name, strings, data, &offset2);
- g_ir_node_build_typelib (node, module, modules,
- strings, types, data, &offset, &offset2);
+ build.module = module;
+ build.modules = modules;
+ build.strings = strings;
+ build.types = types;
+ build.data = data;
+ g_ir_node_build_typelib (node, &build, &offset, &offset2);
if (offset2 > old_offset + g_ir_node_get_full_size (node))
g_error ("left a hole of %d bytes\n", offset2 - old_offset - g_ir_node_get_full_size (node));