diff --git a/ChangeLog b/ChangeLog index 8faab78a..4a67d11f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-11-18 Andreas Rottmann + + * girepository/girnode.c (g_ir_node_build_typelib): Use sizeof() + instead of hard-coding struct sizes. + 2008-11-18 Owen Taylor Bug 561296 - Add "storage type" to the typelib data for enums diff --git a/girepository/girnode.c b/girepository/girnode.c index 8e9d5d1a..75dd265c 100644 --- a/girepository/girnode.c +++ b/girepository/girnode.c @@ -1576,8 +1576,8 @@ g_ir_node_build_typelib (GIrNode *node, signature = *offset2; n = g_list_length (function->parameters); - *offset += 16; - *offset2 += 8 + n * 12; + *offset += sizeof(FunctionBlob); + *offset2 += sizeof(SignatureBlob) + n * sizeof(ArgBlob); blob->blob_type = BLOB_TYPE_FUNCTION; blob->deprecated = function->deprecated; @@ -1628,8 +1628,8 @@ g_ir_node_build_typelib (GIrNode *node, signature = *offset2; n = g_list_length (function->parameters); - *offset += 12; - *offset2 += 8 + n * 12; + *offset += sizeof(CallbackBlob); + *offset2 += sizeof(SignatureBlob) + n * sizeof(ArgBlob); blob->blob_type = BLOB_TYPE_CALLBACK; blob->deprecated = function->deprecated; @@ -1671,8 +1671,8 @@ g_ir_node_build_typelib (GIrNode *node, signature = *offset2; n = g_list_length (signal->parameters); - *offset += 12; - *offset2 += 8 + n * 12; + *offset += sizeof(SignalBlob); + *offset2 += sizeof(SignatureBlob) + n * sizeof(ArgBlob); blob->deprecated = signal->deprecated; blob->run_first = signal->run_first; @@ -1722,8 +1722,8 @@ g_ir_node_build_typelib (GIrNode *node, signature = *offset2; n = g_list_length (vfunc->parameters); - *offset += 16; - *offset2 += 8 + n * 12; + *offset += sizeof(VFuncBlob); + *offset2 += sizeof(SignatureBlob) + n * sizeof(ArgBlob); blob->name = write_string (node->name, strings, data, offset2); blob->must_chain_up = 0; /* FIXME */