summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2020-12-14 14:10:33 +0100
committerDaniel Stenberg <daniel@haxx.se>2020-12-18 09:58:03 +0100
commit9211cb2034925476a5c8a79128133edf0785162d (patch)
treeddca5aef72491479ed4959401dd91ea80e74cc20
parent8a113ba93c112927200205fb4f4577ad3bc1e1b9 (diff)
downloadcurl-9211cb2034925476a5c8a79128133edf0785162d.tar.gz
version: include hyper version
-rw-r--r--docs/libcurl/symbols-in-versions1
-rw-r--r--include/curl/curl.h5
-rw-r--r--lib/version.c23
3 files changed, 24 insertions, 5 deletions
diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions
index 861aaf88f..9abd3d678 100644
--- a/docs/libcurl/symbols-in-versions
+++ b/docs/libcurl/symbols-in-versions
@@ -867,6 +867,7 @@ CURLVERSION_EIGHTH 7.72.0
CURLVERSION_FIFTH 7.57.0
CURLVERSION_FIRST 7.10
CURLVERSION_FOURTH 7.16.1
+CURLVERSION_NINTH 7.75.0
CURLVERSION_NOW 7.10
CURLVERSION_SECOND 7.11.1
CURLVERSION_SEVENTH 7.70.0
diff --git a/include/curl/curl.h b/include/curl/curl.h
index a73418dce..76ebd8993 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -2849,6 +2849,7 @@ typedef enum {
CURLVERSION_SIXTH,
CURLVERSION_SEVENTH,
CURLVERSION_EIGHTH,
+ CURLVERSION_NINTH,
CURLVERSION_LAST /* never actually use this */
} CURLversion;
@@ -2857,7 +2858,7 @@ typedef enum {
meant to be a built-in version number for what kind of struct the caller
expects. If the struct ever changes, we redefine the NOW to another enum
from above. */
-#define CURLVERSION_NOW CURLVERSION_EIGHTH
+#define CURLVERSION_NOW CURLVERSION_NINTH
struct curl_version_info_data {
CURLversion age; /* age of the returned struct */
@@ -2908,6 +2909,8 @@ struct curl_version_info_data {
(MAJOR << 24) | (MINOR << 12) | PATCH */
const char *zstd_version; /* human readable string. */
+ /* These fields were added in CURLVERSION_NINTH */
+ const char *hyper_version; /* human readable string. */
};
typedef struct curl_version_info_data curl_version_info_data;
diff --git a/lib/version.c b/lib/version.c
index ab2c0d812..a9102ec1e 100644
--- a/lib/version.c
+++ b/lib/version.c
@@ -100,7 +100,7 @@ static size_t zstd_version(char *buf, size_t bufsz)
* zeros in the data.
*/
-#define VERSION_PARTS 14 /* number of substrings we can concatenate */
+#define VERSION_PARTS 15 /* number of substrings we can concatenate */
char *curl_version(void)
{
@@ -144,6 +144,9 @@ char *curl_version(void)
#ifdef USE_LIBRTMP
char rtmp_version[40];
#endif
+#ifdef USE_HYPER
+ char hyper_buf[30];
+#endif
int i = 0;
int j;
@@ -228,6 +231,10 @@ char *curl_version(void)
src[i++] = rtmp_version;
}
#endif
+#ifdef USE_HYPER
+ msnprintf(hyper_buf, sizeof(hyper_buf), "Hyper/%s", hyper_version());
+ src[i++] = hyper_buf;
+#endif
DEBUGASSERT(i <= VERSION_PARTS);
@@ -397,7 +404,7 @@ static curl_version_info_data version_info = {
#if defined(USE_TLS_SRP)
| CURL_VERSION_TLSAUTH_SRP
#endif
-#if defined(USE_NGHTTP2)
+#if defined(USE_NGHTTP2) || defined(USE_HYPER)
| CURL_VERSION_HTTP2
#endif
#if defined(ENABLE_QUIC)
@@ -450,7 +457,8 @@ static curl_version_info_data version_info = {
NULL,
#endif
0, /* zstd_ver_num */
- NULL /* zstd version */
+ NULL, /* zstd version */
+ NULL /* Hyper version */
};
curl_version_info_data *curl_version_info(CURLversion stamp)
@@ -472,7 +480,6 @@ curl_version_info_data *curl_version_info(CURLversion stamp)
static char zstd_buffer[80];
#endif
-
#ifdef USE_SSL
Curl_ssl_version(ssl_buffer, sizeof(ssl_buffer));
version_info.ssl_version = ssl_buffer;
@@ -547,6 +554,14 @@ curl_version_info_data *curl_version_info(CURLversion stamp)
}
#endif
+#ifdef USE_HYPER
+ {
+ static char hyper_buffer[30];
+ msnprintf(hyper_buffer, sizeof(hyper_buffer), "Hyper/%s", hyper_version());
+ version_info.hyper_version = hyper_buffer;
+ }
+#endif
+
(void)stamp; /* avoid compiler warnings, we don't use this */
return &version_info;
}