aboutsummaryrefslogtreecommitdiff
path: root/src/tool_help.c
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2014-02-22 17:45:38 +0000
committerSteve Holme <steve_holme@hotmail.com>2014-02-22 17:47:13 +0000
commitdcbae71812a5fdf4dc4335aa10ea75a2ab1b16d4 (patch)
tree5fa97b0ad8ee648b7b1b5e7ab988b169a22c4819 /src/tool_help.c
parent67f051051fab4b9665e67a1688d4d0035657b825 (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.c53
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;