Re: Facing error in git-imap-send while compiling Git
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 21, 2020, 18:11 UTC
- Message-ID
- <xmqqa76gbrxm.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <CAFFaXsxLd8duDPTE1H-zJiYnTVSB3pHCfBV+08Y4jLvCWR9kNw@mail.gmail.com>
Nirmal Khedkar <nirmalhk7@gmail.com> writes:
Show 26 quoted lines
> the same errors. Here's my diff, in case I have been making mistakes
> all along.
>
>
> ---
> diff --git a/imap-send.c b/imap-send.c
> index 6c54d8c29d..73ed3bc287 100644
> --- a/imap-send.c
> +++ b/imap-send.c
> @@ -42,6 +42,12 @@ typedef void *SSL;
> #define USE_CURL_DEFAULT 0
> #endif
>
> +#if OPENSSL_VERSION_NUMBER < 0x10100000L
> + #define OPENSSL_sk_num(x) sk_GENERAL_NAME_num(x)
> + #define OPENSSL_sk_value(x,y) sk_GENERAL_NAME_value((x),(y))
> + #define OPENSSL_sk_pop_free(x,y) sk_GENERAL_NAME_pop_free((x),(y))
> +#endif
> +
> static int verbosity;
> static int use_curl = USE_CURL_DEFAULT;
>
> @@ -59,6 +65,8 @@ static struct option imap_send_options[] = {
> #define DRV_BOX_BAD -2
> #define DRV_STORE_BAD -3
> ---If the above is the whole change, then I do not think it would work. In the thread I referred you to, I was responding to a patch that has repetitive
+#if OPENSSL_VERSION_NUMBER < 0x10100000L call_this_original_function(); +#else + call_this_new_function(); +#endif
and I was merely suggesting to reduce the patch noise by #define'ing a compatibility macro to allow us use new names in the code regardless of the version (i.e. OPENSSL_sk_*() may not be available in older version, which used to call them sk_*()---the solution is to pretend we have OPENSSL_sk_*() by defining them in terms of sk_*() we do have).
There was a hunk (or perhaps two) in the patch I was responding to that is different from the mere function renaming. That part is not there in the above patch you pasted, and needs to be kept, I think.