diff options
author | Steve Holme <steve_holme@hotmail.com> | 2014-02-22 17:45:38 +0000 |
---|---|---|
committer | Steve Holme <steve_holme@hotmail.com> | 2014-02-22 17:47:13 +0000 |
commit | dcbae71812a5fdf4dc4335aa10ea75a2ab1b16d4 (patch) | |
tree | 5fa97b0ad8ee648b7b1b5e7ab988b169a22c4819 /src/tool_help.c | |
parent | 67f051051fab4b9665e67a1688d4d0035657b825 (diff) |
tool_getparam: Moved version information into separate function in tool_help
Diffstat (limited to 'src/tool_help.c')
-rw-r--r-- | src/tool_help.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/tool_help.c b/src/tool_help.c index 99d276845..d00e6dcc2 100644 --- a/src/tool_help.c +++ b/src/tool_help.c @@ -23,6 +23,8 @@ #include "tool_panykey.h" #include "tool_help.h" +#include "tool_libinfo.h" +#include "tool_version.h" #include "memdebug.h" /* keep this as LAST include */ @@ -245,6 +247,31 @@ static const char *const helptext[] = { # define PRINT_LINES_PAUSE 16 #endif +struct feat { + const char *name; + int bitmask; +}; + +static const struct feat feats[] = { + {"AsynchDNS", CURL_VERSION_ASYNCHDNS}, + {"Debug", CURL_VERSION_DEBUG}, + {"TrackMemory", CURL_VERSION_CURLDEBUG}, + {"GSS-Negotiate", CURL_VERSION_GSSNEGOTIATE}, + {"IDN", CURL_VERSION_IDN}, + {"IPv6", CURL_VERSION_IPV6}, + {"Largefile", CURL_VERSION_LARGEFILE}, + {"NTLM", CURL_VERSION_NTLM}, + {"NTLM_WB", CURL_VERSION_NTLM_WB}, + {"SPNEGO", CURL_VERSION_SPNEGO}, + {"SSL", CURL_VERSION_SSL}, + {"SSPI", CURL_VERSION_SSPI}, + {"krb4", CURL_VERSION_KERBEROS4}, + {"libz", CURL_VERSION_LIBZ}, + {"CharConv", CURL_VERSION_CONV}, + {"TLS-SRP", CURL_VERSION_TLSAUTH_SRP}, + {"HTTP2", CURL_VERSION_HTTP2} +}; + void tool_help(void) { int i; @@ -257,6 +284,32 @@ void tool_help(void) } } +void tool_version_info(void) +{ + const char *const *proto; + + printf(CURL_ID "%s\n", curl_version()); + if(curlinfo->protocols) { + printf("Protocols: "); + for(proto = curlinfo->protocols; *proto; ++proto) { + printf("%s ", *proto); + } + puts(""); /* newline */ + } + if(curlinfo->features) { + unsigned int i; + printf("Features: "); + for(i = 0; i < sizeof(feats)/sizeof(feats[0]); i++) { + if(curlinfo->features & feats[i].bitmask) + printf("%s ", feats[i].name); + } +#ifdef USE_METALINK + printf("Metalink "); +#endif + puts(""); /* newline */ + } +} + void tool_list_engines(CURL *curl) { struct curl_slist *engines = NULL; |