} else if (strncasecmp(*argv, "-T", 2) == 0) {
prttime = 1;
} else if (strncasecmp(*argv, "-M=", 3) == 0) {
- int m = atoi(*argv + 3);
+ long m = strtol(argv+3, NULL, 10);
switch(m) {
case 1: url = URL_1M;
break;
break;
}
co->expires =
- atoi((*co->maxage=='\"')?&co->maxage[1]:&co->maxage[0]) +
- (long)now;
+ strtol((*co->maxage=='\"')?&co->maxage[1]:&co->maxage[0],NULL,10)
+ + (long)now;
}
else if(Curl_raw_equal("expires", name)) {
strstore(&co->expirestr, whatptr);
size_t len = pp->nread_resp;
if((len > 3) && LASTLINE(line)) {
- *code = atoi(line);
+ *code = strtol(line, NULL, 10);
return 1;
}
return 0;
if(do_trace == -1) {
const char *env = getenv("CURL_TRACE");
- do_trace = (env && atoi(env) > 0);
+ do_trace = (env && strtol(env, NULL, 10) > 0);
}
if(!do_trace)
return;
return FALSE; /* Nothing for us. */
if((result = line[3] == ' '))
- *resp = atoi(line);
+ *resp = strtol(line, NULL, 10);
line += 4;
len -= 4;
*prox_portno = 0x0; /* cut off number from host name */
prox_portno ++;
/* now set the local port number */
- conn->port = atoi(prox_portno);
+ conn->port = strtol(prox_portno, NULL, 10);
}
else {
/* without a port number after the host name, some people seem to use
static int str2num(long *val, const char *str)
{
- int retcode = 0;
- if(str && ISDIGIT(*str))
- *val = atoi(str);
- else
- retcode = 1; /* badness */
- return retcode;
+ if(str && ISDIGIT(*str)) {
+ char *endptr;
+ long num = strtol(str, &endptr, 10);
+ if((endptr != str) && (endptr == str + strlen(str))) {
+ *val = num;
+ return 0; /* Ok */
+ }
+ }
+ return 1; /* badness */
}
/*
* we're using our own way to determine screen width */
colp = curlx_getenv("COLUMNS");
if(colp != NULL) {
- bar->width = atoi(colp);
+ char *endptr;
+ long num = strtol(colp, &endptr, 10);
+ if((endptr != colp) && (endptr == colp + strlen(colp)) && (num > 0))
+ bar->width = (int)num;
+ else
+ bar->width = 79;
curl_free(colp);
}
else
}
env = curlx_getenv("CURL_MEMLIMIT");
if(env) {
- curl_memlimit(atoi(env));
+ char *endptr;
+ long num = strtol(env, &endptr, 10);
+ if((endptr != env) && (endptr == env + strlen(env)) && (num > 0))
+ curl_memlimit(num);
curl_free(env);
}
#endif
/* this enables the fail-on-alloc-number-N functionality */
env = curl_getenv("CURL_MEMLIMIT");
if(env) {
- curl_memlimit(atoi(env));
+ char *endptr;
+ long num = strtol(env, &endptr, 10);
+ if((endptr != env) && (endptr == env + strlen(env)) && (num > 0))
+ curl_memlimit(num);
curl_free(env);
}
#endif
}
test_setopt(curl, CURLOPT_URL, URL);
- test_setopt(curl, CURLOPT_PORT, atoi(libtest_arg2));
+ test_setopt(curl, CURLOPT_PORT, strtol(libtest_arg2, NULL, 10));
test_setopt(curl, CURLOPT_USERPWD, "xxx:yyy");
test_setopt(curl, CURLOPT_VERBOSE, 1L);
test_setopt(curl, CURLOPT_VERBOSE, 1L);
/* set port number */
- test_setopt(curl, CURLOPT_PORT, atoi(libtest_arg2) );
+ test_setopt(curl, CURLOPT_PORT, strtol(libtest_arg2, NULL, 10));
/* specify target */
test_setopt(curl,CURLOPT_URL, URL);
/* if the host name starts with test, the port number used in the
CONNECT line will be used as test number! */
char *portp = strchr(doc, ':');
- if(portp)
- req->testno = atoi(portp+1);
+ if(portp && (*(portp+1) != '\0') && ISDIGIT(*(portp+1)))
+ req->testno = strtol(portp+1, NULL, 10);
else
req->testno = DOCNUMBER_CONNECT;
}
/* if the host name starts with test, the port number used in the
CONNECT line will be used as test number! */
char *portp = strchr(doc, ':');
- if(portp)
- req->testno = atoi(portp+1);
+ if(portp && (*(portp+1) != '\0') && ISDIGIT(*(portp+1)))
+ req->testno = strtol(portp+1, NULL, 10);
else
req->testno = DOCNUMBER_CONNECT;
}