summaryrefslogtreecommitdiffstats
path: root/kftpgrabber/src/engine/ftpsocket.cpp
diff options
context:
space:
mode:
authorFrancois Andriot <albator78@libertysurf.fr>2013-07-24 15:25:26 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-07-24 15:25:26 -0500
commit1385303ea163214e30825730ac0fbcc27f9634aa (patch)
tree458520a255b2199edd2ccb49556d80b3061efbc3 /kftpgrabber/src/engine/ftpsocket.cpp
parent093ed975800ab1e5c0d73759f07fedf8d5aa2ca6 (diff)
downloadkftpgrabber-1385303ea163214e30825730ac0fbcc27f9634aa.tar.gz
kftpgrabber-1385303ea163214e30825730ac0fbcc27f9634aa.zip
Fix FTBFS
Diffstat (limited to 'kftpgrabber/src/engine/ftpsocket.cpp')
-rw-r--r--kftpgrabber/src/engine/ftpsocket.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/kftpgrabber/src/engine/ftpsocket.cpp b/kftpgrabber/src/engine/ftpsocket.cpp
index 2741f4d..b0cb9ae 100644
--- a/kftpgrabber/src/engine/ftpsocket.cpp
+++ b/kftpgrabber/src/engine/ftpsocket.cpp
@@ -758,7 +758,7 @@ public:
}
// 229 Entering Extended Passive Mode (|||55016|)
- char *begin = strchr(socket()->getResponse().ascii(), '(');
+ const char *begin = strchr(socket()->getResponse().ascii(), '(');
int port;
if (!begin || sscanf(begin, "(|||%d|)", &port) != 1) {
@@ -793,12 +793,14 @@ public:
// Ok PASV command successfull - let's parse the result
int ip[6];
- char *begin = strchr(socket()->getResponse().ascii(), '(');
+ const char *begin = strchr(socket()->getResponse().ascii(), '(');
// Some stinky servers don't respect RFC and do it on their own
- if (!begin)
- begin = strchr(socket()->getResponse().ascii(), '=');
-
+ if (!begin) {
+ delete &begin;
+ const char *begin = strchr(socket()->getResponse().ascii(), '=');
+ }
+
if (!begin || (sscanf(begin, "(%d,%d,%d,%d,%d,%d)",&ip[0], &ip[1], &ip[2], &ip[3], &ip[4], &ip[5]) != 6 &&
sscanf(begin, "=%d,%d,%d,%d,%d,%d",&ip[0], &ip[1], &ip[2], &ip[3], &ip[4], &ip[5]) != 6)) {
// Unable to parse, try the next thing