From bbe9046adea67753c6c161e92a84c74def7e7ff5 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Fri, 5 Jan 2024 12:05:26 +0000 Subject: [PATCH 1/8] girepository: Make gi_repository_get_info() not nullable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Having it be nullable means the type system forces the caller to check the result for nullability every time, even though it’s straightforward for the caller to check the index argument in advance and guarantee a non-`NULL` result. Change `gi_repository_get_info()` to never return `NULL` to tidy this up. This also brings it inline with other `gi_*_get_info()` functions, which are not nullable. This is an API break in libgirepository, but since it’s not been in a stable release yet, that’s fine. Signed-off-by: Philip Withnall Helps: #3155 --- girepository/girepository.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/girepository/girepository.c b/girepository/girepository.c index 00d08d42d..60894e951 100644 --- a/girepository/girepository.c +++ b/girepository/girepository.c @@ -780,10 +780,10 @@ gi_repository_get_n_infos (GIRepository *repository, * * The namespace must have already been loaded before calling this function. * See [method@GIRepository.Repository.get_n_infos] to find the maximum number - * of entries. + * of entries. It is an error to pass an invalid @idx to this function. * - * Returns: (transfer full) (nullable): [class@GIRepository.BaseInfo] containing - * metadata, or `NULL` if @idx was too high + * Returns: (transfer full) (not nullable): [class@GIRepository.BaseInfo] + * containing metadata * Since: 2.80 */ GIBaseInfo * @@ -803,8 +803,8 @@ gi_repository_get_info (GIRepository *repository, g_return_val_if_fail (typelib != NULL, NULL); entry = gi_typelib_get_dir_entry (typelib, idx + 1); - if (entry == NULL) - return NULL; + g_return_val_if_fail (entry != NULL, NULL); + return gi_info_new_full (entry->blob_type, repository, NULL, typelib, entry->offset); From 64725d8cae32ccc746a8d5f285082a083988d235 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Fri, 5 Jan 2024 12:33:02 +0000 Subject: [PATCH 2/8] girepository: Make gi_repository_get_shared_library() return an array MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit And rename it to `gi_repository_get_shared_libraries()`. Previously it returned a comma-separated string, which wasn’t particularly typesafe or machine-friendly. Now it returns the same data as an array. This is an API break in libgirepository, but since it’s not been in a stable release yet, that’s fine. Signed-off-by: Philip Withnall Helps: #3155 --- girepository/girepository.c | 52 +++++++++++++++++++++++++++++-------- girepository/girepository.h | 5 ++-- girepository/girwriter.c | 12 ++++++--- 3 files changed, 52 insertions(+), 17 deletions(-) diff --git a/girepository/girepository.c b/girepository/girepository.c index 60894e951..5962efe87 100644 --- a/girepository/girepository.c +++ b/girepository/girepository.c @@ -92,6 +92,9 @@ struct _GIRepositoryPrivate GHashTable *info_by_error_domain; /* GQuark -> GIBaseInfo */ GHashTable *interfaces_for_gtype; /* GType -> GTypeInterfaceCache */ GHashTable *unknown_gtypes; /* hashset of GType */ + + char **cached_shared_libraries; /* (owned) (nullable) (array zero-terminated=1) */ + size_t cached_n_shared_libraries; /* length of @cached_shared_libraries, not including NULL terminator */ }; G_DEFINE_TYPE_WITH_CODE (GIRepository, gi_repository, G_TYPE_OBJECT, G_ADD_PRIVATE (GIRepository)); @@ -170,6 +173,8 @@ gi_repository_finalize (GObject *object) g_hash_table_destroy (repository->priv->interfaces_for_gtype); g_hash_table_destroy (repository->priv->unknown_gtypes); + g_clear_pointer (&repository->priv->cached_shared_libraries, g_strfreev); + (* G_OBJECT_CLASS (gi_repository_parent_class)->finalize) (G_OBJECT (repository)); } @@ -1201,12 +1206,14 @@ gi_repository_get_version (GIRepository *repository, } /** - * gi_repository_get_shared_library: + * gi_repository_get_shared_libraries: * @repository: (nullable): A #GIRepository, or `NULL` for the singleton * process-global default #GIRepository * @namespace_: Namespace to inspect + * @out_n_elements: (out) (optional): Return location for the number of elements + * in the returned array * - * This function returns a comma-separated list of paths to the + * This function returns an array of paths to the * shared C libraries associated with the given namespace @namespace_. * * There may be no shared library path associated, in which case this @@ -1216,13 +1223,17 @@ gi_repository_get_version (GIRepository *repository, * such as [method@GIRepository.Repository.require] before calling this * function. * - * Returns: (nullable): Comma-separated list of paths to shared libraries, - * or `NULL` if none are associated + * The list is internal to [class@GIRepository.Repository] and should not be + * freed, nor should its string elements. + * + * Returns: (nullable) (array length=out_n_elements) (transfer none): Array of + * paths to shared libraries, or `NULL` if none are associated * Since: 2.80 */ -const gchar * -gi_repository_get_shared_library (GIRepository *repository, - const gchar *namespace) +const char * const * +gi_repository_get_shared_libraries (GIRepository *repository, + const gchar *namespace, + size_t *out_n_elements) { GITypelib *typelib; Header *header; @@ -1236,10 +1247,29 @@ gi_repository_get_shared_library (GIRepository *repository, g_return_val_if_fail (typelib != NULL, NULL); header = (Header *) typelib->data; - if (header->shared_library) - return gi_typelib_get_string (typelib, header->shared_library); - else - return NULL; + if (!header->shared_library) + { + if (out_n_elements != NULL) + *out_n_elements = 0; + return NULL; + } + + /* Populate the cache. */ + if (repository->priv->cached_shared_libraries == NULL) + { + const char *comma_separated = gi_typelib_get_string (typelib, header->shared_library); + + if (comma_separated != NULL && *comma_separated != '\0') + { + repository->priv->cached_shared_libraries = g_strsplit (comma_separated, ",", -1); + repository->priv->cached_n_shared_libraries = g_strv_length (repository->priv->cached_shared_libraries); + } + } + + if (out_n_elements != NULL) + *out_n_elements = repository->priv->cached_n_shared_libraries; + + return (const char * const *) repository->priv->cached_shared_libraries; } /** diff --git a/girepository/girepository.h b/girepository/girepository.h index 05d7cf8c6..667ef9779 100644 --- a/girepository/girepository.h +++ b/girepository/girepository.h @@ -185,8 +185,9 @@ GI_AVAILABLE_IN_ALL const gchar * gi_repository_get_typelib_path (GIRepository *repository, const gchar *namespace_); GI_AVAILABLE_IN_ALL -const gchar * gi_repository_get_shared_library (GIRepository *repository, - const gchar *namespace_); +const gchar * const *gi_repository_get_shared_libraries (GIRepository *repository, + const gchar *namespace_, + size_t *out_n_elements); GI_AVAILABLE_IN_ALL const gchar * gi_repository_get_c_prefix (GIRepository *repository, const gchar *namespace_); diff --git a/girepository/girwriter.c b/girepository/girwriter.c index 1d307eee4..6bc9918de 100644 --- a/girepository/girwriter.c +++ b/girepository/girwriter.c @@ -1390,7 +1390,7 @@ gi_ir_writer_write (const char *filename, if (TRUE) { - const gchar *shared_library; + const char * const *shared_libraries; const gchar *c_prefix; const char *cur_ns = ns; const char *cur_version; @@ -1398,12 +1398,16 @@ gi_ir_writer_write (const char *filename, cur_version = gi_repository_get_version (repository, cur_ns); - shared_library = gi_repository_get_shared_library (repository, cur_ns); + shared_libraries = gi_repository_get_shared_libraries (repository, cur_ns, NULL); c_prefix = gi_repository_get_c_prefix (repository, cur_ns); xml_start_element (xml, "namespace"); xml_printf (xml, " name=\"%s\" version=\"%s\"", cur_ns, cur_version); - if (shared_library) - xml_printf (xml, " shared-library=\"%s\"", shared_library); + if (shared_libraries != NULL) + { + char *shared_libraries_str = g_strjoinv (",", (char **) shared_libraries); + xml_printf (xml, " shared-library=\"%s\"", shared_libraries_str); + g_free (shared_libraries_str); + } if (c_prefix) xml_printf (xml, " c:prefix=\"%s\"", c_prefix); From 0910e2f6add87b5989c1196570d3f081576f7a04 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Fri, 5 Jan 2024 12:51:07 +0000 Subject: [PATCH 3/8] girepository: Drop outdated/unused GIInfoType member MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It was deprecated since before libgirepository was moved into this repository. Take the opportunity now to remove it entirely, as it’s a bit confusing to have it in the public API. This should not affect the binary typelib format, as it still has its `BLOB_TYPE_INVALID_0` member, and that will remain in place until the binary format next breaks compatibility (no plans to do that). This is an API break in libgirepository, but since it’s not been in a stable release yet, that’s fine. Signed-off-by: Philip Withnall Helps: #3155 --- girepository/gibaseinfo.c | 2 -- girepository/gifieldinfo.c | 2 -- girepository/gitypes.h | 14 ++++++-------- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/girepository/gibaseinfo.c b/girepository/gibaseinfo.c index ae79bc0a0..575d50035 100644 --- a/girepository/gibaseinfo.c +++ b/girepository/gibaseinfo.c @@ -580,7 +580,6 @@ gi_base_info_get_name (GIBaseInfo *info) case GI_INFO_TYPE_OBJECT: case GI_INFO_TYPE_INTERFACE: case GI_INFO_TYPE_CONSTANT: - case GI_INFO_TYPE_INVALID_0: case GI_INFO_TYPE_UNION: { CommonBlob *blob = (CommonBlob *)&rinfo->typelib->data[rinfo->offset]; @@ -705,7 +704,6 @@ gi_base_info_is_deprecated (GIBaseInfo *info) case GI_INFO_TYPE_OBJECT: case GI_INFO_TYPE_INTERFACE: case GI_INFO_TYPE_CONSTANT: - case GI_INFO_TYPE_INVALID_0: { CommonBlob *blob = (CommonBlob *)&rinfo->typelib->data[rinfo->offset]; diff --git a/girepository/gifieldinfo.c b/girepository/gifieldinfo.c index 694333268..b7ed9f7a4 100644 --- a/girepository/gifieldinfo.c +++ b/girepository/gifieldinfo.c @@ -334,7 +334,6 @@ gi_field_info_get_field (GIFieldInfo *field_info, case GI_INFO_TYPE_INTERFACE: case GI_INFO_TYPE_FUNCTION: case GI_INFO_TYPE_CONSTANT: - case GI_INFO_TYPE_INVALID_0: case GI_INFO_TYPE_VALUE: case GI_INFO_TYPE_SIGNAL: case GI_INFO_TYPE_PROPERTY: @@ -517,7 +516,6 @@ gi_field_info_set_field (GIFieldInfo *field_info, case GI_INFO_TYPE_INTERFACE: case GI_INFO_TYPE_FUNCTION: case GI_INFO_TYPE_CONSTANT: - case GI_INFO_TYPE_INVALID_0: case GI_INFO_TYPE_VALUE: case GI_INFO_TYPE_SIGNAL: case GI_INFO_TYPE_PROPERTY: diff --git a/girepository/gitypes.h b/girepository/gitypes.h index c1e83869e..eaf57b07f 100644 --- a/girepository/gitypes.h +++ b/girepository/gitypes.h @@ -179,7 +179,6 @@ typedef union _GIArgument GIArgument; * @GI_INFO_TYPE_OBJECT: object, see [class@GIRepository.ObjectInfo] * @GI_INFO_TYPE_INTERFACE: interface, see [class@GIRepository.InterfaceInfo] * @GI_INFO_TYPE_CONSTANT: constant, see [class@GIRepository.ConstantInfo] - * @GI_INFO_TYPE_INVALID_0: deleted, used to be `GI_INFO_TYPE_ERROR_DOMAIN`. * @GI_INFO_TYPE_UNION: union, see [class@GIRepository.UnionInfo] * @GI_INFO_TYPE_VALUE: enum value, see [class@GIRepository.ValueInfo] * @GI_INFO_TYPE_SIGNAL: signal, see [class@GIRepository.SignalInfo] @@ -214,23 +213,22 @@ typedef enum GI_INFO_TYPE_CALLBACK, GI_INFO_TYPE_STRUCT, GI_INFO_TYPE_BOXED, - GI_INFO_TYPE_ENUM, /* 5 */ + GI_INFO_TYPE_ENUM, /* 5 */ GI_INFO_TYPE_FLAGS, GI_INFO_TYPE_OBJECT, GI_INFO_TYPE_INTERFACE, GI_INFO_TYPE_CONSTANT, - GI_INFO_TYPE_INVALID_0, /* 10 */ - GI_INFO_TYPE_UNION, + GI_INFO_TYPE_UNION, /* 10 */ GI_INFO_TYPE_VALUE, GI_INFO_TYPE_SIGNAL, GI_INFO_TYPE_VFUNC, - GI_INFO_TYPE_PROPERTY, /* 15 */ - GI_INFO_TYPE_FIELD, + GI_INFO_TYPE_PROPERTY, + GI_INFO_TYPE_FIELD, /* 15 */ GI_INFO_TYPE_ARG, GI_INFO_TYPE_TYPE, GI_INFO_TYPE_UNRESOLVED, - GI_INFO_TYPE_CALLABLE, /* 20 */ - GI_INFO_TYPE_REGISTERED_TYPE, + GI_INFO_TYPE_CALLABLE, + GI_INFO_TYPE_REGISTERED_TYPE, /* 20 */ /* keep GI_INFO_TYPE_N_TYPES in sync with this */ } GIInfoType; From 513e178144bf6ef11c83b63c9ded57e302fb5f4e Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Fri, 5 Jan 2024 12:57:36 +0000 Subject: [PATCH 4/8] gitypelib: Rename gi_typelib_check_sanity() to gi_typelib_check_format() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It’s more descriptive and less offensive. This is not an API break as it’s not a public API. Signed-off-by: Philip Withnall Helps: #3155 --- girepository/gitypelib-internal.h | 2 +- girepository/gitypelib.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/girepository/gitypelib-internal.h b/girepository/gitypelib-internal.h index a83f1ae3c..f3de423b3 100644 --- a/girepository/gitypelib-internal.h +++ b/girepository/gitypelib-internal.h @@ -1338,7 +1338,7 @@ gboolean gi_typelib_matches_gtype_name_prefix (GITypelib *typelib, GI_AVAILABLE_IN_ALL -void gi_typelib_check_sanity (void); +void gi_typelib_check_format (void); /** * gi_typelib_get_string: diff --git a/girepository/gitypelib.c b/girepository/gitypelib.c index 447de9550..b23de4330 100644 --- a/girepository/gitypelib.c +++ b/girepository/gitypelib.c @@ -426,7 +426,7 @@ gi_typelib_get_dir_entry_by_error_domain (GITypelib *typelib, } /** - * gi_typelib_check_sanity: + * gi_typelib_check_format: * * Check compile-time sizes of various typelib file format types are as * expected. @@ -434,7 +434,7 @@ gi_typelib_get_dir_entry_by_error_domain (GITypelib *typelib, * Since: 2.80 */ void -gi_typelib_check_sanity (void) +gi_typelib_check_format (void) { #ifndef G_DISABLE_ASSERT /* Check that struct layout is as we expect */ @@ -616,7 +616,7 @@ validate_header_basic (const guint8 *memory, /* This is a sanity check for a specific typelib; it * prevents us from loading an incompatible typelib. * - * The hardcoded checks in gi_typelib_check_sanity to + * The hardcoded checks in gi_typelib_check_format to * protect against inadvertent or buggy changes to the typelib format * itself. */ From 5a5651885209f368f1787315aee224629acdd717 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Fri, 5 Jan 2024 13:08:24 +0000 Subject: [PATCH 5/8] girffi: Fix signedness of argument in internal helper function Signed-off-by: Philip Withnall Helps: #3155 --- girepository/girffi.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/girepository/girffi.c b/girepository/girffi.c index aed8e81bd..590918623 100644 --- a/girepository/girffi.c +++ b/girepository/girffi.c @@ -171,11 +171,12 @@ gi_type_info_get_ffi_type (GITypeInfo *info) */ static ffi_type ** gi_callable_info_get_ffi_arg_types (GICallableInfo *callable_info, - int *n_args_p) + size_t *n_args_p) { ffi_type **arg_types; gboolean is_method, throws; - gint n_args, n_invoke_args, i, offset; + size_t n_invoke_args; + guint n_args, i, offset; g_return_val_if_fail (callable_info != NULL, NULL); @@ -321,7 +322,7 @@ gi_function_invoker_new_for_address (gpointer addr, GError **error) { ffi_type **atypes; - gint n_args; + size_t n_args; g_return_val_if_fail (info != NULL, FALSE); g_return_val_if_fail (invoker != NULL, FALSE); @@ -379,7 +380,7 @@ gi_callable_info_create_closure (GICallableInfo *callable_info, gpointer user_data) { gpointer exec_ptr; - int n_args; + size_t n_args; ffi_type **atypes; GIClosureWrapper *closure; ffi_status status; From 8e5ff50dd4f78b762ee8c5125361bf0e531226f3 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Fri, 5 Jan 2024 13:08:39 +0000 Subject: [PATCH 6/8] ginvoke: Fix signedness of variable in closure marshaller Signed-off-by: Philip Withnall Helps: #3155 --- girepository/ginvoke.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/girepository/ginvoke.c b/girepository/ginvoke.c index 21fabe557..00f29c6b9 100644 --- a/girepository/ginvoke.c +++ b/girepository/ginvoke.c @@ -278,10 +278,10 @@ gi_cclosure_marshal_generic (GClosure *closure, GIArgument return_ffi_value = { 0, }; ffi_type *rtype; void *rvalue; - int n_args; + unsigned int n_args; ffi_type **atypes; void **args; - int i; + unsigned int i; ffi_cif cif; GCClosure *cc = (GCClosure*) closure; From e49ec6d7d8d9bec773378c25abb0584d1e36eb5e Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Fri, 5 Jan 2024 13:49:44 +0000 Subject: [PATCH 7/8] gicallableinfo: Remove unnecessary arguments from invoke() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The whole point of a `GICallableInfo` struct is to contain information about how a function is callable, and that includes information about whether it’s a method and whether it throws a `GError`. The caller shouldn’t need to specify those things separately. So drop those arguments. This is an API break in libgirepository, but since it’s not been in a stable release yet, that’s fine. Signed-off-by: Philip Withnall Helps: #3155 --- girepository/gicallableinfo.c | 11 +++++------ girepository/gicallableinfo.h | 2 -- girepository/gifunctioninfo.c | 8 -------- girepository/givfuncinfo.c | 2 -- 4 files changed, 5 insertions(+), 18 deletions(-) diff --git a/girepository/gicallableinfo.c b/girepository/gicallableinfo.c index 99f5f2d56..d29641b1a 100644 --- a/girepository/gicallableinfo.c +++ b/girepository/gicallableinfo.c @@ -615,15 +615,13 @@ gi_type_info_extract_ffi_return_value (GITypeInfo *return_info, * @return_value: (out caller-allocates) (not optional) (nullable): return * location for the return value from the callable; `NULL` may be returned if * the callable returns that - * @is_method: `TRUE` if @info is a method - * @throws: `TRUE` if @info may throw a [type@GLib.Error] * @error: return location for a [type@GLib.Error], or `NULL` * * Invoke the given `GICallableInfo` by calling the given @function pointer. * * The set of arguments passed to @function will be constructed according to the - * introspected type of the `GICallableInfo`, using @in_args, @out_args, - * @is_method, @throws and @error. + * introspected type of the `GICallableInfo`, using @in_args, @out_args + * and @error. * * Returns: `TRUE` if the callable was executed successfully and didn’t throw * a [type@GLib.Error]; `FALSE` if @error is set @@ -637,8 +635,6 @@ gi_callable_info_invoke (GICallableInfo *info, const GIArgument *out_args, gsize n_out_args, GIArgument *return_value, - gboolean is_method, - gboolean throws, GError **error) { ffi_cif cif; @@ -655,10 +651,13 @@ gi_callable_info_invoke (GICallableInfo *info, gpointer error_address = &local_error; GIFFIReturnValue ffi_return_value; gpointer return_value_p; /* Will point inside the union return_value */ + gboolean is_method, throws; rinfo = gi_callable_info_get_return_type ((GICallableInfo *)info); rtype = gi_type_info_get_ffi_type (rinfo); rtag = gi_type_info_get_tag(rinfo); + is_method = gi_callable_info_is_method (info); + throws = gi_callable_info_can_throw_gerror (info); in_pos = 0; out_pos = 0; diff --git a/girepository/gicallableinfo.h b/girepository/gicallableinfo.h index 9ea0473eb..30bc000cb 100644 --- a/girepository/gicallableinfo.h +++ b/girepository/gicallableinfo.h @@ -99,8 +99,6 @@ gboolean gi_callable_info_invoke (GICallableInfo *info const GIArgument *out_args, gsize n_out_args, GIArgument *return_value, - gboolean is_method, - gboolean throws, GError **error); GI_AVAILABLE_IN_ALL diff --git a/girepository/gifunctioninfo.c b/girepository/gifunctioninfo.c index 1ad43d02d..1d782a901 100644 --- a/girepository/gifunctioninfo.c +++ b/girepository/gifunctioninfo.c @@ -274,8 +274,6 @@ gi_function_info_invoke (GIFunctionInfo *info, { const gchar *symbol; gpointer func; - gboolean is_method; - gboolean throws; symbol = gi_function_info_get_symbol (info); @@ -290,10 +288,6 @@ gi_function_info_invoke (GIFunctionInfo *info, return FALSE; } - is_method = (gi_function_info_get_flags (info) & GI_FUNCTION_IS_METHOD) != 0 - && (gi_function_info_get_flags (info) & GI_FUNCTION_IS_CONSTRUCTOR) == 0; - throws = gi_function_info_get_flags (info) & GI_FUNCTION_THROWS; - return gi_callable_info_invoke ((GICallableInfo*) info, func, in_args, @@ -301,8 +295,6 @@ gi_function_info_invoke (GIFunctionInfo *info, out_args, n_out_args, return_value, - is_method, - throws, error); } diff --git a/girepository/givfuncinfo.c b/girepository/givfuncinfo.c index 781e370b6..cbf23fa1d 100644 --- a/girepository/givfuncinfo.c +++ b/girepository/givfuncinfo.c @@ -370,8 +370,6 @@ gi_vfunc_info_invoke (GIVFuncInfo *info, out_args, n_out_args, return_value, - TRUE, - FALSE, error); } From dcf1884790c738b541ce55cb3475fe8c40a6a239 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Fri, 5 Jan 2024 13:57:35 +0000 Subject: [PATCH 8/8] gicallableinfo: Drop `const` qualifier from out-args of invoke() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not sure what it was doing there — these arguments get written to as part of the invocation. The in-args should be `const` qualified, but not the out-args. This is an API break in libgirepository, but since it’s not been in a stable release yet, that’s fine. Signed-off-by: Philip Withnall Helps: #3155 --- girepository/gicallableinfo.c | 2 +- girepository/gicallableinfo.h | 2 +- girepository/gifunctioninfo.c | 2 +- girepository/gifunctioninfo.h | 2 +- girepository/givfuncinfo.c | 2 +- girepository/givfuncinfo.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/girepository/gicallableinfo.c b/girepository/gicallableinfo.c index d29641b1a..618ae2774 100644 --- a/girepository/gicallableinfo.c +++ b/girepository/gicallableinfo.c @@ -632,7 +632,7 @@ gi_callable_info_invoke (GICallableInfo *info, gpointer function, const GIArgument *in_args, gsize n_in_args, - const GIArgument *out_args, + GIArgument *out_args, gsize n_out_args, GIArgument *return_value, GError **error) diff --git a/girepository/gicallableinfo.h b/girepository/gicallableinfo.h index 30bc000cb..64e2a3875 100644 --- a/girepository/gicallableinfo.h +++ b/girepository/gicallableinfo.h @@ -96,7 +96,7 @@ gboolean gi_callable_info_invoke (GICallableInfo *info gpointer function, const GIArgument *in_args, gsize n_in_args, - const GIArgument *out_args, + GIArgument *out_args, gsize n_out_args, GIArgument *return_value, GError **error); diff --git a/girepository/gifunctioninfo.c b/girepository/gifunctioninfo.c index 1d782a901..d4fe5cf8a 100644 --- a/girepository/gifunctioninfo.c +++ b/girepository/gifunctioninfo.c @@ -267,7 +267,7 @@ gboolean gi_function_info_invoke (GIFunctionInfo *info, const GIArgument *in_args, gsize n_in_args, - const GIArgument *out_args, + GIArgument *out_args, gsize n_out_args, GIArgument *return_value, GError **error) diff --git a/girepository/gifunctioninfo.h b/girepository/gifunctioninfo.h index d0ab0ec04..a6399df73 100644 --- a/girepository/gifunctioninfo.h +++ b/girepository/gifunctioninfo.h @@ -93,7 +93,7 @@ GI_AVAILABLE_IN_ALL gboolean gi_function_info_invoke (GIFunctionInfo *info, const GIArgument *in_args, gsize n_in_args, - const GIArgument *out_args, + GIArgument *out_args, gsize n_out_args, GIArgument *return_value, GError **error); diff --git a/girepository/givfuncinfo.c b/girepository/givfuncinfo.c index cbf23fa1d..11d6c452e 100644 --- a/girepository/givfuncinfo.c +++ b/girepository/givfuncinfo.c @@ -342,7 +342,7 @@ gi_vfunc_info_invoke (GIVFuncInfo *info, GType implementor, const GIArgument *in_args, gsize n_in_args, - const GIArgument *out_args, + GIArgument *out_args, gsize n_out_args, GIArgument *return_value, GError **error) diff --git a/girepository/givfuncinfo.h b/girepository/givfuncinfo.h index f5bcc2d58..cd0ed8ff1 100644 --- a/girepository/givfuncinfo.h +++ b/girepository/givfuncinfo.h @@ -65,7 +65,7 @@ gboolean gi_vfunc_info_invoke (GIVFuncInfo *info, GType implementor, const GIArgument *in_args, gsize n_in_args, - const GIArgument *out_args, + GIArgument *out_args, gsize n_out_args, GIArgument *return_value, GError **error);