Re: [PATCH v2 8/8] http: don't hardcode the value of CURL_SOCKOPT_OK
- From
Jeff King <peff@peff.net>
- Date
- Sep 10, 2021, 15:17 UTC
- Message-ID
- <YTt3E6/klkL55kY8@coredump.intra.peff.net>
- In-Reply-To
- <patch-v2-8.8-465ab33ebda-20210910T105523Z-avarab@gmail.com>
On Fri, Sep 10, 2021 at 01:04:33PM +0200, Ævar Arnfjörð Bjarmason wrote:
> Use the new git-curl-compat.h header to define CURL_SOCKOPT_OK to its > known value if we're on an older curl version that doesn't have it. It > was hardcoded in http.c in a15d069a198 (http: enable keepalive on TCP > sockets, 2013-10-12).
Thanks for splitting this one out. I agree it's unlike the rest.
Show 11 quoted lines
> +/** > + * CURL_SOCKOPT_OK was added in 7.21.5, released in April 2011. > + * > + * This should be safe as CURL_SOCKOPT_OK has always been a macro, not > + * an enum field (checked on curl version 7.78.0, released on July 19, > + * 2021). Even if that were to change the value of "0" for "OK" is > + * unlikely to change. > + */ > +#ifndef CURL_SOCKOPT_OK > +#define CURL_SOCKOPT_OK 0 > +#endif
I agree this is probably fine if it later becomes an enum. But it would be easy enough to just do the version-number check here, wouldn't it? That would be even safer, and using the #ifndef doesn't really buy us much. We still have to annotate the version and date in a comment as you did, because we want to know when it is time to drop support.
-Peff