const gchar *
g_function_info_get_symbol (GIFunctionInfo *info)
{
- GIRealInfo *rinfo = (GIRealInfo *)info;
- FunctionBlob *blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset];
+ GIRealInfo *rinfo;
+ FunctionBlob *blob;
+
+ g_return_val_if_fail (info != NULL, NULL);
+ g_return_val_if_fail (GI_IS_FUNCTION_INFO (info), NULL);
+
+ rinfo = (GIRealInfo *)info;
+ blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset];
return g_typelib_get_string (rinfo->typelib, blob->symbol);
}
g_function_info_get_flags (GIFunctionInfo *info)
{
GIFunctionInfoFlags flags;
- GIRealInfo *rinfo = (GIRealInfo *)info;
- FunctionBlob *blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset];
+ GIRealInfo *rinfo;
+ FunctionBlob *blob;
+
+ g_return_val_if_fail (info != NULL, -1);
+ g_return_val_if_fail (GI_IS_FUNCTION_INFO (info), -1);
+
+ rinfo = (GIRealInfo *)info;
+ blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset];
flags = 0;
GIPropertyInfo *
g_function_info_get_property (GIFunctionInfo *info)
{
- GIRealInfo *rinfo = (GIRealInfo *)info;
- FunctionBlob *blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset];
- GIInterfaceInfo *container = (GIInterfaceInfo *)rinfo->container;
+ GIRealInfo *rinfo;
+ FunctionBlob *blob;
+ GIInterfaceInfo *container;
+
+ g_return_val_if_fail (info != NULL, NULL);
+ g_return_val_if_fail (GI_IS_FUNCTION_INFO (info), NULL);
+
+ rinfo = (GIRealInfo *)info;
+ blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset];
+ container = (GIInterfaceInfo *)rinfo->container;
return g_interface_info_get_property (container, blob->index);
}
GIVFuncInfo *
g_function_info_get_vfunc (GIFunctionInfo *info)
{
- GIRealInfo *rinfo = (GIRealInfo*)info;
- FunctionBlob *blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset];
- GIInterfaceInfo *container = (GIInterfaceInfo *)rinfo->container;
+ GIRealInfo *rinfo;
+ FunctionBlob *blob;
+ GIInterfaceInfo *container;
+
+ g_return_val_if_fail (info != NULL, NULL);
+ g_return_val_if_fail (GI_IS_FUNCTION_INFO (info), NULL);
+
+ rinfo = (GIRealInfo *)info;
+ blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset];
+ container = (GIInterfaceInfo *)rinfo->container;
return g_interface_info_get_vfunc (container, blob->index);
}
GIRealInfo *rinfo = (GIRealInfo *)info;
guint32 offset;
+ g_return_val_if_fail (info != NULL, NULL);
+ g_return_val_if_fail (GI_IS_CALLABLE_INFO (info), NULL);
+
offset = signature_offset (info);
return g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, offset);
GIRealInfo *rinfo = (GIRealInfo *)info;
guint32 offset;
+ g_return_if_fail (info != NULL);
+ g_return_if_fail (GI_IS_CALLABLE_INFO (info));
+
offset = signature_offset (info);
g_type_info_init (type, (GIBaseInfo*)info, rinfo->typelib, offset);
g_callable_info_may_return_null (GICallableInfo *info)
{
GIRealInfo *rinfo = (GIRealInfo *)info;
- SignatureBlob *blob = (SignatureBlob *)&rinfo->typelib->data[signature_offset (info)];
+ SignatureBlob *blob;
+
+ g_return_val_if_fail (info != NULL, FALSE);
+ g_return_val_if_fail (GI_IS_CALLABLE_INFO (info), FALSE);
+
+ blob = (SignatureBlob *)&rinfo->typelib->data[signature_offset (info)];
return blob->may_return_null;
}
g_callable_info_get_caller_owns (GICallableInfo *info)
{
GIRealInfo *rinfo = (GIRealInfo*) info;
- SignatureBlob *blob = (SignatureBlob *)&rinfo->typelib->data[signature_offset (info)];
+ SignatureBlob *blob;
+
+ g_return_val_if_fail (info != NULL, -1);
+ g_return_val_if_fail (GI_IS_CALLABLE_INFO (info), -1);
+
+ blob = (SignatureBlob *)&rinfo->typelib->data[signature_offset (info)];
if (blob->caller_owns_return_value)
return GI_TRANSFER_EVERYTHING;
gint offset;
SignatureBlob *blob;
+ g_return_val_if_fail (info != NULL, -1);
+ g_return_val_if_fail (GI_IS_CALLABLE_INFO (info), -1);
+
offset = signature_offset (info);
blob = (SignatureBlob *)&rinfo->typelib->data[offset];
gint n)
{
GIRealInfo *rinfo = (GIRealInfo *)info;
- Header *header = (Header *)rinfo->typelib->data;
+ Header *header;
gint offset;
+ g_return_val_if_fail (info != NULL, NULL);
+ g_return_val_if_fail (GI_IS_CALLABLE_INFO (info), NULL);
+
offset = signature_offset (info);
+ header = (Header *)rinfo->typelib->data;
return (GIArgInfo *) g_info_new (GI_INFO_TYPE_ARG, (GIBaseInfo*)info, rinfo->typelib,
offset + header->signature_blob_size + n * header->arg_blob_size);
GIArgInfo *arg)
{
GIRealInfo *rinfo = (GIRealInfo *)info;
- Header *header = (Header *)rinfo->typelib->data;
+ Header *header;
gint offset;
+ g_return_if_fail (info != NULL);
+ g_return_if_fail (GI_IS_CALLABLE_INFO (info));
+
offset = signature_offset (info);
+ header = (Header *)rinfo->typelib->data;
g_info_init ((GIRealInfo*)arg, GI_INFO_TYPE_ARG, rinfo->repository, (GIBaseInfo*)info, rinfo->typelib,
offset + header->signature_blob_size + n * header->arg_blob_size);
g_arg_info_get_direction (GIArgInfo *info)
{
GIRealInfo *rinfo = (GIRealInfo *)info;
- ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
+ ArgBlob *blob;
+
+ g_return_val_if_fail (info != NULL, -1);
+ g_return_val_if_fail (GI_IS_ARG_INFO (info), -1);
+
+ blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->in && blob->out)
return GI_DIRECTION_INOUT;
g_arg_info_is_return_value (GIArgInfo *info)
{
GIRealInfo *rinfo = (GIRealInfo *)info;
- ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
+ ArgBlob *blob;
+
+ g_return_val_if_fail (info != NULL, FALSE);
+ g_return_val_if_fail (GI_IS_ARG_INFO (info), FALSE);
+
+ blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
return blob->return_value;
}
g_arg_info_is_caller_allocates (GIArgInfo *info)
{
GIRealInfo *rinfo = (GIRealInfo *)info;
- ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
+ ArgBlob *blob;
+
+ g_return_val_if_fail (info != NULL, FALSE);
+ g_return_val_if_fail (GI_IS_ARG_INFO (info), FALSE);
+
+ blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
return blob->caller_allocates;
}
g_arg_info_is_optional (GIArgInfo *info)
{
GIRealInfo *rinfo = (GIRealInfo *)info;
- ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
+ ArgBlob *blob;
+
+ g_return_val_if_fail (info != NULL, FALSE);
+ g_return_val_if_fail (GI_IS_ARG_INFO (info), FALSE);
+
+ blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
return blob->optional;
}
g_arg_info_may_be_null (GIArgInfo *info)
{
GIRealInfo *rinfo = (GIRealInfo *)info;
- ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
+ ArgBlob *blob;
+
+ g_return_val_if_fail (info != NULL, FALSE);
+ g_return_val_if_fail (GI_IS_ARG_INFO (info), FALSE);
+
+ blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
return blob->allow_none;
}
g_arg_info_get_ownership_transfer (GIArgInfo *info)
{
GIRealInfo *rinfo = (GIRealInfo *)info;
- ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
+ ArgBlob *blob;
+
+ g_return_val_if_fail (info != NULL, -1);
+ g_return_val_if_fail (GI_IS_ARG_INFO (info), -1);
+
+ blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
if (blob->transfer_ownership)
return GI_TRANSFER_EVERYTHING;
g_arg_info_get_scope (GIArgInfo *info)
{
GIRealInfo *rinfo = (GIRealInfo *)info;
- ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
+ ArgBlob *blob;
+
+ g_return_val_if_fail (info != NULL, -1);
+ g_return_val_if_fail (GI_IS_ARG_INFO (info), -1);
+
+ blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
return blob->scope;
}
g_arg_info_get_closure (GIArgInfo *info)
{
GIRealInfo *rinfo = (GIRealInfo *)info;
- ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
+ ArgBlob *blob;
+
+ g_return_val_if_fail (info != NULL, -1);
+ g_return_val_if_fail (GI_IS_ARG_INFO (info), -1);
+
+ blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
return blob->closure;
}
g_arg_info_get_destroy (GIArgInfo *info)
{
GIRealInfo *rinfo = (GIRealInfo *)info;
- ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
+ ArgBlob *blob;
+
+ g_return_val_if_fail (info != NULL, -1);
+ g_return_val_if_fail (GI_IS_ARG_INFO (info), -1);
+
+ blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset];
return blob->destroy;
}
{
GIRealInfo *rinfo = (GIRealInfo *)info;
+ g_return_val_if_fail (info != NULL, NULL);
+ g_return_val_if_fail (GI_IS_ARG_INFO (info), NULL);
+
return g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, rinfo->offset + G_STRUCT_OFFSET (ArgBlob, arg_type));
}
GITypeInfo *type)
{
GIRealInfo *rinfo = (GIRealInfo*) info;
+
+ g_return_if_fail (info != NULL);
+ g_return_if_fail (GI_IS_ARG_INFO (info));
+
g_type_info_init (type, (GIBaseInfo*)info, rinfo->typelib, rinfo->offset + G_STRUCT_OFFSET (ArgBlob, arg_type));
}