Re: [PATCH v3 5/6] libgit: add higher-level libgit crate
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 7, 2024, 00:09 UTC
- Message-ID
- <xmqqv7z8tjd7.fsf@gitster.g>
- In-Reply-To
- <20240906222116.270196-5-calvinwan@google.com>
Calvin Wan <calvinwan@google.com> writes:
Show 12 quoted lines
> diff --git a/contrib/libgit-rs/libgit-sys/public_symbol_export.c b/contrib/libgit-rs/libgit-sys/public_symbol_export.c
> index 65d1620d28..07d6bfdd84 100644
> --- a/contrib/libgit-rs/libgit-sys/public_symbol_export.c
> +++ b/contrib/libgit-rs/libgit-sys/public_symbol_export.c
> @@ -33,6 +33,36 @@ int libgit_parse_maybe_bool(const char *val)
> return git_parse_maybe_bool(val);
> }
>
> +struct libgit_config_set *libgit_configset_alloc(void)
> +{
> + return git_configset_alloc();
> +}git_configset_alloc() returns "struct config_set *" while this thing returns an incompatible pointer.
Sent out an outdated version or something? This wouldn't have passed even a compile test, I suspect.
$ make contrib/libgit-rs/libgit-sys/public_symbol_export.o
CC contrib/libgit-rs/libgit-sys/public_symbol_export.o
contrib/libgit-rs/libgit-sys/public_symbol_export.c: In function 'libgit_configset_alloc':
contrib/libgit-rs/libgit-sys/public_symbol_export.c:38:16: error: returning 'struct config_set *' from a function with incompatible return type 'struct libgit_config_set *' [-Werror=incompatible-pointer-types]
38 | return git_configset_alloc();
| ^~~~~~~~~~~~~~~~~~~~~
contrib/libgit-rs/libgit-sys/public_symbol_export.c: In function 'libgit_configset_clear_and_free':
contrib/libgit-rs/libgit-sys/public_symbol_export.c:43:38: error: passing argument 1 of 'git_configset_clear_and_free' from incompatible pointer type [-Werror=incompatible-pointer-types]
43 | git_configset_clear_and_free(cs);
| ^~
| |
| struct libgit_config_set *
In file included from contrib/libgit-rs/libgit-sys/public_symbol_export.c:8:
./config.h:543:54: note: expected 'struct config_set *' but argument is of type 'struct libgit_config_set *'
543 | void git_configset_clear_and_free(struct config_set *cs);
| ~~~~~~~~~~~~~~~~~~~^~
contrib/libgit-rs/libgit-sys/public_symbol_export.c: In function 'libgit_configset_init':
contrib/libgit-rs/libgit-sys/public_symbol_export.c:48:28: error: passing argument 1 of 'git_configset_init' from incompatible pointer type [-Werror=incompatible-pointer-types]
48 | git_configset_init(cs);
| ^~
| |
| struct libgit_config_set *
./config.h:495:44: note: expected 'struct config_set *' but argument is of type 'struct libgit_config_set *'
495 | void git_configset_init(struct config_set *cs);
| ~~~~~~~~~~~~~~~~~~~^~
contrib/libgit-rs/libgit-sys/public_symbol_export.c: In function 'libgit_configset_add_file':
contrib/libgit-rs/libgit-sys/public_symbol_export.c:53:39: error: passing argument 1 of 'git_configset_add_file' from incompatible pointer type [-Werror=incompatible-pointer-types]
53 | return git_configset_add_file(cs, filename);
| ^~
| |
| struct libgit_config_set *
./config.h:504:47: note: expected 'struct config_set *' but argument is of type 'struct libgit_config_set *'
504 | int git_configset_add_file(struct config_set *cs, const char *filename);
| ~~~~~~~~~~~~~~~~~~~^~
contrib/libgit-rs/libgit-sys/public_symbol_export.c: In function 'libgit_configset_get_int':
contrib/libgit-rs/libgit-sys/public_symbol_export.c:58:38: error: passing argument 1 of 'git_configset_get_int' from incompatible pointer type [-Werror=incompatible-pointer-types]
58 | return git_configset_get_int(cs, key, dest);
| ^~
| |
| struct libgit_config_set *
./config.h:568:46: note: expected 'struct config_set *' but argument is of type 'struct libgit_config_set *'
568 | int git_configset_get_int(struct config_set *cs, const char *key, int *dest);
| ~~~~~~~~~~~~~~~~~~~^~
contrib/libgit-rs/libgit-sys/public_symbol_export.c: In function 'libgit_configset_get_string':
contrib/libgit-rs/libgit-sys/public_symbol_export.c:63:41: error: passing argument 1 of 'git_configset_get_string' from incompatible pointer type [-Werror=incompatible-pointer-types]
63 | return git_configset_get_string(cs, key, dest);
| ^~
| |
| struct libgit_config_set *
./config.h:567:49: note: expected 'struct config_set *' but argument is of type 'struct libgit_config_set *'
567 | int git_configset_get_string(struct config_set *cs, const char *key, char **dest);
| ~~~~~~~~~~~~~~~~~~~^~
cc1: all warnings being treated as errors
gmake: *** [Makefile:2802: contrib/libgit-rs/libgit-sys/public_symbol_export.o] Error 1