diff -ur kftpgrabber-0.8.1.old/kftpgrabber/src/engine/ftpsocket.cpp kftpgrabber-0.8.1/kftpgrabber/src/engine/ftpsocket.cpp --- kftpgrabber-0.8.1.old/kftpgrabber/src/engine/ftpsocket.cpp 2009-08-06 04:12:45.938977940 +0300 +++ kftpgrabber-0.8.1/kftpgrabber/src/engine/ftpsocket.cpp 2009-08-06 04:13:52.117078262 +0300 @@ -758,7 +758,7 @@ } // 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,11 +793,11 @@ // 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(), '='); + begin = const_cast (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)) {