1
0
mirror of https://gitlab.gnome.org/GNOME/glib.git synced 2025-04-02 22:03:07 +02:00

girepository: Use size_t for size-related arguments and return types

We used to use unsigned values, while they should be big enough to old
the data we're handling here, it's cleaner and clearer if we use size_t
as type for such values, as it makes straight forward to understand what
a value should contain. It also makes these values more future proof.
This commit is contained in:
Marco Trevisan (Treviño) 2024-01-16 01:00:07 +01:00
parent de8ac339fb
commit 157f93d2ee
11 changed files with 49 additions and 51 deletions

@ -357,7 +357,7 @@ GIBaseInfo *
gi_info_new (GIInfoType type, gi_info_new (GIInfoType type,
GIBaseInfo *container, GIBaseInfo *container,
GITypelib *typelib, GITypelib *typelib,
uint32_t offset) size_t offset)
{ {
return gi_info_new_full (type, ((GIRealInfo*)container)->repository, container, typelib, offset); return gi_info_new_full (type, ((GIRealInfo*)container)->repository, container, typelib, offset);
} }

@ -96,6 +96,6 @@ GI_AVAILABLE_IN_ALL
GIBaseInfo * gi_info_new (GIInfoType type, GIBaseInfo * gi_info_new (GIInfoType type,
GIBaseInfo *container, GIBaseInfo *container,
GITypelib *typelib, GITypelib *typelib,
uint32_t offset); size_t offset);
G_END_DECLS G_END_DECLS

@ -114,7 +114,7 @@ gi_enum_info_get_value (GIEnumInfo *info,
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
int offset; size_t offset;
g_return_val_if_fail (info != NULL, NULL); g_return_val_if_fail (info != NULL, NULL);
g_return_val_if_fail (GI_IS_ENUM_INFO (info), NULL); g_return_val_if_fail (GI_IS_ENUM_INFO (info), NULL);
@ -164,7 +164,7 @@ GIFunctionInfo *
gi_enum_info_get_method (GIEnumInfo *info, gi_enum_info_get_method (GIEnumInfo *info,
unsigned int n) unsigned int n)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
EnumBlob *blob; EnumBlob *blob;

@ -135,7 +135,7 @@ GIPropertyInfo *
gi_interface_info_get_property (GIInterfaceInfo *info, gi_interface_info_get_property (GIInterfaceInfo *info,
unsigned int n) unsigned int n)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
InterfaceBlob *blob; InterfaceBlob *blob;
@ -192,7 +192,7 @@ GIFunctionInfo *
gi_interface_info_get_method (GIInterfaceInfo *info, gi_interface_info_get_method (GIInterfaceInfo *info,
unsigned int n) unsigned int n)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
InterfaceBlob *blob; InterfaceBlob *blob;
@ -230,7 +230,7 @@ GIFunctionInfo *
gi_interface_info_find_method (GIInterfaceInfo *info, gi_interface_info_find_method (GIInterfaceInfo *info,
const char *name) const char *name)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header = (Header *)rinfo->typelib->data; Header *header = (Header *)rinfo->typelib->data;
InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset];
@ -280,7 +280,7 @@ GISignalInfo *
gi_interface_info_get_signal (GIInterfaceInfo *info, gi_interface_info_get_signal (GIInterfaceInfo *info,
unsigned int n) unsigned int n)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
InterfaceBlob *blob; InterfaceBlob *blob;
@ -375,7 +375,7 @@ GIVFuncInfo *
gi_interface_info_get_vfunc (GIInterfaceInfo *info, gi_interface_info_get_vfunc (GIInterfaceInfo *info,
unsigned int n) unsigned int n)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
InterfaceBlob *blob; InterfaceBlob *blob;
@ -416,7 +416,7 @@ GIVFuncInfo *
gi_interface_info_find_vfunc (GIInterfaceInfo *info, gi_interface_info_find_vfunc (GIInterfaceInfo *info,
const char *name) const char *name)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
InterfaceBlob *blob; InterfaceBlob *blob;
@ -474,7 +474,7 @@ GIConstantInfo *
gi_interface_info_get_constant (GIInterfaceInfo *info, gi_interface_info_get_constant (GIInterfaceInfo *info,
unsigned int n) unsigned int n)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
InterfaceBlob *blob; InterfaceBlob *blob;

