1 --- filezilla-3.7.3/configure.in~ 2013-08-07 19:25:47.000000000 +0200
2 +++ filezilla-3.7.3/configure.in 2014-01-18 20:16:07.142026895 +0100
4 equivalent variable and wxWidgets version is $MIN_WX_VERSION or above.
7 - if test "$wx_config_major_version" -gt "2" || test "$wx_config_minor_version" -gt "8"; then
8 - AC_MSG_ERROR([You need to use wxWidgets 2.8.x to compile this program.])
11 # --universal=no doesn't work correctly, it still accepts universal builds. Reject it manually here.
12 if echo "$WX_CPPFLAGS" | grep __WXUNIVERSAL__ > /dev/null; then
13 diff -ur filezilla-3.7.3/src/engine/ControlSocket.cpp filezilla-3.7.3.wx3/src/engine/ControlSocket.cpp
14 --- filezilla-3.7.3/src/engine/ControlSocket.cpp 2013-06-09 05:30:07.000000000 +0200
15 +++ filezilla-3.7.3.wx3/src/engine/ControlSocket.cpp 2014-01-18 20:24:16.408690021 +0100
17 msg = _("Critical file transfer error after transferring %s in %s");
19 msg = _("File transfer failed after transferring %s in %s");
20 - LogMessage(msgType, msg, size.c_str(), time.c_str());
21 + LogMessage(msgType, msg, (const char *)size.c_str(), (const char *)time.c_str());
27 if (!defaultPath.IsEmpty())
29 - LogMessage(Debug_Warning, _T("Assuming path is '%s'."), defaultPath.GetPath().c_str());
30 + LogMessage(Debug_Warning, _T("Assuming path is '%s'."), (const char *)defaultPath.GetPath().c_str());
31 m_CurrentPath = defaultPath;
38 - LogMessage(::Error, _("Could not write to socket: %s"), CSocket::GetErrorDescription(error).c_str());
39 + LogMessage(::Error, _("Could not write to socket: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
40 LogMessage(::Error, _("Disconnected from server"));
43 @@ -1034,17 +1034,17 @@
44 case CSocketEvent::hostaddress:
46 const wxString& address = event.GetData();
47 - LogMessage(Status, _("Connecting to %s..."), address.c_str());
48 + LogMessage(Status, _("Connecting to %s..."), (const char *)address.c_str());
51 case CSocketEvent::connection_next:
53 - LogMessage(Status, _("Connection attempt failed with \"%s\", trying next address."), CSocket::GetErrorDescription(event.GetError()).c_str());
54 + LogMessage(Status, _("Connection attempt failed with \"%s\", trying next address."), (const char *)CSocket::GetErrorDescription(event.GetError()).c_str());
56 case CSocketEvent::connection:
59 - LogMessage(Status, _("Connection attempt failed with \"%s\"."), CSocket::GetErrorDescription(event.GetError()).c_str());
60 + LogMessage(Status, _("Connection attempt failed with \"%s\"."), (const char *)CSocket::GetErrorDescription(event.GetError()).c_str());
61 OnClose(event.GetError());
68 - LogMessage(::Error, _("Could not write to socket: %s"), CSocket::GetErrorDescription(error).c_str());
69 + LogMessage(::Error, _("Could not write to socket: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
70 if (GetCurrentCommandId() != cmd_connect)
71 LogMessage(::Error, _("Disconnected from server"));
75 LogMessage(::Error, _("Connection closed by server"));
77 - LogMessage(::Error, _("Disconnected from server: %s"), CSocket::GetErrorDescription(error).c_str());
78 + LogMessage(::Error, _("Disconnected from server: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
84 if (server.GetEncodingType() == ENCODING_CUSTOM)
86 - LogMessage(Debug_Info, _T("Using custom encoding: %s"), server.GetCustomEncoding().c_str());
87 + LogMessage(Debug_Info, _T("Using custom encoding: %s"), (const char *)server.GetCustomEncoding().c_str());
88 m_pCSConv = new wxCSConv(server.GetCustomEncoding());
92 const int proxy_type = m_pEngine->GetOptions()->GetOptionVal(OPTION_PROXY_TYPE);
93 if (proxy_type > CProxySocket::unknown && proxy_type < CProxySocket::proxytype_count && !m_pCurrentServer->GetBypassProxy())
95 - LogMessage(::Status, _("Connecting to %s through proxy"), m_pCurrentServer->FormatHost().c_str());
96 + LogMessage(::Status, _("Connecting to %s through proxy"), (const char *)m_pCurrentServer->FormatHost().c_str());
98 host = m_pEngine->GetOptions()->GetOption(OPTION_PROXY_HOST);
99 port = m_pEngine->GetOptions()->GetOptionVal(OPTION_PROXY_PORT);
100 @@ -1181,7 +1181,7 @@
102 if (res != EINPROGRESS)
104 - LogMessage(::Error, _("Could not start proxy handshake: %s"), CSocket::GetErrorDescription(res).c_str());
105 + LogMessage(::Error, _("Could not start proxy handshake: %s"), (const char *)CSocket::GetErrorDescription(res).c_str());
107 return FZ_REPLY_ERROR;
109 @@ -1201,14 +1201,14 @@
112 if (!IsIpAddress(host))
113 - LogMessage(Status, _("Resolving address of %s"), host.c_str());
114 + LogMessage(Status, _("Resolving address of %s"), (const char *)host.c_str());
116 int res = m_pSocket->Connect(host, port);
118 // Treat success same as EINPROGRESS, we wait for connect notification in any case
119 if (res && res != EINPROGRESS)
121 - LogMessage(::Error, _("Could not connect to server: %s"), CSocket::GetErrorDescription(res).c_str());
122 + LogMessage(::Error, _("Could not connect to server: %s"), (const char *)CSocket::GetErrorDescription(res).c_str());
124 return FZ_REPLY_ERROR;
126 @@ -1273,11 +1273,11 @@
129 wxString filename = pData->remotePath.FormatFilename(pData->remoteFile);
130 - LogMessage(Status, _("Skipping download of %s"), filename.c_str());
131 + LogMessage(Status, _("Skipping download of %s"), (const char *)filename.c_str());
135 - LogMessage(Status, _("Skipping upload of %s"), pData->localFile.c_str());
136 + LogMessage(Status, _("Skipping upload of %s"), (const char *)pData->localFile.c_str());
138 ResetOperation(FZ_REPLY_OK);
140 @@ -1292,11 +1292,11 @@
143 wxString filename = pData->remotePath.FormatFilename(pData->remoteFile);
144 - LogMessage(Status, _("Skipping download of %s"), filename.c_str());
145 + LogMessage(Status, _("Skipping download of %s"), (const char *)filename.c_str());
149 - LogMessage(Status, _("Skipping upload of %s"), pData->localFile.c_str());
150 + LogMessage(Status, _("Skipping upload of %s"), (const char *)pData->localFile.c_str());
152 ResetOperation(FZ_REPLY_OK);
154 @@ -1317,11 +1317,11 @@
157 wxString filename = pData->remotePath.FormatFilename(pData->remoteFile);
158 - LogMessage(Status, _("Skipping download of %s"), filename.c_str());
159 + LogMessage(Status, _("Skipping download of %s"), (const char *)filename.c_str());
163 - LogMessage(Status, _("Skipping upload of %s"), pData->localFile.c_str());
164 + LogMessage(Status, _("Skipping upload of %s"), (const char *)pData->localFile.c_str());
166 ResetOperation(FZ_REPLY_OK);
168 @@ -1383,11 +1383,11 @@
171 wxString filename = pData->remotePath.FormatFilename(pData->remoteFile);
172 - LogMessage(Status, _("Skipping download of %s"), filename.c_str());
173 + LogMessage(Status, _("Skipping download of %s"), (const char *)filename.c_str());
177 - LogMessage(Status, _("Skipping upload of %s"), pData->localFile.c_str());
178 + LogMessage(Status, _("Skipping upload of %s"), (const char *)pData->localFile.c_str());
180 ResetOperation(FZ_REPLY_OK);
182 @@ -1485,4 +1485,4 @@
183 int CControlSocket::Chmod(const CChmodCommand&)
185 return FZ_REPLY_NOTSUPPORTED;
187 \ No newline at end of file
189 diff -ur filezilla-3.7.3/src/engine/directorylistingparser.cpp filezilla-3.7.3.wx3/src/engine/directorylistingparser.cpp
190 --- filezilla-3.7.3/src/engine/directorylistingparser.cpp 2013-04-05 05:30:06.000000000 +0200
191 +++ filezilla-3.7.3.wx3/src/engine/directorylistingparser.cpp 2014-01-18 20:40:39.912016233 +0100
193 #include <filezilla.h>
194 #include "directorylistingparser.h"
195 #include "ControlSocket.h"
196 +#include "logging_private.h"
199 #define new DEBUG_NEW
200 diff -ur filezilla-3.7.3/src/engine/ftpcontrolsocket.cpp filezilla-3.7.3.wx3/src/engine/ftpcontrolsocket.cpp
201 --- filezilla-3.7.3/src/engine/ftpcontrolsocket.cpp 2013-06-09 05:30:07.000000000 +0200
202 +++ filezilla-3.7.3.wx3/src/engine/ftpcontrolsocket.cpp 2014-01-18 20:44:54.772014389 +0100
207 - LogMessage(::Error, _("Could not read from socket: %s"), CSocket::GetErrorDescription(error).c_str());
208 + LogMessage(::Error, _("Could not read from socket: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
209 if (GetCurrentCommandId() != cmd_connect)
210 LogMessage(::Error, _("Disconnected from server"));
213 pData->loginSequence.push_back(cmd);
216 - t_loginCommand cmd = {false, false, user, wxString::Format(_T("USER %s@%s"), server.GetUser().c_str(), server.FormatHost().c_str())};
217 + t_loginCommand cmd = {false, false, user, wxString::Format(_T("USER %s@%s"), (const char *)server.GetUser().c_str(), (const char *)server.FormatHost().c_str())};
218 pData->loginSequence.push_back(cmd);
221 @@ -2063,7 +2063,7 @@
223 if (code != 2 && code != 3)
225 - LogMessage(Debug_Warning, _T("PWD failed, assuming path is '%s'."), pData->path.GetPath().c_str());
226 + LogMessage(Debug_Warning, _T("PWD failed, assuming path is '%s'."), (const char *)pData->path.GetPath().c_str());
227 m_CurrentPath = pData->path;
229 if (pData->target.IsEmpty())
230 @@ -2131,7 +2131,7 @@
232 if (!assumedPath.IsEmpty())
234 - LogMessage(Debug_Warning, _T("PWD failed, assuming path is '%s'."), assumedPath.GetPath().c_str());
235 + LogMessage(Debug_Warning, _T("PWD failed, assuming path is '%s'."), (const char *)assumedPath.GetPath().c_str());
236 m_CurrentPath = assumedPath;
238 if (pData->target.IsEmpty())
239 @@ -2253,11 +2253,11 @@
242 wxString filename = remotePath.FormatFilename(remoteFile);
243 - LogMessage(Status, _("Starting download of %s"), filename.c_str());
244 + LogMessage(Status, _("Starting download of %s"), (const char *)filename.c_str());
248 - LogMessage(Status, _("Starting upload of %s"), localFile.c_str());
249 + LogMessage(Status, _("Starting upload of %s"), (const char *)localFile.c_str());
253 @@ -2645,7 +2645,7 @@
254 if (!pFile->Open(pData->localFile, wxFile::write_append))
257 - LogMessage(::Error, _("Failed to open \"%s\" for appending/writing"), pData->localFile.c_str());
258 + LogMessage(::Error, _("Failed to open \"%s\" for appending/writing"), (const char *)pData->localFile.c_str());
259 ResetOperation(FZ_REPLY_ERROR);
260 return FZ_REPLY_ERROR;
262 @@ -2686,7 +2686,7 @@
263 if (!pFile->Open(pData->localFile, wxFile::write))
266 - LogMessage(::Error, _("Failed to open \"%s\" for writing"), pData->localFile.c_str());
267 + LogMessage(::Error, _("Failed to open \"%s\" for writing"), (const char *)pData->localFile.c_str());
268 ResetOperation(FZ_REPLY_ERROR);
269 return FZ_REPLY_ERROR;
271 @@ -2707,7 +2707,7 @@
272 if (!pFile->Open(pData->localFile, wxFile::read))
275 - LogMessage(::Error, _("Failed to open \"%s\" for reading"), pData->localFile.c_str());
276 + LogMessage(::Error, _("Failed to open \"%s\" for reading"), (const char *)pData->localFile.c_str());
277 ResetOperation(FZ_REPLY_ERROR);
278 return FZ_REPLY_ERROR;
280 @@ -2723,7 +2723,7 @@
281 if (pFile->Seek(startOffset, wxFromStart) == wxInvalidOffset)
284 - LogMessage(::Error, _("Could not seek to offset %s within file"), wxLongLong(startOffset).ToString().c_str());
285 + LogMessage(::Error, _("Could not seek to offset %s within file"), (const char *)wxLongLong(startOffset).ToString().c_str());
286 ResetOperation(FZ_REPLY_ERROR);
287 return FZ_REPLY_ERROR;
289 @@ -3125,7 +3125,7 @@
290 wxString filename = pData->path.FormatFilename(file, pData->omitPath);
291 if (filename == _T(""))
293 - LogMessage(::Error, _("Filename cannot be constructed for directory %s and filename %s"), pData->path.GetPath().c_str(), file.c_str());
294 + LogMessage(::Error, _("Filename cannot be constructed for directory %s and filename %s"), (const char *)pData->path.GetPath().c_str(), (const char *)file.c_str());
295 ResetOperation(FZ_REPLY_ERROR);
296 return FZ_REPLY_ERROR;
298 @@ -3213,7 +3213,7 @@
300 if (!pData->fullPath.AddSegment(subDir))
302 - LogMessage(::Error, _("Path cannot be constructed for directory %s and subdir %s"), path.GetPath().c_str(), subDir.c_str());
303 + LogMessage(::Error, _("Path cannot be constructed for directory %s and subdir %s"), (const char *)path.GetPath().c_str(), (const char *)subDir.c_str());
304 ResetOperation(FZ_REPLY_ERROR);
305 return FZ_REPLY_ERROR;
307 @@ -3328,7 +3328,7 @@
311 - LogMessage(Status, _("Creating directory '%s'..."), path.GetPath().c_str());
312 + LogMessage(Status, _("Creating directory '%s'..."), (const char *)path.GetPath().c_str());
314 CMkdirOpData *pData = new CMkdirOpData;
316 @@ -3559,7 +3559,7 @@
317 return FZ_REPLY_ERROR;
320 - LogMessage(Status, _("Renaming '%s' to '%s'"), command.GetFromPath().FormatFilename(command.GetFromFile()).c_str(), command.GetToPath().FormatFilename(command.GetToFile()).c_str());
321 + LogMessage(Status, _("Renaming '%s' to '%s'"), (const char *)command.GetFromPath().FormatFilename(command.GetFromFile()).c_str(), (const char *)command.GetToPath().FormatFilename(command.GetToFile()).c_str());
323 CFtpRenameOpData *pData = new CFtpRenameOpData(command);
324 pData->opState = rename_rnfrom;
325 @@ -3711,7 +3711,7 @@
326 return FZ_REPLY_ERROR;
329 - LogMessage(Status, _("Set permissions of '%s' to '%s'"), command.GetPath().FormatFilename(command.GetFile()).c_str(), command.GetPermission().c_str());
330 + LogMessage(Status, _("Set permissions of '%s' to '%s'"), (const char *)command.GetPath().FormatFilename(command.GetFile()).c_str(), (const char *)command.GetPermission().c_str());
332 CFtpChmodOpData *pData = new CFtpChmodOpData(command);
333 pData->opState = chmod_chmod;
334 @@ -3881,13 +3881,13 @@
335 if (m_pEngine->GetOptions()->GetOptionVal(OPTION_PASVREPLYFALLBACKMODE) != 1 || pData->bTriedActive)
337 LogMessage(Status, _("Server sent passive reply with unroutable address. Using server address instead."));
338 - LogMessage(Debug_Info, _T(" Reply: %s, peer: %s"), pData->host.c_str(), peerIP.c_str());
339 + LogMessage(Debug_Info, _T(" Reply: %s, peer: %s"), (const char *)pData->host.c_str(), (const char *)peerIP.c_str());
340 pData->host = peerIP;
344 LogMessage(Status, _("Server sent passive reply with unroutable address. Passive mode failed."));
345 - LogMessage(Debug_Info, _T(" Reply: %s, peer: %s"), pData->host.c_str(), peerIP.c_str());
346 + LogMessage(Debug_Info, _T(" Reply: %s, peer: %s"), (const char *)pData->host.c_str(), (const char *)peerIP.c_str());
350 @@ -3944,7 +3944,7 @@
352 wxString resolverAddress = m_pEngine->GetOptions()->GetOption(OPTION_EXTERNALIPRESOLVER);
354 - LogMessage(::Debug_Info, _("Retrieving external IP address from %s"), resolverAddress.c_str());
355 + LogMessage(::Debug_Info, _("Retrieving external IP address from %s"), (const char *)resolverAddress.c_str());
357 m_pIPResolver = new CExternalIPResolver(this);
358 m_pIPResolver->GetExternalIP(resolverAddress, CSocket::ipv4);
359 @@ -4445,7 +4445,7 @@
360 return FZ_REPLY_ERROR;
363 - LogMessage(Status, _("Using proxy %s"), m_pEngine->GetOptions()->GetOption(OPTION_FTP_PROXY_HOST).c_str());
364 + LogMessage(Status, _("Using proxy %s"), (const char *)m_pEngine->GetOptions()->GetOption(OPTION_FTP_PROXY_HOST).c_str());
368 diff -ur filezilla-3.7.3/src/engine/httpcontrolsocket.cpp filezilla-3.7.3.wx3/src/engine/httpcontrolsocket.cpp
369 --- filezilla-3.7.3/src/engine/httpcontrolsocket.cpp 2012-11-02 05:30:06.000000000 +0100
370 +++ filezilla-3.7.3.wx3/src/engine/httpcontrolsocket.cpp 2014-01-18 20:47:54.298679755 +0100
373 LogMessage(Debug_Verbose, _T("CHttpControlSocket::FileTransfer()"));
375 - LogMessage(Status, _("Downloading %s"), remotePath.FormatFilename(remoteFile).c_str());
376 + LogMessage(Status, _("Downloading %s"), (const char *)remotePath.FormatFilename(remoteFile).c_str());
382 if (!pData->pFile->Open(pData->localFile, wxFile::write))
384 - LogMessage(::Error, _("Failed to open \"%s\" for writing"), pData->localFile.c_str());
385 + LogMessage(::Error, _("Failed to open \"%s\" for writing"), (const char *)pData->localFile.c_str());
386 ResetOperation(FZ_REPLY_ERROR);
387 return FZ_REPLY_ERROR;
391 if (!pData->pFile->Open(pData->localFile, wxFile::write))
393 - LogMessage(::Error, _("Failed to open \"%s\" for writing"), pData->localFile.c_str());
394 + LogMessage(::Error, _("Failed to open \"%s\" for writing"), (const char *)pData->localFile.c_str());
395 ResetOperation(FZ_REPLY_ERROR);
396 return FZ_REPLY_ERROR;
398 @@ -471,10 +471,10 @@
399 hostWithPort = pData->m_newHostWithPort;
402 - wxString action = wxString::Format(_T("GET %s HTTP/1.1"), location.c_str());
403 + wxString action = wxString::Format(_T("GET %s HTTP/1.1"), (const char *)location.c_str());
404 LogMessageRaw(Command, action);
406 - wxString command = wxString::Format(_T("%s\r\nHost: %s\r\nUser-Agent: %s\r\nConnection: close\r\n\r\n"), action.c_str(), hostWithPort.c_str(), wxString(PACKAGE_STRING, wxConvLocal).c_str());
407 + wxString command = wxString::Format(_T("%s\r\nHost: %s\r\nUser-Agent: %s\r\nConnection: close\r\n\r\n"), (const char *)action.c_str(), (const char *)hostWithPort.c_str(), wxString(PACKAGE_STRING, wxConvLocal).c_str());
409 const wxWX2MBbuf str = command.mb_str();
410 if (!Send(str, strlen(str)))
414 if (!IsIpAddress(host))
415 - LogMessage(Status, _("Resolving address of %s"), host.c_str());
416 + LogMessage(Status, _("Resolving address of %s"), (const char *)host.c_str());
419 return DoInternalConnect();
422 if (pData->pFile->Write(p, len) != len)
424 - LogMessage(::Error, _("Failed to write to file %s"), pData->localFile.c_str());
425 + LogMessage(::Error, _("Failed to write to file %s"), (const char *)pData->localFile.c_str());
426 ResetOperation(FZ_REPLY_ERROR);
427 return FZ_REPLY_ERROR;
430 ResetOperation(FZ_REPLY_ERROR);
431 return FZ_REPLY_ERROR;
433 - pData->m_newHostWithPort = wxString::Format(_T("%s:%d"), host.c_str(), (int)port);
434 + pData->m_newHostWithPort = wxString::Format(_T("%s:%d"), (const char *)host.c_str(), (int)port);
436 // International domain names
437 host = ConvertDomainName(host);
440 if (*p < '0' || *p > '9')
442 - LogMessage(::Error, _("Malformed header: %s"), _("Invalid Content-Length"));
443 + LogMessage(::Error, _("Malformed header: %s"), (const char *)_("Invalid Content-Length").c_str());
444 ResetOperation(FZ_REPLY_ERROR);
445 return FZ_REPLY_ERROR;
449 if (p[i + 1] != '\n')
451 - LogMessage(::Error, _("Malformed chunk data: %s"), _("Wrong line endings"));
452 + LogMessage(::Error, _("Malformed chunk data: %s"), (const char *)_("Wrong line endings").c_str());
453 ResetOperation(FZ_REPLY_ERROR);
454 return FZ_REPLY_ERROR;
457 if (len == m_recvBufferLen)
459 // We don't support lines larger than 4096
460 - LogMessage(::Error, _("Malformed chunk data: %s"), _("Line length exceeded"));
461 + LogMessage(::Error, _("Malformed chunk data: %s"), (const char *)_("Line length exceeded").c_str());
462 ResetOperation(FZ_REPLY_ERROR);
463 return FZ_REPLY_ERROR;
467 // The chunk data has to end with CRLF. If i is nonzero,
468 // it didn't end with just CRLF.
469 - LogMessage(::Error, _("Malformed chunk data: %s"), _("Chunk data improperly terminated"));
470 + LogMessage(::Error, _("Malformed chunk data: %s"), (const char *)_("Chunk data improperly terminated").c_str());
471 ResetOperation(FZ_REPLY_ERROR);
472 return FZ_REPLY_ERROR;
478 - LogMessage(::Error, _("Malformed chunk data: %s"), _("Invalid chunk size"));
479 + LogMessage(::Error, _("Malformed chunk data: %s"), (const char *)_("Invalid chunk size").c_str());
480 ResetOperation(FZ_REPLY_ERROR);
481 return FZ_REPLY_ERROR;
487 - LogMessage(::Error, _("Disconnected from server: %s"), CSocket::GetErrorDescription(error).c_str());
488 + LogMessage(::Error, _("Disconnected from server: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
489 ResetOperation(FZ_REPLY_ERROR | FZ_REPLY_DISCONNECTED);
492 diff -ur filezilla-3.7.3/src/engine/local_path.cpp filezilla-3.7.3.wx3/src/engine/local_path.cpp
493 --- filezilla-3.7.3/src/engine/local_path.cpp 2011-05-02 05:30:19.000000000 +0200
494 +++ filezilla-3.7.3.wx3/src/engine/local_path.cpp 2014-01-18 21:22:20.448664798 +0100
496 #include <filezilla.h>
497 #include "local_path.h"
498 #include "string_coalescer.h"
499 +#include "logging_private.h"
507 - wxChar* start = m_path.GetWriteBuf(path.Len() + 2);
508 + wxStringBuffer strbuf(m_path, path.Len() + 2);
509 + wxChar* start = strbuf;
517 - m_path.UngetWriteBuf( out - start );
518 + strbuf.~wxStringBuffer();
522 @@ -495,20 +497,20 @@
526 - error->Printf(_("'%s' is not a directory."), path.c_str());
527 + error->Printf(_("'%s' is not a directory."), (const char *)path.c_str());
531 else if (result == ENOTDIR)
534 - error->Printf(_("'%s' is not a directory."), path.c_str());
535 + error->Printf(_("'%s' is not a directory."), (const char *)path.c_str());
541 - error->Printf(_("'%s' does not exist or cannot be accessed."), path.c_str());
542 + error->Printf(_("'%s' does not exist or cannot be accessed."), (const char *)path.c_str());
547 void CLocalPath::Coalesce()
551 \ No newline at end of file
553 diff -ur filezilla-3.7.3/src/engine/logging_private.h filezilla-3.7.3.wx3/src/engine/logging_private.h
554 --- filezilla-3.7.3/src/engine/logging_private.h 2008-12-14 04:00:47.000000000 +0100
555 +++ filezilla-3.7.3.wx3/src/engine/logging_private.h 2014-01-18 20:42:33.885348742 +0100
557 #ifndef __LOGGING_PRIVATE_H__
558 #define __LOGGING_PRIVATE_H__
560 +#include <wx/intl.h>
561 +#include <wx/string.h>
566 diff -ur filezilla-3.7.3/src/engine/misc.cpp filezilla-3.7.3.wx3/src/engine/misc.cpp
567 --- filezilla-3.7.3/src/engine/misc.cpp 2012-10-24 05:30:07.000000000 +0200
568 +++ filezilla-3.7.3.wx3/src/engine/misc.cpp 2014-01-18 21:07:20.222004649 +0100
571 void MakeLowerAscii(wxString& str)
573 - for (size_t i = 0; i < str.Len(); i++)
575 - wxChar& c = str[i];
576 - if (c >= 'A' && c <= 'Z')
582 wxString GetDependencyVersion(dependency::type d)
583 diff -ur filezilla-3.7.3/src/engine/proxy.cpp filezilla-3.7.3.wx3/src/engine/proxy.cpp
584 --- filezilla-3.7.3/src/engine/proxy.cpp 2012-11-02 05:30:06.000000000 +0100
585 +++ filezilla-3.7.3.wx3/src/engine/proxy.cpp 2014-01-18 21:08:17.078670903 +0100
586 @@ -169,11 +169,11 @@
587 case CSocketEvent::hostaddress:
589 const wxString& address = event.GetData();
590 - m_pOwner->LogMessage(Status, _("Connecting to %s..."), address.c_str());
591 + m_pOwner->LogMessage(Status, _("Connecting to %s..."), (const char *)address.c_str());
593 case CSocketEvent::connection_next:
594 if (event.GetError())
595 - m_pOwner->LogMessage(Status, _("Connection attempt failed with \"%s\", trying next address."), CSocket::GetErrorDescription(event.GetError()).c_str());
596 + m_pOwner->LogMessage(Status, _("Connection attempt failed with \"%s\", trying next address."), (const char *)CSocket::GetErrorDescription(event.GetError()).c_str());
598 case CSocketEvent::connection:
599 if (event.GetError())
603 wxString reply(m_pRecvBuffer, wxConvUTF8);
604 - m_pOwner->LogMessage(Response, _("Proxy reply: %s"), reply.c_str());
605 + m_pOwner->LogMessage(Response, _("Proxy reply: %s"), (const char *)reply.c_str());
607 if (reply.Left(10) != _T("HTTP/1.1 2") && reply.Left(10) != _T("HTTP/1.0 2"))
613 - m_pOwner->LogMessage(Debug_Warning, _("Proxy request failed: %s"), error.c_str());
614 + m_pOwner->LogMessage(Debug_Warning, _("Proxy request failed: %s"), (const char *)error.c_str());
615 m_proxyState = noconn;
616 CSocketEvent *evt = new CSocketEvent(m_pEvtHandler, this, CSocketEvent::close, ECONNABORTED);
617 CSocketEventDispatcher::Get().SendEvent(evt);
618 diff -ur filezilla-3.7.3/src/engine/server.cpp filezilla-3.7.3.wx3/src/engine/server.cpp
619 --- filezilla-3.7.3/src/engine/server.cpp 2013-01-14 05:30:09.000000000 +0100
620 +++ filezilla-3.7.3.wx3/src/engine/server.cpp 2014-01-18 21:11:06.592003009 +0100
622 #include <filezilla.h>
623 +#include "logging_private.h"
625 struct t_protocolInfo
630 static const t_protocolInfo protocolInfos[] = {
631 - { FTP, _T("ftp"), false, 21, true, wxTRANSLATE("FTP - File Transfer Protocol with optional encryption"), true },
632 + { FTP, _T("ftp"), false, 21, true, (const wxChar*)wxTRANSLATE("FTP - File Transfer Protocol with optional encryption"), true },
633 { SFTP, _T("sftp"), true, 22, false, _T("SFTP - SSH File Transfer Protocol"), false },
634 { HTTP, _T("http"), true, 80, false, _T("HTTP - Hypertext Transfer Protocol"), true },
635 - { HTTPS, _T("https"), true, 443, true, wxTRANSLATE("HTTPS - HTTP over TLS"), true },
636 - { FTPS, _T("ftps"), true, 990, true, wxTRANSLATE("FTPS - FTP over implicit TLS/SSL"), true },
637 - { FTPES, _T("ftpes"), true, 21, true, wxTRANSLATE("FTPES - FTP over explicit TLS/SSL"), true },
638 - { INSECURE_FTP, _T("ftp"), false, 21, true, wxTRANSLATE("FTP - Insecure File Transfer Protocol"), true },
639 + { HTTPS, _T("https"), true, 443, true, (const wxChar*)wxTRANSLATE("HTTPS - HTTP over TLS"), true },
640 + { FTPS, _T("ftps"), true, 990, true, (const wxChar*)wxTRANSLATE("FTPS - FTP over implicit TLS/SSL"), true },
641 + { FTPES, _T("ftpes"), true, 21, true, (const wxChar*)wxTRANSLATE("FTPES - FTP over explicit TLS/SSL"), true },
642 + { INSECURE_FTP, _T("ftp"), false, 21, true, (const wxChar*)wxTRANSLATE("FTP - Insecure File Transfer Protocol"), true },
643 { UNKNOWN, _T(""), false, 21, false, _T("") }
646 diff -ur filezilla-3.7.3/src/engine/serverpath.cpp filezilla-3.7.3.wx3/src/engine/serverpath.cpp
647 --- filezilla-3.7.3/src/engine/serverpath.cpp 2013-04-05 05:30:06.000000000 +0200
648 +++ filezilla-3.7.3.wx3/src/engine/serverpath.cpp 2014-01-18 21:21:17.041998590 +0100
650 len += iter->Length() + 2 + INTLENGTH;
653 - wxChar* start = safepath.GetWriteBuf(len);
654 + wxStringBuffer strbuf(safepath, len);
655 + wxChar* start = strbuf;
658 t = fast_sprint_number(t, m_type);
663 - safepath.UngetWriteBuf( t - start );
664 + strbuf.~wxStringBuffer();
668 diff -ur filezilla-3.7.3/src/engine/sftpcontrolsocket.cpp filezilla-3.7.3.wx3/src/engine/sftpcontrolsocket.cpp
669 --- filezilla-3.7.3/src/engine/sftpcontrolsocket.cpp 2013-06-09 05:30:07.000000000 +0200
670 +++ filezilla-3.7.3.wx3/src/engine/sftpcontrolsocket.cpp 2014-01-18 21:25:01.475330299 +0100
673 int CSftpControlSocket::Connect(const CServer &server)
675 - LogMessage(Status, _("Connecting to %s..."), server.FormatHost().c_str());
676 + LogMessage(Status, _("Connecting to %s..."), (const char *)server.FormatHost().c_str());
679 m_sftpEncryptionDetails = CSftpEncryptionNotification();
682 if (server.GetEncodingType() == ENCODING_CUSTOM)
684 - LogMessage(Debug_Info, _T("Using custom encoding: %s"), server.GetCustomEncoding().c_str());
685 + LogMessage(Debug_Info, _T("Using custom encoding: %s"), (const char *)server.GetCustomEncoding().c_str());
686 m_pCSConv = new wxCSConv(server.GetCustomEncoding());
690 wxString executable = m_pEngine->GetOptions()->GetOption(OPTION_FZSFTP_EXECUTABLE);
691 if (executable == _T(""))
692 executable = _T("fzsftp");
693 - LogMessage(Debug_Verbose, _T("Going to execute %s"), executable.c_str());
694 + LogMessage(Debug_Verbose, _T("Going to execute %s"), (const char *)executable.c_str());
696 m_pid = wxExecute(executable + _T(" -v"), wxEXEC_ASYNC, m_pProcess);
700 int CSftpControlSocket::ConnectParseResponse(bool successful, const wxString& reply)
702 - LogMessage(Debug_Verbose, _T("CSftpControlSocket::ConnectParseResponse(%s)"), reply.c_str());
703 + LogMessage(Debug_Verbose, _T("CSftpControlSocket::ConnectParseResponse(%s)"), (const char *)reply.c_str());
710 wxString cmd = wxString::Format(_T("proxy %d \"%s\" %d"), type,
711 - m_pEngine->GetOptions()->GetOption(OPTION_PROXY_HOST).c_str(),
712 + (const char *)m_pEngine->GetOptions()->GetOption(OPTION_PROXY_HOST).c_str(),
713 m_pEngine->GetOptions()->GetOptionVal(OPTION_PROXY_PORT));
714 wxString user = m_pEngine->GetOptions()->GetOption(OPTION_PROXY_USER);
717 res = Send(_T("keyfile \"") + pData->pKeyFiles->GetNextToken() + _T("\""));
720 - res = Send(wxString::Format(_T("open \"%s@%s\" %d"), m_pCurrentServer->GetUser().c_str(), m_pCurrentServer->GetHost().c_str(), m_pCurrentServer->GetPort()));
721 + res = Send(wxString::Format(_T("open \"%s@%s\" %d"), (const char *)m_pCurrentServer->GetUser().c_str(), (const char *)m_pCurrentServer->GetHost().c_str(), (const char *)m_pCurrentServer->GetPort()));
724 LogMessage(__TFILE__, __LINE__, this, Debug_Warning, _T("Unknown op state: %d"), pData->opState);
727 int CSftpControlSocket::ListParseResponse(bool successful, const wxString& reply)
729 - LogMessage(Debug_Verbose, _T("CSftpControlSocket::ListParseResponse(%s)"), reply.c_str());
730 + LogMessage(Debug_Verbose, _T("CSftpControlSocket::ListParseResponse(%s)"), (const char *)reply.c_str());
734 @@ -1631,11 +1631,11 @@
737 wxString filename = remotePath.FormatFilename(remoteFile);
738 - LogMessage(Status, _("Starting download of %s"), filename.c_str());
739 + LogMessage(Status, _("Starting download of %s"), (const char *)filename.c_str());
743 - LogMessage(Status, _("Starting upload of %s"), localFile.c_str());
744 + LogMessage(Status, _("Starting upload of %s"), (const char *)localFile.c_str());
748 @@ -2045,7 +2045,7 @@
752 - LogMessage(Status, _("Creating directory '%s'..."), path.GetPath().c_str());
753 + LogMessage(Status, _("Creating directory '%s'..."), (const char *)path.GetPath().c_str());
755 CMkdirOpData *pData = new CMkdirOpData;
757 @@ -2308,7 +2308,7 @@
758 wxString filename = pData->path.FormatFilename(file);
759 if (filename == _T(""))
761 - LogMessage(::Error, _("Filename cannot be constructed for directory %s and filename %s"), pData->path.GetPath().c_str(), file.c_str());
762 + LogMessage(::Error, _("Filename cannot be constructed for directory %s and filename %s"), (const char *)pData->path.GetPath().c_str(), (const char *)file.c_str());
763 return FZ_REPLY_ERROR;
766 @@ -2353,7 +2353,7 @@
768 if (!fullPath.AddSegment(subDir))
770 - LogMessage(::Error, _("Path cannot be constructed for directory %s and subdir %s"), path.GetPath().c_str(), subDir.c_str());
771 + LogMessage(::Error, _("Path cannot be constructed for directory %s and subdir %s"), (const char *)path.GetPath().c_str(), (const char *)subDir.c_str());
772 return FZ_REPLY_ERROR;
775 @@ -2433,7 +2433,7 @@
776 return FZ_REPLY_ERROR;
779 - LogMessage(Status, _("Set permissions of '%s' to '%s'"), command.GetPath().FormatFilename(command.GetFile()).c_str(), command.GetPermission().c_str());
780 + LogMessage(Status, _("Set permissions of '%s' to '%s'"), (const char *)command.GetPath().FormatFilename(command.GetFile()).c_str(), (const char *)command.GetPermission().c_str());
782 CSftpChmodOpData *pData = new CSftpChmodOpData(command);
783 pData->opState = chmod_chmod;
784 @@ -2555,7 +2555,7 @@
785 return FZ_REPLY_ERROR;
788 - LogMessage(Status, _("Renaming '%s' to '%s'"), command.GetFromPath().FormatFilename(command.GetFromFile()).c_str(), command.GetToPath().FormatFilename(command.GetToFile()).c_str());
789 + LogMessage(Status, _("Renaming '%s' to '%s'"), (const char *)command.GetFromPath().FormatFilename(command.GetFromFile()).c_str(), (const char *)command.GetToPath().FormatFilename(command.GetToFile()).c_str());
791 CSftpRenameOpData *pData = new CSftpRenameOpData(command);
792 pData->opState = rename_rename;
793 diff -ur filezilla-3.7.3/src/engine/sizeformatting_base.cpp filezilla-3.7.3.wx3/src/engine/sizeformatting_base.cpp
794 --- filezilla-3.7.3/src/engine/sizeformatting_base.cpp 2010-09-14 05:30:20.000000000 +0200
795 +++ filezilla-3.7.3.wx3/src/engine/sizeformatting_base.cpp 2014-01-18 21:25:31.448663415 +0100
797 #include <filezilla.h>
798 #include "sizeformatting_base.h"
799 #include "optionsbase.h"
800 +#include "logging_private.h"
802 #include <langinfo.h>
804 diff -ur filezilla-3.7.3/src/engine/socket.cpp filezilla-3.7.3.wx3/src/engine/socket.cpp
805 --- filezilla-3.7.3/src/engine/socket.cpp 2013-06-10 20:45:04.000000000 +0200
806 +++ filezilla-3.7.3.wx3/src/engine/socket.cpp 2014-01-18 21:26:32.505329640 +0100
809 +#include <wx/intl.h>
811 // MinGW needs this for getaddrinfo
812 #if defined(_WIN32_WINNT)
813 @@ -1273,7 +1274,7 @@
817 -#define ERRORDECL(c, desc) { c, _T(#c), wxTRANSLATE(desc) },
818 +#define ERRORDECL(c, desc) { c, _T(#c), (const wxChar*)wxTRANSLATE(desc) },
822 diff -ur filezilla-3.7.3/src/engine/string_coalescer.cpp filezilla-3.7.3.wx3/src/engine/string_coalescer.cpp
823 --- filezilla-3.7.3/src/engine/string_coalescer.cpp 2012-10-06 05:30:12.000000000 +0200
824 +++ filezilla-3.7.3.wx3/src/engine/string_coalescer.cpp 2014-01-18 21:28:24.208662165 +0100
827 // wxString is CoW, yet it doesn't even do this fast pointer
828 // comparison in it's less and/or equal operator(s).
829 - return lhs.c_str() == rhs.c_str() || lhs == rhs;
831 +// return lhs.c_str() == rhs.c_str() || lhs == rhs;
835 diff -ur filezilla-3.7.3/src/engine/tlssocket.cpp filezilla-3.7.3.wx3/src/engine/tlssocket.cpp
836 --- filezilla-3.7.3/src/engine/tlssocket.cpp 2013-06-01 09:37:58.000000000 +0200
837 +++ filezilla-3.7.3.wx3/src/engine/tlssocket.cpp 2014-01-18 21:30:03.031994782 +0100
840 wxString s(msg, wxConvLocal);
842 - pLoggingControlSocket->LogMessage(Debug_Debug, _T("tls: %d %s"), level, s.c_str());
843 + pLoggingControlSocket->LogMessage(Debug_Debug, _T("tls: %d %s"), level, (const char *)s.c_str());
847 @@ -207,16 +207,16 @@
850 if (function.IsEmpty())
851 - m_pOwner->LogMessage(::Error, _T("GnuTLS error %d: %s"), code, str.c_str());
852 + m_pOwner->LogMessage(::Error, _T("GnuTLS error %d: %s"), code, (const char *)str.c_str());
854 - m_pOwner->LogMessage(::Error, _T("GnuTLS error %d in %s: %s"), code, function.c_str(), str.c_str());
855 + m_pOwner->LogMessage(::Error, _T("GnuTLS error %d in %s: %s"), code, (const char *)function.c_str(), (const char *)str.c_str());
859 if (function.IsEmpty())
860 m_pOwner->LogMessage(::Error, _T("GnuTLS error %d"), code);
862 - m_pOwner->LogMessage(::Error, _T("GnuTLS error %d in %s"), code, function.c_str());
863 + m_pOwner->LogMessage(::Error, _T("GnuTLS error %d in %s"), code, (const char *)function.c_str());
871 - m_pOwner->LogMessage(::Debug_Warning, _T("GnuTLS alert %d: %s"), last_alert, str.c_str());
872 + m_pOwner->LogMessage(::Debug_Warning, _T("GnuTLS alert %d: %s"), last_alert, (const char *)str.c_str());
875 m_pOwner->LogMessage(::Debug_Warning, _T("GnuTLS alert %d"), last_alert);
877 const wxString cipherName = GetCipherName();
878 const wxString macName = GetMacName();
880 - m_pOwner->LogMessage(Debug_Info, _T("Protocol: %s, Key exchange: %s, Cipher: %s, MAC: %s"), protocol.c_str(), keyExchange.c_str(), cipherName.c_str(), macName.c_str());
881 + m_pOwner->LogMessage(Debug_Info, _T("Protocol: %s, Key exchange: %s, Cipher: %s, MAC: %s"), (const char *)protocol.c_str(), (const char *)keyExchange.c_str(), (const char *)cipherName.c_str(), (const char *)macName.c_str());
883 res = VerifyCertificate();
884 if (res != FZ_REPLY_OK)
885 @@ -1235,7 +1235,7 @@
886 if (priority.IsEmpty())
887 priority = wxString::FromUTF8(ciphers);
889 - wxString list = wxString::Format(_T("Ciphers for %s:\n"), priority.c_str());
890 + wxString list = wxString::Format(_T("Ciphers for %s:\n"), (const char *)priority.c_str());
892 #if GNUTLS_VERSION_NUMBER >= 0x030009
893 gnutls_priority_t pcache;
894 @@ -1243,7 +1243,7 @@
895 int ret = gnutls_priority_init(&pcache, priority.mb_str(), &err);
898 - list += wxString::Format(_T("gnutls_priority_init failed with code %d: %s"), ret, wxString::FromUTF8(err ? err : "").c_str());
899 + list += wxString::Format(_T("gnutls_priority_init failed with code %d: %s"), ret, (const char *)wxString::FromUTF8(err ? err : "").c_str());
903 @@ -1265,10 +1265,10 @@
905 list += wxString::Format(
906 _T("%-50s 0x%02x, 0x%02x %s\n"),
907 - wxString::FromUTF8(name).c_str(),
908 + (const char *)wxString::FromUTF8(name).c_str(),
909 (unsigned char)id[0],
910 (unsigned char)id[1],
911 - wxString::FromUTF8(gnutls_protocol_get_name(version)).c_str());
912 + (const char *)wxString::FromUTF8(gnutls_protocol_get_name(version)).c_str());
916 diff -ur filezilla-3.7.3/src/engine/transfersocket.cpp filezilla-3.7.3.wx3/src/engine/transfersocket.cpp
917 --- filezilla-3.7.3/src/engine/transfersocket.cpp 2013-06-10 20:45:04.000000000 +0200
918 +++ filezilla-3.7.3.wx3/src/engine/transfersocket.cpp 2014-01-18 21:31:02.895327683 +0100
920 delete m_pSocketServer;
923 - m_pControlSocket->LogMessage(::Debug_Warning, _T("GetLocalPort failed: %s"), CSocket::GetErrorDescription(error).c_str());
924 + m_pControlSocket->LogMessage(::Debug_Warning, _T("GetLocalPort failed: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
928 wxString portArguments;
929 if (m_pSocketServer->GetAddressFamily() == CSocket::ipv6)
931 - portArguments = wxString::Format(_T("|2|%s|%d|"), ip.c_str(), port);
932 + portArguments = wxString::Format(_T("|2|%s|%d|"), (const char *)ip.c_str(), port);
937 const int error = event.GetError();
940 - m_pControlSocket->LogMessage(::Error, _("Proxy handshake failed: %s"), CSocket::GetErrorDescription(error).c_str());
941 + m_pControlSocket->LogMessage(::Error, _("Proxy handshake failed: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
942 TransferEnd(failure);
946 case CSocketEvent::close:
948 const int error = event.GetError();
949 - m_pControlSocket->LogMessage(::Error, _("Proxy handshake failed: %s"), CSocket::GetErrorDescription(error).c_str());
950 + m_pControlSocket->LogMessage(::Error, _("Proxy handshake failed: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
951 TransferEnd(failure);
956 if (!m_transferEndReason)
958 - m_pControlSocket->LogMessage(::Error, _("The data connection could not be established: %s"), CSocket::GetErrorDescription(event.GetError()).c_str());
959 + m_pControlSocket->LogMessage(::Error, _("The data connection could not be established: %s"), (const char *)CSocket::GetErrorDescription(event.GetError()).c_str());
960 TransferEnd(transfer_failure);
964 m_pControlSocket->LogMessage(::Debug_Verbose, _T("No pending connection"));
967 - m_pControlSocket->LogMessage(::Status, _("Could not accept connection: %s"), CSocket::GetErrorDescription(error).c_str());
968 + m_pControlSocket->LogMessage(::Status, _("Could not accept connection: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
969 TransferEnd(transfer_failure);
976 - m_pControlSocket->LogMessage(::Error, _T("Could not read from transfer socket: %s"), CSocket::GetErrorDescription(error).c_str());
977 + m_pControlSocket->LogMessage(::Error, _T("Could not read from transfer socket: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
978 TransferEnd(transfer_failure);
980 else if (m_onCloseCalled && !m_pBackend->IsWaiting(CRateLimiter::inbound))
985 - m_pControlSocket->LogMessage(::Error, _T("Could not read from transfer socket: %s"), CSocket::GetErrorDescription(error).c_str());
986 + m_pControlSocket->LogMessage(::Error, _T("Could not read from transfer socket: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
987 TransferEnd(transfer_failure);
989 else if (m_onCloseCalled && !m_pBackend->IsWaiting(CRateLimiter::inbound))
994 - m_pControlSocket->LogMessage(::Error, _T("Could not read from transfer socket: %s"), CSocket::GetErrorDescription(error).c_str());
995 + m_pControlSocket->LogMessage(::Error, _T("Could not read from transfer socket: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
996 TransferEnd(transfer_failure);
998 else if (m_onCloseCalled && !m_pBackend->IsWaiting(CRateLimiter::inbound))
1003 - m_pControlSocket->LogMessage(Error, _T("Could not write to transfer socket: %s"), CSocket::GetErrorDescription(error).c_str());
1004 + m_pControlSocket->LogMessage(Error, _T("Could not write to transfer socket: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
1005 TransferEnd(transfer_failure);
1012 - m_pControlSocket->LogMessage(::Error, _("Transfer connection interrupted: %s"), CSocket::GetErrorDescription(error).c_str());
1013 + m_pControlSocket->LogMessage(::Error, _("Transfer connection interrupted: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
1014 TransferEnd(transfer_failure);
1019 else if (numread < 0 && error != EAGAIN)
1021 - m_pControlSocket->LogMessage(::Error, _("Transfer connection interrupted: %s"), CSocket::GetErrorDescription(error).c_str());
1022 + m_pControlSocket->LogMessage(::Error, _("Transfer connection interrupted: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
1023 TransferEnd(transfer_failure);
1027 int res = pServer->Listen(m_pControlSocket->m_pSocket->GetAddressFamily(), port);
1030 - m_pControlSocket->LogMessage(::Debug_Verbose, _T("Could not listen on port %d: %s"), port, CSocket::GetErrorDescription(res).c_str());
1031 + m_pControlSocket->LogMessage(::Debug_Verbose, _T("Could not listen on port %d: %s"), port, (const char *)CSocket::GetErrorDescription(res).c_str());
1037 wxString error = pData->pIOThread->GetError();
1038 if (error != _T(""))
1039 - m_pControlSocket->LogMessage(::Error, _("Can't write data to file: %s"), error.c_str());
1040 + m_pControlSocket->LogMessage(::Error, _("Can't write data to file: %s"), (const char *)error.c_str());
1042 m_pControlSocket->LogMessage(::Error, _("Can't write data to file."));
1043 TransferEnd(transfer_failure_critical);
1046 wxString error = pData->pIOThread->GetError();
1047 if (error != _T(""))
1048 - m_pControlSocket->LogMessage(::Error, _("Can't write data to file: %s"), error.c_str());
1049 + m_pControlSocket->LogMessage(::Error, _("Can't write data to file: %s"), (const char *)error.c_str());
1051 m_pControlSocket->LogMessage(::Error, _("Can't write data to file."));
1052 TransferEnd(transfer_failure_critical);