diff --git a/source/shared_lib/sources/platform/posix/miniftpclient.cpp b/source/shared_lib/sources/platform/posix/miniftpclient.cpp index 076ef4f97..19d4e8c75 100644 --- a/source/shared_lib/sources/platform/posix/miniftpclient.cpp +++ b/source/shared_lib/sources/platform/posix/miniftpclient.cpp @@ -71,11 +71,14 @@ void FTPClientThread::getMapFromServer(string mapFileName) { FTP_Client_ResultType result = ftp_crt_FAIL; + string destFileExt = ""; string destFile = this->mapsPath.second + mapFileName; if(EndsWith(destFile,".mgm") == false && EndsWith(destFile,".gbm") == false) { - destFile += ".mgm"; + destFileExt = ".mgm"; + destFile += destFileExt; } + struct FtpFile ftpfile = { destFile.c_str(), /* name to store the file as if succesful */ NULL @@ -90,7 +93,7 @@ void FTPClientThread::getMapFromServer(string mapFileName) { */ char szBuf[1024]=""; - sprintf(szBuf,"ftp://maps:mg_ftp_server@%s/%s",serverUrl.c_str(),mapFileName.c_str()); + sprintf(szBuf,"ftp://maps:mg_ftp_server@%s/%s%s",serverUrl.c_str(),mapFileName.c_str(),destFileExt.c_str()); curl_easy_setopt(curl, CURLOPT_URL,szBuf); /* Define our callback to get called when there's data to be written */ @@ -110,7 +113,7 @@ void FTPClientThread::getMapFromServer(string mapFileName) { /* we failed */ fprintf(stderr, "curl told us %d\n", res); - sprintf(szBuf,"ftp://maps_custom:mg_ftp_server@%s/%s",serverUrl.c_str(),mapFileName.c_str()); + sprintf(szBuf,"ftp://maps_custom:mg_ftp_server@%s/%s%s",serverUrl.c_str(),mapFileName.c_str(),destFileExt.c_str()); curl_easy_setopt(curl, CURLOPT_URL,szBuf); /* Define our callback to get called when there's data to be written */