mirror of
https://github.com/moparisthebest/curl
synced 2024-08-13 17:03:50 -04:00
Wez Furlong's curl_version_info() function added, still needs some
adjustments and possibly some improvments to feature all those things we could possibly want from this.
This commit is contained in:
parent
b03f4919fb
commit
c0460660d5
@ -909,6 +909,27 @@ CURLcode curl_share_set_unlock_function (curl_share *, curl_unlock_function);
|
|||||||
CURLcode curl_share_set_lock_data (curl_share *, void *);
|
CURLcode curl_share_set_lock_data (curl_share *, void *);
|
||||||
CURLcode curl_share_destroy (curl_share *);
|
CURLcode curl_share_destroy (curl_share *);
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Structures for querying information about the curl library at runtime.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* declared as a struct to allow future expansion while remaining backwards
|
||||||
|
* and binary compatible; any new fields in these two structs must be added
|
||||||
|
* after the existing fields */
|
||||||
|
typedef struct {
|
||||||
|
const char *protoname;
|
||||||
|
} curl_runtime_protocol_info;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
const char *version; /* LIBCURL_VERSION */
|
||||||
|
unsigned int version_num; /* LIBCURL_VERSION_NUM */
|
||||||
|
/* protocols is terminated by an entry with a NULL protoname */
|
||||||
|
curl_runtime_protocol_info *protocols;
|
||||||
|
} curl_version_info_data;
|
||||||
|
|
||||||
|
/* returns a pointer to a static copy of the version info struct */
|
||||||
|
const curl_version_info_data *curl_version_info(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1832,6 +1832,9 @@ static CURLcode CreateConnection(struct SessionHandle *data,
|
|||||||
* is based on the first letters of the server name.
|
* is based on the first letters of the server name.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Note: if you add a new protocol, please update the list in
|
||||||
|
* lib/version.c too! */
|
||||||
|
|
||||||
if(strnequal(conn->gname, "FTP", 3)) {
|
if(strnequal(conn->gname, "FTP", 3)) {
|
||||||
strcpy(conn->protostr, "ftp");
|
strcpy(conn->protostr, "ftp");
|
||||||
}
|
}
|
||||||
|
@ -105,6 +105,53 @@ char *curl_version(void)
|
|||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* data for curl_version_info */
|
||||||
|
|
||||||
|
static const curl_runtime_protocol_info protocols[] = {
|
||||||
|
#ifndef CURL_DISABLE_FTP
|
||||||
|
{ "ftp" },
|
||||||
|
#endif
|
||||||
|
#ifndef CURL_DISABLE_GOPHER
|
||||||
|
{ "gopher" },
|
||||||
|
#endif
|
||||||
|
#ifndef CURL_DISABLE_TELNET
|
||||||
|
{ "telnet" },
|
||||||
|
#endif
|
||||||
|
#ifndef CURL_DISABLE_DICT
|
||||||
|
{ "dict" },
|
||||||
|
#endif
|
||||||
|
#ifndef CURL_DISABLE_LDAP
|
||||||
|
{ "ldap" },
|
||||||
|
#endif
|
||||||
|
#ifndef CURL_DISABLE_HTTP
|
||||||
|
{ "http" },
|
||||||
|
#endif
|
||||||
|
#ifndef CURL_DISABLE_FILE
|
||||||
|
{ "file" },
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_SSLEAY
|
||||||
|
#ifndef CURL_DISABLE_HTTP
|
||||||
|
{ "https" },
|
||||||
|
#endif
|
||||||
|
#ifndef CURL_DISABLE_FTP
|
||||||
|
{ "ftps" },
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
{ NULL }
|
||||||
|
};
|
||||||
|
|
||||||
|
static const curl_version_info_data version_info = {
|
||||||
|
LIBCURL_VERSION,
|
||||||
|
LIBCURL_VERSION_NUM,
|
||||||
|
&protocols
|
||||||
|
};
|
||||||
|
|
||||||
|
const curl_version_info_data *curl_version_info(void)
|
||||||
|
{
|
||||||
|
return &version_info;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* local variables:
|
* local variables:
|
||||||
* eval: (load-file "../curl-mode.el")
|
* eval: (load-file "../curl-mode.el")
|
||||||
|
Loading…
Reference in New Issue
Block a user