@ -59,9 +59,9 @@
* Returns: field offset, in bytes * Returns: field offset, in bytes
* Since: 2.80 * Since: 2.80
*/ */
static uint32_t static size_t
gi_object_info_get_field_offset (GIObjectInfo *info, gi_object_info_get_field_offset (GIObjectInfo *info,
unsigned int n) size_t n)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header = (Header *)rinfo->typelib->data; Header *header = (Header *)rinfo->typelib->data;
@ -320,7 +320,7 @@ GIFieldInfo *
gi_object_info_get_field (GIObjectInfo *info, gi_object_info_get_field (GIObjectInfo *info,
unsigned int n) unsigned int n)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
g_return_val_if_fail (info != NULL, NULL); g_return_val_if_fail (info != NULL, NULL);
@ -368,7 +368,7 @@ GIPropertyInfo *
gi_object_info_get_property (GIObjectInfo *info, gi_object_info_get_property (GIObjectInfo *info,
unsigned int n) unsigned int n)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
ObjectBlob *blob; ObjectBlob *blob;
@ -427,7 +427,7 @@ GIFunctionInfo *
gi_object_info_get_method (GIObjectInfo *info, gi_object_info_get_method (GIObjectInfo *info,
unsigned int n) unsigned int n)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
ObjectBlob *blob; ObjectBlob *blob;
@ -468,7 +468,7 @@ GIFunctionInfo *
gi_object_info_find_method (GIObjectInfo *info, gi_object_info_find_method (GIObjectInfo *info,
const char *name) const char *name)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
ObjectBlob *blob; ObjectBlob *blob;
@ -588,7 +588,7 @@ GISignalInfo *
gi_object_info_get_signal (GIObjectInfo *info, gi_object_info_get_signal (GIObjectInfo *info,
unsigned int n) unsigned int n)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
ObjectBlob *blob; ObjectBlob *blob;
@ -629,10 +629,10 @@ GISignalInfo *
gi_object_info_find_signal (GIObjectInfo *info, gi_object_info_find_signal (GIObjectInfo *info,
const char *name) const char *name)
{ {
unsigned int n_signals; size_t n_signals;
n_signals = gi_object_info_get_n_signals (info); n_signals = gi_object_info_get_n_signals (info);
for (unsigned int i = 0; i < n_signals; i++) for (size_t i = 0; i < n_signals; i++)
{ {
GISignalInfo *siginfo = gi_object_info_get_signal (info, i); GISignalInfo *siginfo = gi_object_info_get_signal (info, i);
@ -686,7 +686,7 @@ GIVFuncInfo *
gi_object_info_get_vfunc (GIObjectInfo *info, gi_object_info_get_vfunc (GIObjectInfo *info,
unsigned int n) unsigned int n)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
ObjectBlob *blob; ObjectBlob *blob;
@ -734,7 +734,7 @@ GIVFuncInfo *
gi_object_info_find_vfunc (GIObjectInfo *info, gi_object_info_find_vfunc (GIObjectInfo *info,
const char *name) const char *name)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
ObjectBlob *blob; ObjectBlob *blob;
@ -861,7 +861,7 @@ GIConstantInfo *
gi_object_info_get_constant (GIObjectInfo *info, gi_object_info_get_constant (GIObjectInfo *info,
unsigned int n) unsigned int n)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header; Header *header;
ObjectBlob *blob; ObjectBlob *blob;

@ -397,8 +397,8 @@ write_field_info (const char *ns,
{ {
const char *name; const char *name;
GIFieldInfoFlags flags; GIFieldInfoFlags flags;
int size; size_t size;
int offset; size_t offset;
GITypeInfo *type; GITypeInfo *type;
GIBaseInfo *interface; GIBaseInfo *interface;
GIArgument value; GIArgument value;
@ -420,7 +420,7 @@ write_field_info (const char *ns,
xml_printf (file, " writable=\"1\""); xml_printf (file, " writable=\"1\"");
if (size) if (size)
xml_printf (file, " bits=\"%d\"", size); xml_printf (file, " bits=\"%zu\"", size);
write_attributes (file, (GIBaseInfo*) info); write_attributes (file, (GIBaseInfo*) info);
@ -438,8 +438,7 @@ write_field_info (const char *ns,
if (file->show_all) if (file->show_all)
{ {
if (offset >= 0) xml_printf (file, "offset=\"%zu\"", offset);
xml_printf (file, "offset=\"%d\"", offset);
} }
interface = gi_type_info_get_interface (type); interface = gi_type_info_get_interface (type);
@ -653,7 +652,7 @@ write_struct_info (const char *ns,
gboolean deprecated; gboolean deprecated;
gboolean is_gtype_struct; gboolean is_gtype_struct;
gboolean foreign; gboolean foreign;
int size; size_t size;
unsigned int n_elts; unsigned int n_elts;
name = gi_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
@ -694,8 +693,8 @@ write_struct_info (const char *ns,
write_attributes (file, (GIBaseInfo*) info); write_attributes (file, (GIBaseInfo*) info);
size = gi_struct_info_get_size (info); size = gi_struct_info_get_size (info);
if (file->show_all && size >= 0) if (file->show_all)
xml_printf (file, " size=\"%d\"", size); xml_printf (file, " size=\"%zu\"", size);
foreign = gi_struct_info_is_foreign (info); foreign = gi_struct_info_is_foreign (info);
if (foreign) if (foreign)
@ -927,7 +926,7 @@ write_vfunc_info (const char *ns,
const char *name; const char *name;
GIFunctionInfo *invoker; GIFunctionInfo *invoker;
gboolean deprecated; gboolean deprecated;
int offset; size_t offset;
name = gi_base_info_get_name ((GIBaseInfo *)info); name = gi_base_info_get_name ((GIBaseInfo *)info);
flags = gi_vfunc_info_get_flags (info); flags = gi_vfunc_info_get_flags (info);
@ -949,7 +948,7 @@ write_vfunc_info (const char *ns,
else if (flags & GI_VFUNC_MUST_NOT_OVERRIDE) else if (flags & GI_VFUNC_MUST_NOT_OVERRIDE)
xml_printf (file, " override=\"never\""); xml_printf (file, " override=\"never\"");
xml_printf (file, " offset=\"%d\"", offset); xml_printf (file, " offset=\"%zu\"", offset);
if (invoker) if (invoker)
{ {
@ -1284,14 +1283,14 @@ write_union_info (const char *ns,
if (gi_union_info_is_discriminated (info)) if (gi_union_info_is_discriminated (info))
{ {
unsigned int offset; size_t offset;
GITypeInfo *type; GITypeInfo *type;
offset = gi_union_info_get_discriminator_offset (info); offset = gi_union_info_get_discriminator_offset (info);
type = gi_union_info_get_discriminator_type (info); type = gi_union_info_get_discriminator_type (info);
xml_start_element (file, "discriminator"); xml_start_element (file, "discriminator");
xml_printf (file, " offset=\"%d\" type=\"", offset); xml_printf (file, " offset=\"%zu\" type=\"", offset);
write_type_info (ns, type, file); write_type_info (ns, type, file);
xml_end_element (file, "discriminator"); xml_end_element (file, "discriminator");
gi_base_info_unref ((GIBaseInfo *)type); gi_base_info_unref ((GIBaseInfo *)type);
@ -1337,7 +1336,7 @@ gi_ir_writer_write (const char *filename,
gboolean show_all) gboolean show_all)
{ {
FILE *ofile; FILE *ofile;
int i, j; size_t i, j;
char **dependencies; char **dependencies;
GIRepository *repository; GIRepository *repository;
Xml *xml; Xml *xml;
@ -1396,7 +1395,7 @@ gi_ir_writer_write (const char *filename,
const char *c_prefix; const char *c_prefix;
const char *cur_ns = ns; const char *cur_ns = ns;
const char *cur_version; const char *cur_version;
int n_infos; unsigned int n_infos;
cur_version = gi_repository_get_version (repository, cur_ns); cur_version = gi_repository_get_version (repository, cur_ns);

@ -132,10 +132,9 @@ gi_struct_info_find_field (GIStructInfo *info,
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset];
Header *header = (Header *)rinfo->typelib->data; Header *header = (Header *)rinfo->typelib->data;
uint32_t offset = rinfo->offset + header->struct_blob_size; size_t offset = rinfo->offset + header->struct_blob_size;
int i;
for (i = 0; i < blob->n_fields; i++) for (size_t i = 0; i < blob->n_fields; i++)
{ {
FieldBlob *field_blob = (FieldBlob *)&rinfo->typelib->data[offset]; FieldBlob *field_blob = (FieldBlob *)&rinfo->typelib->data[offset];
const char *fname = (const char *)&rinfo->typelib->data[field_blob->name]; const char *fname = (const char *)&rinfo->typelib->data[field_blob->name];
@ -192,7 +191,7 @@ gi_struct_info_get_method (GIStructInfo *info,
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset];
Header *header = (Header *)rinfo->typelib->data; Header *header = (Header *)rinfo->typelib->data;
int offset; size_t offset;
offset = gi_struct_get_field_offset (info, blob->n_fields) + n * header->function_blob_size; offset = gi_struct_get_field_offset (info, blob->n_fields) + n * header->function_blob_size;
return (GIFunctionInfo *) gi_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info, return (GIFunctionInfo *) gi_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info,
@ -215,7 +214,7 @@ GIFunctionInfo *
gi_struct_info_find_method (GIStructInfo *info, gi_struct_info_find_method (GIStructInfo *info,
const char *name) const char *name)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset];

@ -121,7 +121,7 @@ gi_union_info_get_method (GIUnionInfo *info,
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset];
Header *header = (Header *)rinfo->typelib->data; Header *header = (Header *)rinfo->typelib->data;
int offset; size_t offset;
offset = rinfo->offset + header->union_blob_size offset = rinfo->offset + header->union_blob_size
+ blob->n_fields * header->field_blob_size + blob->n_fields * header->field_blob_size
@ -157,7 +157,7 @@ gi_union_info_is_discriminated (GIUnionInfo *info)
* Returns: offset, in bytes, of the discriminator * Returns: offset, in bytes, of the discriminator
* Since: 2.80 * Since: 2.80
*/ */
unsigned int size_t
gi_union_info_get_discriminator_offset (GIUnionInfo *info) gi_union_info_get_discriminator_offset (GIUnionInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
@ -202,7 +202,7 @@ gi_union_info_get_discriminator_type (GIUnionInfo *info)
*/ */
GIConstantInfo * GIConstantInfo *
gi_union_info_get_discriminator (GIUnionInfo *info, gi_union_info_get_discriminator (GIUnionInfo *info,
unsigned int n) size_t n)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset];
@ -210,7 +210,7 @@ gi_union_info_get_discriminator (GIUnionInfo *info,
if (blob->discriminated) if (blob->discriminated)
{ {
Header *header = (Header *)rinfo->typelib->data; Header *header = (Header *)rinfo->typelib->data;
int offset; size_t offset;
offset = rinfo->offset + header->union_blob_size offset = rinfo->offset + header->union_blob_size
+ blob->n_fields * header->field_blob_size + blob->n_fields * header->field_blob_size
@ -240,7 +240,7 @@ GIFunctionInfo *
gi_union_info_find_method (GIUnionInfo *info, gi_union_info_find_method (GIUnionInfo *info,
const char *name) const char *name)
{ {
int offset; size_t offset;
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;
Header *header = (Header *)rinfo->typelib->data; Header *header = (Header *)rinfo->typelib->data;
UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset];

@ -61,14 +61,14 @@ GI_AVAILABLE_IN_ALL
gboolean gi_union_info_is_discriminated (GIUnionInfo *info); gboolean gi_union_info_is_discriminated (GIUnionInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
unsigned int gi_union_info_get_discriminator_offset (GIUnionInfo *info); size_t gi_union_info_get_discriminator_offset (GIUnionInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GITypeInfo * gi_union_info_get_discriminator_type (GIUnionInfo *info); GITypeInfo * gi_union_info_get_discriminator_type (GIUnionInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIConstantInfo * gi_union_info_get_discriminator (GIUnionInfo *info, GIConstantInfo * gi_union_info_get_discriminator (GIUnionInfo *info,
unsigned int n); size_t n);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GIFunctionInfo * gi_union_info_find_method (GIUnionInfo *info, GIFunctionInfo * gi_union_info_find_method (GIUnionInfo *info,

@ -121,7 +121,7 @@ gi_vfunc_info_get_flags (GIVFuncInfo *info)
* Returns: the struct offset or `0xFFFF` if its unknown * Returns: the struct offset or `0xFFFF` if its unknown
* Since: 2.80 * Since: 2.80
*/ */
unsigned int size_t
gi_vfunc_info_get_offset (GIVFuncInfo *info) gi_vfunc_info_get_offset (GIVFuncInfo *info)
{ {
GIRealInfo *rinfo = (GIRealInfo *)info; GIRealInfo *rinfo = (GIRealInfo *)info;

@ -47,7 +47,7 @@ GI_AVAILABLE_IN_ALL
GIVFuncInfoFlags gi_vfunc_info_get_flags (GIVFuncInfo *info); GIVFuncInfoFlags gi_vfunc_info_get_flags (GIVFuncInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
unsigned int gi_vfunc_info_get_offset (GIVFuncInfo *info); size_t gi_vfunc_info_get_offset (GIVFuncInfo *info);
GI_AVAILABLE_IN_ALL GI_AVAILABLE_IN_ALL
GISignalInfo * gi_vfunc_info_get_signal (GIVFuncInfo *info); GISignalInfo * gi_vfunc_info_get_signal (GIVFuncInfo *info);