Re: [PATCH v2 8/8] http: don't hardcode the value of CURL_SOCKOPT_OK
From: Jeff King <hidden>
Date: 2021-09-10 15:17:42
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.
+/** + * 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