* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
+ * are also available at https://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
***************************************************************************/
#include "tool_setup.h"
-#include "rawstr.h"
+#include "strcase.h"
#define ENABLE_CURLX_PRINTF
/* use our own printf() functions */
if(file) {
while(fgets(buffer, sizeof(buffer), file)) {
- if((ptr = strchr(buffer, '\r')) != NULL)
+ ptr = strchr(buffer, '\r');
+ if(ptr)
*ptr = '\0';
- if((ptr = strchr(buffer, '\n')) != NULL)
+ ptr = strchr(buffer, '\n');
+ if(ptr)
*ptr = '\0';
buflen = strlen(buffer);
- if((ptr = realloc(string, stringlen+buflen+1)) == NULL) {
+ ptr = realloc(string, stringlen+buflen+1);
+ if(!ptr) {
Curl_safefree(string);
return PARAM_NO_MEM;
}
}
alloc *= 2;
/* allocate an extra char, reserved space, for null termination */
- if((newbuf = realloc(buffer, alloc+1)) == NULL) {
+ newbuf = realloc(buffer, alloc+1);
+ if(!newbuf) {
Curl_safefree(buffer);
return PARAM_NO_MEM;
}
buffer[nused] = '\0';
/* free trailing slack space, if possible */
if(alloc != nused) {
- if((newbuf = realloc(buffer, nused+1)) == NULL) {
+ newbuf = realloc(buffer, nused+1);
+ if(!newbuf) {
Curl_safefree(buffer);
return PARAM_NO_MEM;
}
if(!buffer)
return 1;
+ /* Allow strtok() here since this isn't used threaded */
+ /* !checksrc! disable BANNEDFUNC 2 */
for(token = strtok(buffer, sep);
token;
token = strtok(NULL, sep)) {
}
for(pp=protos; pp->name; pp++) {
- if(curlx_raw_equal(token, pp->name)) {
- switch (action) {
+ if(curl_strequal(token, pp->name)) {
+ switch(action) {
case deny:
*val &= ~(pp->bit);
break;
}
/**
+ * Check if the given string is a protocol supported by libcurl
+ *
+ * @param str the protocol name
+ * @return PARAM_OK protocol supported
+ * @return PARAM_LIBCURL_UNSUPPORTED_PROTOCOL protocol not supported
+ * @return PARAM_REQUIRES_PARAMETER missing parameter
+ */
+int check_protocol(const char *str)
+{
+ const char * const *pp;
+ const curl_version_info_data *curlinfo = curl_version_info(CURLVERSION_NOW);
+ if(!str)
+ return PARAM_REQUIRES_PARAMETER;
+ for(pp = curlinfo->protocols; *pp; pp++) {
+ if(curl_strequal(*pp, str))
+ return PARAM_OK;
+ }
+ return PARAM_LIBCURL_UNSUPPORTED_PROTOCOL;
+}
+
+/**
* Parses the given string looking for an offset (which may be a
* larger-than-integer value). The offset CANNOT be negative!
*
curlx_msnprintf(prompt, sizeof(prompt),
"Enter %s password for user '%s' on URL #%"
CURL_FORMAT_CURL_OFF_TU ":",
- kind, *userpwd, i + 1);
+ kind, *userpwd, (curl_off_t) (i + 1));
/* get password */
getpass_r(prompt, passwd, sizeof(passwd));
int ftpfilemethod(struct OperationConfig *config, const char *str)
{
- if(curlx_raw_equal("singlecwd", str))
+ if(curl_strequal("singlecwd", str))
return CURLFTPMETHOD_SINGLECWD;
- if(curlx_raw_equal("nocwd", str))
+ if(curl_strequal("nocwd", str))
return CURLFTPMETHOD_NOCWD;
- if(curlx_raw_equal("multicwd", str))
+ if(curl_strequal("multicwd", str))
return CURLFTPMETHOD_MULTICWD;
warnf(config->global, "unrecognized ftp file method '%s', using default\n",
int ftpcccmethod(struct OperationConfig *config, const char *str)
{
- if(curlx_raw_equal("passive", str))
+ if(curl_strequal("passive", str))
return CURLFTPSSL_CCC_PASSIVE;
- if(curlx_raw_equal("active", str))
+ if(curl_strequal("active", str))
return CURLFTPSSL_CCC_ACTIVE;
warnf(config->global, "unrecognized ftp CCC method '%s', using default\n",
long delegation(struct OperationConfig *config, char *str)
{
- if(curlx_raw_equal("none", str))
+ if(curl_strequal("none", str))
return CURLGSSAPI_DELEGATION_NONE;
- if(curlx_raw_equal("policy", str))
+ if(curl_strequal("policy", str))
return CURLGSSAPI_DELEGATION_POLICY_FLAG;
- if(curlx_raw_equal("always", str))
+ if(curl_strequal("always", str))
return CURLGSSAPI_DELEGATION_FLAG;
warnf(config->global, "unrecognized delegation method '%s', using none\n",
bool last = (config->next ? FALSE : TRUE);
/* Check we have a password for the given host user */
- if(config->userpwd && !config->xoauth2_bearer) {
+ if(config->userpwd && !config->oauth_bearer) {
result = checkpasswd("host", i, last, &config->userpwd);
if(result)
return result;