]> git.pld-linux.org Git - packages/FileZilla.git/commitdiff
- first batch of wxWidgets 3.0 fixes
authorJan Rękorajski <baggins@pld-linux.org>
Sat, 18 Jan 2014 20:40:37 +0000 (21:40 +0100)
committerJan Rękorajski <baggins@pld-linux.org>
Sat, 18 Jan 2014 20:40:37 +0000 (21:40 +0100)
FileZilla.spec
wxWidgets3.patch [new file with mode: 0644]

index a9f668378a14cbae2c8c8d8dd751f06f553c0978..f4dab4566fc5b1362718ada2e57a153cd3e1bd4a 100644 (file)
@@ -17,6 +17,7 @@ Group:                X11/Applications/Networking
 Source0:       http://downloads.sourceforge.net/filezilla/%{name}_%{version}_src.tar.bz2
 # Source0-md5: df7828739a852ac3adbc1c010303115d
 Patch0:                %{name}-desktop.patch
+Patch1:                wxWidgets3.patch
 URL:           http://filezilla-project.org/
 BuildRequires: autoconf
 BuildRequires: automake
@@ -48,6 +49,7 @@ opcjami oraz intuicyjnym interfejsem.
 %prep
 %setup -q -n filezilla-%{version}
 %patch0 -p1
+%patch1 -p1
 
 cd locales
 mv bg{_BG,}.po
diff --git a/wxWidgets3.patch b/wxWidgets3.patch
new file mode 100644 (file)
index 0000000..5e4cb1b
--- /dev/null
@@ -0,0 +1,1052 @@
+--- filezilla-3.7.3/configure.in~      2013-08-07 19:25:47.000000000 +0200
++++ filezilla-3.7.3/configure.in       2014-01-18 20:16:07.142026895 +0100
+@@ -111,9 +111,6 @@
+         equivalent variable and wxWidgets version is $MIN_WX_VERSION or above.
+     ])
+   fi
+-  if test "$wx_config_major_version" -gt "2" || test "$wx_config_minor_version" -gt "8"; then
+-    AC_MSG_ERROR([You need to use wxWidgets 2.8.x to compile this program.])
+-  fi
+   # --universal=no doesn't work correctly, it still accepts universal builds. Reject it manually here.
+   if echo "$WX_CPPFLAGS" | grep __WXUNIVERSAL__ > /dev/null; then
+diff -ur filezilla-3.7.3/src/engine/ControlSocket.cpp filezilla-3.7.3.wx3/src/engine/ControlSocket.cpp
+--- filezilla-3.7.3/src/engine/ControlSocket.cpp       2013-06-09 05:30:07.000000000 +0200
++++ filezilla-3.7.3.wx3/src/engine/ControlSocket.cpp   2014-01-18 20:24:16.408690021 +0100
+@@ -120,7 +120,7 @@
+                       msg = _("Critical file transfer error after transferring %s in %s");
+               else
+                       msg = _("File transfer failed after transferring %s in %s");
+-              LogMessage(msgType, msg, size.c_str(), time.c_str());
++              LogMessage(msgType, msg, (const char *)size.c_str(), (const char *)time.c_str());
+       }
+       else
+       {
+@@ -421,7 +421,7 @@
+               if (!defaultPath.IsEmpty())
+               {
+-                      LogMessage(Debug_Warning, _T("Assuming path is '%s'."), defaultPath.GetPath().c_str());
++                      LogMessage(Debug_Warning, _T("Assuming path is '%s'."), (const char *)defaultPath.GetPath().c_str());
+                       m_CurrentPath = defaultPath;
+                       return true;
+               }
+@@ -999,7 +999,7 @@
+               {
+                       if (error != EAGAIN)
+                       {
+-                              LogMessage(::Error, _("Could not write to socket: %s"), CSocket::GetErrorDescription(error).c_str());
++                              LogMessage(::Error, _("Could not write to socket: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+                               LogMessage(::Error, _("Disconnected from server"));
+                               DoClose();
+                               return false;
+@@ -1034,17 +1034,17 @@
+       case CSocketEvent::hostaddress:
+               {
+                       const wxString& address = event.GetData();
+-                      LogMessage(Status, _("Connecting to %s..."), address.c_str());
++                      LogMessage(Status, _("Connecting to %s..."), (const char *)address.c_str());
+               }
+               break;
+       case CSocketEvent::connection_next:
+               if (event.GetError())
+-                      LogMessage(Status, _("Connection attempt failed with \"%s\", trying next address."), CSocket::GetErrorDescription(event.GetError()).c_str());
++                      LogMessage(Status, _("Connection attempt failed with \"%s\", trying next address."), (const char *)CSocket::GetErrorDescription(event.GetError()).c_str());
+               break;
+       case CSocketEvent::connection:
+               if (event.GetError())
+               {
+-                      LogMessage(Status, _("Connection attempt failed with \"%s\"."), CSocket::GetErrorDescription(event.GetError()).c_str());
++                      LogMessage(Status, _("Connection attempt failed with \"%s\"."), (const char *)CSocket::GetErrorDescription(event.GetError()).c_str());
+                       OnClose(event.GetError());
+               }
+               else
+@@ -1097,7 +1097,7 @@
+               {
+                       if (error != EAGAIN)
+                       {
+-                              LogMessage(::Error, _("Could not write to socket: %s"), CSocket::GetErrorDescription(error).c_str());
++                              LogMessage(::Error, _("Could not write to socket: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+                               if (GetCurrentCommandId() != cmd_connect)
+                                       LogMessage(::Error, _("Disconnected from server"));
+                               DoClose();
+@@ -1134,7 +1134,7 @@
+               if (!error)
+                       LogMessage(::Error, _("Connection closed by server"));
+               else
+-                      LogMessage(::Error, _("Disconnected from server: %s"), CSocket::GetErrorDescription(error).c_str());
++                      LogMessage(::Error, _("Disconnected from server: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+       }
+       DoClose();
+ }
+@@ -1145,7 +1145,7 @@
+       if (server.GetEncodingType() == ENCODING_CUSTOM)
+       {
+-              LogMessage(Debug_Info, _T("Using custom encoding: %s"), server.GetCustomEncoding().c_str());
++              LogMessage(Debug_Info, _T("Using custom encoding: %s"), (const char *)server.GetCustomEncoding().c_str());
+               m_pCSConv = new wxCSConv(server.GetCustomEncoding());
+       }
+@@ -1166,7 +1166,7 @@
+       const int proxy_type = m_pEngine->GetOptions()->GetOptionVal(OPTION_PROXY_TYPE);
+       if (proxy_type > CProxySocket::unknown && proxy_type < CProxySocket::proxytype_count && !m_pCurrentServer->GetBypassProxy())
+       {
+-              LogMessage(::Status, _("Connecting to %s through proxy"), m_pCurrentServer->FormatHost().c_str());
++              LogMessage(::Status, _("Connecting to %s through proxy"), (const char *)m_pCurrentServer->FormatHost().c_str());
+               host = m_pEngine->GetOptions()->GetOption(OPTION_PROXY_HOST);
+               port = m_pEngine->GetOptions()->GetOptionVal(OPTION_PROXY_PORT);
+@@ -1181,7 +1181,7 @@
+               if (res != EINPROGRESS)
+               {
+-                      LogMessage(::Error, _("Could not start proxy handshake: %s"), CSocket::GetErrorDescription(res).c_str());
++                      LogMessage(::Error, _("Could not start proxy handshake: %s"), (const char *)CSocket::GetErrorDescription(res).c_str());
+                       DoClose();
+                       return FZ_REPLY_ERROR;
+               }
+@@ -1201,14 +1201,14 @@
+               }
+       }
+       if (!IsIpAddress(host))
+-              LogMessage(Status, _("Resolving address of %s"), host.c_str());
++              LogMessage(Status, _("Resolving address of %s"), (const char *)host.c_str());
+       int res = m_pSocket->Connect(host, port);
+       // Treat success same as EINPROGRESS, we wait for connect notification in any case
+       if (res && res != EINPROGRESS)
+       {
+-              LogMessage(::Error, _("Could not connect to server: %s"), CSocket::GetErrorDescription(res).c_str());
++              LogMessage(::Error, _("Could not connect to server: %s"), (const char *)CSocket::GetErrorDescription(res).c_str());
+               DoClose();
+               return FZ_REPLY_ERROR;
+       }
+@@ -1273,11 +1273,11 @@
+                       if (pData->download)
+                       {
+                               wxString filename = pData->remotePath.FormatFilename(pData->remoteFile);
+-                              LogMessage(Status, _("Skipping download of %s"), filename.c_str());
++                              LogMessage(Status, _("Skipping download of %s"), (const char *)filename.c_str());
+                       }
+                       else
+                       {
+-                              LogMessage(Status, _("Skipping upload of %s"), pData->localFile.c_str());
++                              LogMessage(Status, _("Skipping upload of %s"), (const char *)pData->localFile.c_str());
+                       }
+                       ResetOperation(FZ_REPLY_OK);
+               }
+@@ -1292,11 +1292,11 @@
+                       if (pData->download)
+                       {
+                               wxString filename = pData->remotePath.FormatFilename(pData->remoteFile);
+-                              LogMessage(Status, _("Skipping download of %s"), filename.c_str());
++                              LogMessage(Status, _("Skipping download of %s"), (const char *)filename.c_str());
+                       }
+                       else
+                       {
+-                              LogMessage(Status, _("Skipping upload of %s"), pData->localFile.c_str());
++                              LogMessage(Status, _("Skipping upload of %s"), (const char *)pData->localFile.c_str());
+                       }
+                       ResetOperation(FZ_REPLY_OK);
+               }
+@@ -1317,11 +1317,11 @@
+                       if (pData->download)
+                       {
+                               wxString filename = pData->remotePath.FormatFilename(pData->remoteFile);
+-                              LogMessage(Status, _("Skipping download of %s"), filename.c_str());
++                              LogMessage(Status, _("Skipping download of %s"), (const char *)filename.c_str());
+                       }
+                       else
+                       {
+-                              LogMessage(Status, _("Skipping upload of %s"), pData->localFile.c_str());
++                              LogMessage(Status, _("Skipping upload of %s"), (const char *)pData->localFile.c_str());
+                       }
+                       ResetOperation(FZ_REPLY_OK);
+               }
+@@ -1383,11 +1383,11 @@
+               if (pData->download)
+               {
+                       wxString filename = pData->remotePath.FormatFilename(pData->remoteFile);
+-                      LogMessage(Status, _("Skipping download of %s"), filename.c_str());
++                      LogMessage(Status, _("Skipping download of %s"), (const char *)filename.c_str());
+               }
+               else
+               {
+-                      LogMessage(Status, _("Skipping upload of %s"), pData->localFile.c_str());
++                      LogMessage(Status, _("Skipping upload of %s"), (const char *)pData->localFile.c_str());
+               }
+               ResetOperation(FZ_REPLY_OK);
+               break;
+@@ -1485,4 +1485,4 @@
+ int CControlSocket::Chmod(const CChmodCommand&)
+ {
+       return FZ_REPLY_NOTSUPPORTED;
+-}
+\ No newline at end of file
++}
+diff -ur filezilla-3.7.3/src/engine/directorylistingparser.cpp filezilla-3.7.3.wx3/src/engine/directorylistingparser.cpp
+--- filezilla-3.7.3/src/engine/directorylistingparser.cpp      2013-04-05 05:30:06.000000000 +0200
++++ filezilla-3.7.3.wx3/src/engine/directorylistingparser.cpp  2014-01-18 20:40:39.912016233 +0100
+@@ -1,6 +1,7 @@
+ #include <filezilla.h>
+ #include "directorylistingparser.h"
+ #include "ControlSocket.h"
++#include "logging_private.h"
+ #ifdef _DEBUG
+ #define new DEBUG_NEW
+diff -ur filezilla-3.7.3/src/engine/ftpcontrolsocket.cpp filezilla-3.7.3.wx3/src/engine/ftpcontrolsocket.cpp
+--- filezilla-3.7.3/src/engine/ftpcontrolsocket.cpp    2013-06-09 05:30:07.000000000 +0200
++++ filezilla-3.7.3.wx3/src/engine/ftpcontrolsocket.cpp        2014-01-18 20:44:54.772014389 +0100
+@@ -228,7 +228,7 @@
+               {
+                       if (error != EAGAIN)
+                       {
+-                              LogMessage(::Error, _("Could not read from socket: %s"), CSocket::GetErrorDescription(error).c_str());
++                              LogMessage(::Error, _("Could not read from socket: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+                               if (GetCurrentCommandId() != cmd_connect)
+                                       LogMessage(::Error, _("Disconnected from server"));
+                               DoClose();
+@@ -541,7 +541,7 @@
+                       pData->loginSequence.push_back(cmd);
+               }
+               // User@host
+-              t_loginCommand cmd = {false, false, user, wxString::Format(_T("USER %s@%s"), server.GetUser().c_str(), server.FormatHost().c_str())};
++              t_loginCommand cmd = {false, false, user, wxString::Format(_T("USER %s@%s"), (const char *)server.GetUser().c_str(), (const char *)server.FormatHost().c_str())};
+               pData->loginSequence.push_back(cmd);
+               // Password
+@@ -2063,7 +2063,7 @@
+       case cwd_pwd_cwd:
+               if (code != 2 && code != 3)
+               {
+-                      LogMessage(Debug_Warning, _T("PWD failed, assuming path is '%s'."), pData->path.GetPath().c_str());
++                      LogMessage(Debug_Warning, _T("PWD failed, assuming path is '%s'."), (const char *)pData->path.GetPath().c_str());
+                       m_CurrentPath = pData->path;
+                       if (pData->target.IsEmpty())
+@@ -2131,7 +2131,7 @@
+                       {
+                               if (!assumedPath.IsEmpty())
+                               {
+-                                      LogMessage(Debug_Warning, _T("PWD failed, assuming path is '%s'."), assumedPath.GetPath().c_str());
++                                      LogMessage(Debug_Warning, _T("PWD failed, assuming path is '%s'."), (const char *)assumedPath.GetPath().c_str());
+                                       m_CurrentPath = assumedPath;
+                                       if (pData->target.IsEmpty())
+@@ -2253,11 +2253,11 @@
+       if (download)
+       {
+               wxString filename = remotePath.FormatFilename(remoteFile);
+-              LogMessage(Status, _("Starting download of %s"), filename.c_str());
++              LogMessage(Status, _("Starting download of %s"), (const char *)filename.c_str());
+       }
+       else
+       {
+-              LogMessage(Status, _("Starting upload of %s"), localFile.c_str());
++              LogMessage(Status, _("Starting upload of %s"), (const char *)localFile.c_str());
+       }
+       if (m_pCurOpData)
+       {
+@@ -2645,7 +2645,7 @@
+                                       if (!pFile->Open(pData->localFile, wxFile::write_append))
+                                       {
+                                               delete pFile;
+-                                              LogMessage(::Error, _("Failed to open \"%s\" for appending/writing"), pData->localFile.c_str());
++                                              LogMessage(::Error, _("Failed to open \"%s\" for appending/writing"), (const char *)pData->localFile.c_str());
+                                               ResetOperation(FZ_REPLY_ERROR);
+                                               return FZ_REPLY_ERROR;
+                                       }
+@@ -2686,7 +2686,7 @@
+                                       if (!pFile->Open(pData->localFile, wxFile::write))
+                                       {
+                                               delete pFile;
+-                                              LogMessage(::Error, _("Failed to open \"%s\" for writing"), pData->localFile.c_str());
++                                              LogMessage(::Error, _("Failed to open \"%s\" for writing"), (const char *)pData->localFile.c_str());
+                                               ResetOperation(FZ_REPLY_ERROR);
+                                               return FZ_REPLY_ERROR;
+                                       }
+@@ -2707,7 +2707,7 @@
+                               if (!pFile->Open(pData->localFile, wxFile::read))
+                               {
+                                       delete pFile;
+-                                      LogMessage(::Error, _("Failed to open \"%s\" for reading"), pData->localFile.c_str());
++                                      LogMessage(::Error, _("Failed to open \"%s\" for reading"), (const char *)pData->localFile.c_str());
+                                       ResetOperation(FZ_REPLY_ERROR);
+                                       return FZ_REPLY_ERROR;
+                               }
+@@ -2723,7 +2723,7 @@
+                                               if (pFile->Seek(startOffset, wxFromStart) == wxInvalidOffset)
+                                               {
+                                                       delete pFile;
+-                                                      LogMessage(::Error, _("Could not seek to offset %s within file"), wxLongLong(startOffset).ToString().c_str());
++                                                      LogMessage(::Error, _("Could not seek to offset %s within file"), (const char *)wxLongLong(startOffset).ToString().c_str());
+                                                       ResetOperation(FZ_REPLY_ERROR);
+                                                       return FZ_REPLY_ERROR;
+                                               }
+@@ -3125,7 +3125,7 @@
+       wxString filename = pData->path.FormatFilename(file, pData->omitPath);
+       if (filename == _T(""))
+       {
+-              LogMessage(::Error, _("Filename cannot be constructed for directory %s and filename %s"), pData->path.GetPath().c_str(), file.c_str());
++              LogMessage(::Error, _("Filename cannot be constructed for directory %s and filename %s"), (const char *)pData->path.GetPath().c_str(), (const char *)file.c_str());
+               ResetOperation(FZ_REPLY_ERROR);
+               return FZ_REPLY_ERROR;
+       }
+@@ -3213,7 +3213,7 @@
+       if (!pData->fullPath.AddSegment(subDir))
+       {
+-              LogMessage(::Error, _("Path cannot be constructed for directory %s and subdir %s"), path.GetPath().c_str(), subDir.c_str());
++              LogMessage(::Error, _("Path cannot be constructed for directory %s and subdir %s"), (const char *)path.GetPath().c_str(), (const char *)subDir.c_str());
+               ResetOperation(FZ_REPLY_ERROR);
+               return FZ_REPLY_ERROR;
+       }
+@@ -3328,7 +3328,7 @@
+        */
+       if (!m_pCurOpData)
+-              LogMessage(Status, _("Creating directory '%s'..."), path.GetPath().c_str());
++              LogMessage(Status, _("Creating directory '%s'..."), (const char *)path.GetPath().c_str());
+       CMkdirOpData *pData = new CMkdirOpData;
+       pData->path = path;
+@@ -3559,7 +3559,7 @@
+               return FZ_REPLY_ERROR;
+       }
+-      LogMessage(Status, _("Renaming '%s' to '%s'"), command.GetFromPath().FormatFilename(command.GetFromFile()).c_str(), command.GetToPath().FormatFilename(command.GetToFile()).c_str());
++      LogMessage(Status, _("Renaming '%s' to '%s'"), (const char *)command.GetFromPath().FormatFilename(command.GetFromFile()).c_str(), (const char *)command.GetToPath().FormatFilename(command.GetToFile()).c_str());
+       CFtpRenameOpData *pData = new CFtpRenameOpData(command);
+       pData->opState = rename_rnfrom;
+@@ -3711,7 +3711,7 @@
+               return FZ_REPLY_ERROR;
+       }
+-      LogMessage(Status, _("Set permissions of '%s' to '%s'"), command.GetPath().FormatFilename(command.GetFile()).c_str(), command.GetPermission().c_str());
++      LogMessage(Status, _("Set permissions of '%s' to '%s'"), (const char *)command.GetPath().FormatFilename(command.GetFile()).c_str(), (const char *)command.GetPermission().c_str());
+       CFtpChmodOpData *pData = new CFtpChmodOpData(command);
+       pData->opState = chmod_chmod;
+@@ -3881,13 +3881,13 @@
+               if (m_pEngine->GetOptions()->GetOptionVal(OPTION_PASVREPLYFALLBACKMODE) != 1 || pData->bTriedActive)
+               {
+                       LogMessage(Status, _("Server sent passive reply with unroutable address. Using server address instead."));
+-                      LogMessage(Debug_Info, _T("  Reply: %s, peer: %s"), pData->host.c_str(), peerIP.c_str());
++                      LogMessage(Debug_Info, _T("  Reply: %s, peer: %s"), (const char *)pData->host.c_str(), (const char *)peerIP.c_str());
+                       pData->host = peerIP;
+               }
+               else
+               {
+                       LogMessage(Status, _("Server sent passive reply with unroutable address. Passive mode failed."));
+-                      LogMessage(Debug_Info, _T("  Reply: %s, peer: %s"), pData->host.c_str(), peerIP.c_str());
++                      LogMessage(Debug_Info, _T("  Reply: %s, peer: %s"), (const char *)pData->host.c_str(), (const char *)peerIP.c_str());
+                       return false;
+               }
+       }
+@@ -3944,7 +3944,7 @@
+                               wxString resolverAddress = m_pEngine->GetOptions()->GetOption(OPTION_EXTERNALIPRESOLVER);
+-                              LogMessage(::Debug_Info, _("Retrieving external IP address from %s"), resolverAddress.c_str());
++                              LogMessage(::Debug_Info, _("Retrieving external IP address from %s"), (const char *)resolverAddress.c_str());
+                               m_pIPResolver = new CExternalIPResolver(this);
+                               m_pIPResolver->GetExternalIP(resolverAddress, CSocket::ipv4);
+@@ -4445,7 +4445,7 @@
+                       return FZ_REPLY_ERROR;
+               }
+-              LogMessage(Status, _("Using proxy %s"), m_pEngine->GetOptions()->GetOption(OPTION_FTP_PROXY_HOST).c_str());
++              LogMessage(Status, _("Using proxy %s"), (const char *)m_pEngine->GetOptions()->GetOption(OPTION_FTP_PROXY_HOST).c_str());
+       }
+       else
+       {
+diff -ur filezilla-3.7.3/src/engine/httpcontrolsocket.cpp filezilla-3.7.3.wx3/src/engine/httpcontrolsocket.cpp
+--- filezilla-3.7.3/src/engine/httpcontrolsocket.cpp   2012-11-02 05:30:06.000000000 +0100
++++ filezilla-3.7.3.wx3/src/engine/httpcontrolsocket.cpp       2014-01-18 20:47:54.298679755 +0100
+@@ -355,7 +355,7 @@
+ {
+       LogMessage(Debug_Verbose, _T("CHttpControlSocket::FileTransfer()"));
+-      LogMessage(Status, _("Downloading %s"), remotePath.FormatFilename(remoteFile).c_str());
++      LogMessage(Status, _("Downloading %s"), (const char *)remotePath.FormatFilename(remoteFile).c_str());
+       if (!download)
+       {
+@@ -388,7 +388,7 @@
+               if (!pData->pFile->Open(pData->localFile, wxFile::write))
+               {
+-                      LogMessage(::Error, _("Failed to open \"%s\" for writing"), pData->localFile.c_str());
++                      LogMessage(::Error, _("Failed to open \"%s\" for writing"), (const char *)pData->localFile.c_str());
+                       ResetOperation(FZ_REPLY_ERROR);
+                       return FZ_REPLY_ERROR;
+               }
+@@ -445,7 +445,7 @@
+               if (!pData->pFile->Open(pData->localFile, wxFile::write))
+               {
+-                      LogMessage(::Error, _("Failed to open \"%s\" for writing"), pData->localFile.c_str());
++                      LogMessage(::Error, _("Failed to open \"%s\" for writing"), (const char *)pData->localFile.c_str());
+                       ResetOperation(FZ_REPLY_ERROR);
+                       return FZ_REPLY_ERROR;
+               }
+@@ -471,10 +471,10 @@
+               hostWithPort = pData->m_newHostWithPort;
+       }
+-      wxString action = wxString::Format(_T("GET %s HTTP/1.1"), location.c_str());
++      wxString action = wxString::Format(_T("GET %s HTTP/1.1"), (const char *)location.c_str());
+       LogMessageRaw(Command, action);
+-      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());
++      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());
+       const wxWX2MBbuf str = command.mb_str();
+       if (!Send(str, strlen(str)))
+@@ -494,7 +494,7 @@
+       pData->tls = tls;
+       if (!IsIpAddress(host))
+-              LogMessage(Status, _("Resolving address of %s"), host.c_str());
++              LogMessage(Status, _("Resolving address of %s"), (const char *)host.c_str());
+       pData->host = host;
+       return DoInternalConnect();
+@@ -563,7 +563,7 @@
+               if (pData->pFile->Write(p, len) != len)
+               {
+-                      LogMessage(::Error, _("Failed to write to file %s"), pData->localFile.c_str());
++                      LogMessage(::Error, _("Failed to write to file %s"), (const char *)pData->localFile.c_str());
+                       ResetOperation(FZ_REPLY_ERROR);
+                       return FZ_REPLY_ERROR;
+               }
+@@ -716,7 +716,7 @@
+                                               ResetOperation(FZ_REPLY_ERROR);
+                                               return FZ_REPLY_ERROR;
+                                       }
+-                                      pData->m_newHostWithPort = wxString::Format(_T("%s:%d"), host.c_str(), (int)port);
++                                      pData->m_newHostWithPort = wxString::Format(_T("%s:%d"), (const char *)host.c_str(), (int)port);
+                                       // International domain names
+                                       host = ConvertDomainName(host);
+@@ -769,7 +769,7 @@
+                               {
+                                       if (*p < '0' || *p > '9')
+                                       {
+-                                              LogMessage(::Error, _("Malformed header: %s"), _("Invalid Content-Length"));
++                                              LogMessage(::Error, _("Malformed header: %s"), (const char *)_("Invalid Content-Length").c_str());
+                                               ResetOperation(FZ_REPLY_ERROR);
+                                               return FZ_REPLY_ERROR;
+                                       }
+@@ -824,7 +824,7 @@
+                       {
+                               if (p[i + 1] != '\n')
+                               {
+-                                      LogMessage(::Error, _("Malformed chunk data: %s"), _("Wrong line endings"));
++                                      LogMessage(::Error, _("Malformed chunk data: %s"), (const char *)_("Wrong line endings").c_str());
+                                       ResetOperation(FZ_REPLY_ERROR);
+                                       return FZ_REPLY_ERROR;
+                               }
+@@ -836,7 +836,7 @@
+                       if (len == m_recvBufferLen)
+                       {
+                               // We don't support lines larger than 4096
+-                              LogMessage(::Error, _("Malformed chunk data: %s"), _("Line length exceeded"));
++                              LogMessage(::Error, _("Malformed chunk data: %s"), (const char *)_("Line length exceeded").c_str());
+                               ResetOperation(FZ_REPLY_ERROR);
+                               return FZ_REPLY_ERROR;
+                       }
+@@ -851,7 +851,7 @@
+                       {
+                               // The chunk data has to end with CRLF. If i is nonzero,
+                               // it didn't end with just CRLF.
+-                              LogMessage(::Error, _("Malformed chunk data: %s"), _("Chunk data improperly terminated"));
++                              LogMessage(::Error, _("Malformed chunk data: %s"), (const char *)_("Chunk data improperly terminated").c_str());
+                               ResetOperation(FZ_REPLY_ERROR);
+                               return FZ_REPLY_ERROR;
+                       }
+@@ -893,7 +893,7 @@
+                               else
+                               {
+                                       // Invalid size
+-                                      LogMessage(::Error, _("Malformed chunk data: %s"), _("Invalid chunk size"));
++                                      LogMessage(::Error, _("Malformed chunk data: %s"), (const char *)_("Invalid chunk size").c_str());
+                                       ResetOperation(FZ_REPLY_ERROR);
+                                       return FZ_REPLY_ERROR;
+                               }
+@@ -950,7 +950,7 @@
+       if (error)
+       {
+-              LogMessage(::Error, _("Disconnected from server: %s"), CSocket::GetErrorDescription(error).c_str());
++              LogMessage(::Error, _("Disconnected from server: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+               ResetOperation(FZ_REPLY_ERROR | FZ_REPLY_DISCONNECTED);
+               return;
+       }
+diff -ur filezilla-3.7.3/src/engine/local_path.cpp filezilla-3.7.3.wx3/src/engine/local_path.cpp
+--- filezilla-3.7.3/src/engine/local_path.cpp  2011-05-02 05:30:19.000000000 +0200
++++ filezilla-3.7.3.wx3/src/engine/local_path.cpp      2014-01-18 21:22:20.448664798 +0100
+@@ -1,6 +1,7 @@
+ #include <filezilla.h>
+ #include "local_path.h"
+ #include "string_coalescer.h"
++#include "logging_private.h"
+ #ifndef __WXMSW__
+ #include <errno.h>
+ #endif
+@@ -120,7 +121,8 @@
+               return false;
+       }
+-      wxChar* start = m_path.GetWriteBuf(path.Len() + 2);
++      wxStringBuffer strbuf(m_path, path.Len() + 2);
++      wxChar* start = strbuf;
+       wxChar* out = start;
+       *out++ = '/';
+@@ -211,7 +213,7 @@
+       *out = 0;
+-      m_path.UngetWriteBuf( out - start );
++      strbuf.~wxStringBuffer();
+       ::Coalesce(m_path);
+@@ -495,20 +497,20 @@
+                       return true;
+               if (error)
+-                      error->Printf(_("'%s' is not a directory."), path.c_str());
++                      error->Printf(_("'%s' is not a directory."), (const char *)path.c_str());
+               return false;
+       }
+       else if (result == ENOTDIR)
+       {
+               if (error)
+-                      error->Printf(_("'%s' is not a directory."), path.c_str());
++                      error->Printf(_("'%s' is not a directory."), (const char *)path.c_str());
+               return false;
+       }
+       else
+       {
+               if (error)
+-                      error->Printf(_("'%s' does not exist or cannot be accessed."), path.c_str());
++                      error->Printf(_("'%s' does not exist or cannot be accessed."), (const char *)path.c_str());
+               return false;
+       }
+ #endif
+@@ -599,4 +601,4 @@
+ void CLocalPath::Coalesce()
+ {
+       ::Coalesce(m_path);
+-}
+\ No newline at end of file
++}
+diff -ur filezilla-3.7.3/src/engine/logging_private.h filezilla-3.7.3.wx3/src/engine/logging_private.h
+--- filezilla-3.7.3/src/engine/logging_private.h       2008-12-14 04:00:47.000000000 +0100
++++ filezilla-3.7.3.wx3/src/engine/logging_private.h   2014-01-18 20:42:33.885348742 +0100
+@@ -1,6 +1,9 @@
+ #ifndef __LOGGING_PRIVATE_H__
+ #define __LOGGING_PRIVATE_H__
++#include <wx/intl.h>
++#include <wx/string.h>
++
+ class CLogging
+ {
+ public:
+diff -ur filezilla-3.7.3/src/engine/misc.cpp filezilla-3.7.3.wx3/src/engine/misc.cpp
+--- filezilla-3.7.3/src/engine/misc.cpp        2012-10-24 05:30:07.000000000 +0200
++++ filezilla-3.7.3.wx3/src/engine/misc.cpp    2014-01-18 21:07:20.222004649 +0100
+@@ -363,12 +363,7 @@
+ void MakeLowerAscii(wxString& str)
+ {
+-      for (size_t i = 0; i < str.Len(); i++)
+-      {
+-              wxChar& c = str[i];
+-              if (c >= 'A' && c <= 'Z')
+-                      c += 32;
+-      }
++      str.MakeLower();
+ }
+ wxString GetDependencyVersion(dependency::type d)
+diff -ur filezilla-3.7.3/src/engine/proxy.cpp filezilla-3.7.3.wx3/src/engine/proxy.cpp
+--- filezilla-3.7.3/src/engine/proxy.cpp       2012-11-02 05:30:06.000000000 +0100
++++ filezilla-3.7.3.wx3/src/engine/proxy.cpp   2014-01-18 21:08:17.078670903 +0100
+@@ -169,11 +169,11 @@
+       case CSocketEvent::hostaddress:
+               {
+                       const wxString& address = event.GetData();
+-                      m_pOwner->LogMessage(Status, _("Connecting to %s..."), address.c_str());
++                      m_pOwner->LogMessage(Status, _("Connecting to %s..."), (const char *)address.c_str());
+               }
+       case CSocketEvent::connection_next:
+               if (event.GetError())
+-                      m_pOwner->LogMessage(Status, _("Connection attempt failed with \"%s\", trying next address."), CSocket::GetErrorDescription(event.GetError()).c_str());
++                      m_pOwner->LogMessage(Status, _("Connection attempt failed with \"%s\", trying next address."), (const char *)CSocket::GetErrorDescription(event.GetError()).c_str());
+               break;
+       case CSocketEvent::connection:
+               if (event.GetError())
+@@ -306,7 +306,7 @@
+                       wxASSERT(end);
+                       *end = 0;
+                       wxString reply(m_pRecvBuffer, wxConvUTF8);
+-                      m_pOwner->LogMessage(Response, _("Proxy reply: %s"), reply.c_str());
++                      m_pOwner->LogMessage(Response, _("Proxy reply: %s"), (const char *)reply.c_str());
+                       if (reply.Left(10) != _T("HTTP/1.1 2") && reply.Left(10) != _T("HTTP/1.0 2"))
+                       {
+@@ -455,7 +455,7 @@
+                                               break;
+                                       }
+-                                      m_pOwner->LogMessage(Debug_Warning, _("Proxy request failed: %s"), error.c_str());
++                                      m_pOwner->LogMessage(Debug_Warning, _("Proxy request failed: %s"), (const char *)error.c_str());
+                                       m_proxyState = noconn;
+                                       CSocketEvent *evt = new CSocketEvent(m_pEvtHandler, this, CSocketEvent::close, ECONNABORTED);
+                                       CSocketEventDispatcher::Get().SendEvent(evt);
+diff -ur filezilla-3.7.3/src/engine/server.cpp filezilla-3.7.3.wx3/src/engine/server.cpp
+--- filezilla-3.7.3/src/engine/server.cpp      2013-01-14 05:30:09.000000000 +0100
++++ filezilla-3.7.3.wx3/src/engine/server.cpp  2014-01-18 21:11:06.592003009 +0100
+@@ -1,4 +1,5 @@
+ #include <filezilla.h>
++#include "logging_private.h"
+ struct t_protocolInfo
+ {
+@@ -12,13 +13,13 @@
+ };
+ static const t_protocolInfo protocolInfos[] = {
+-      { FTP,          _T("ftp"),    false, 21,  true,  wxTRANSLATE("FTP - File Transfer Protocol with optional encryption"),                 true  },
++      { FTP,          _T("ftp"),    false, 21,  true,  (const wxChar*)wxTRANSLATE("FTP - File Transfer Protocol with optional encryption"),                 true  },
+       { SFTP,         _T("sftp"),   true,  22,  false, _T("SFTP - SSH File Transfer Protocol"),                              false },
+       { HTTP,         _T("http"),   true,  80,  false, _T("HTTP - Hypertext Transfer Protocol"),                             true  },
+-      { HTTPS,        _T("https"),  true, 443,  true,  wxTRANSLATE("HTTPS - HTTP over TLS"),                                 true  },
+-      { FTPS,         _T("ftps"),   true, 990,  true,  wxTRANSLATE("FTPS - FTP over implicit TLS/SSL"),                      true  },
+-      { FTPES,        _T("ftpes"),  true,  21,  true,  wxTRANSLATE("FTPES - FTP over explicit TLS/SSL"),                     true  },
+-      { INSECURE_FTP, _T("ftp"),    false, 21,  true,  wxTRANSLATE("FTP - Insecure File Transfer Protocol"), true  },
++      { HTTPS,        _T("https"),  true, 443,  true,  (const wxChar*)wxTRANSLATE("HTTPS - HTTP over TLS"),                                 true  },
++      { FTPS,         _T("ftps"),   true, 990,  true,  (const wxChar*)wxTRANSLATE("FTPS - FTP over implicit TLS/SSL"),                      true  },
++      { FTPES,        _T("ftpes"),  true,  21,  true,  (const wxChar*)wxTRANSLATE("FTPES - FTP over explicit TLS/SSL"),                     true  },
++      { INSECURE_FTP, _T("ftp"),    false, 21,  true,  (const wxChar*)wxTRANSLATE("FTP - Insecure File Transfer Protocol"), true  },
+       { UNKNOWN,      _T(""),       false, 21,  false, _T("") }
+ };
+diff -ur filezilla-3.7.3/src/engine/serverpath.cpp filezilla-3.7.3.wx3/src/engine/serverpath.cpp
+--- filezilla-3.7.3/src/engine/serverpath.cpp  2013-04-05 05:30:06.000000000 +0200
++++ filezilla-3.7.3.wx3/src/engine/serverpath.cpp      2014-01-18 21:21:17.041998590 +0100
+@@ -276,7 +276,8 @@
+               len += iter->Length() + 2 + INTLENGTH;
+       wxString safepath;
+-      wxChar* start = safepath.GetWriteBuf(len);
++      wxStringBuffer strbuf(safepath, len);
++      wxChar* start = strbuf;
+       wxChar* t = start;
+       t = fast_sprint_number(t, m_type);
+@@ -300,7 +301,7 @@
+       }
+       *t = 0;
+-      safepath.UngetWriteBuf( t - start );
++      strbuf.~wxStringBuffer();
+       safepath.Shrink();
+       return safepath;
+diff -ur filezilla-3.7.3/src/engine/sftpcontrolsocket.cpp filezilla-3.7.3.wx3/src/engine/sftpcontrolsocket.cpp
+--- filezilla-3.7.3/src/engine/sftpcontrolsocket.cpp   2013-06-09 05:30:07.000000000 +0200
++++ filezilla-3.7.3.wx3/src/engine/sftpcontrolsocket.cpp       2014-01-18 21:25:01.475330299 +0100
+@@ -391,7 +391,7 @@
+ int CSftpControlSocket::Connect(const CServer &server)
+ {
+-      LogMessage(Status, _("Connecting to %s..."), server.FormatHost().c_str());
++      LogMessage(Status, _("Connecting to %s..."), (const char *)server.FormatHost().c_str());
+       SetWait(true);
+       m_sftpEncryptionDetails = CSftpEncryptionNotification();
+@@ -399,7 +399,7 @@
+       delete m_pCSConv;
+       if (server.GetEncodingType() == ENCODING_CUSTOM)
+       {
+-              LogMessage(Debug_Info, _T("Using custom encoding: %s"), server.GetCustomEncoding().c_str());
++              LogMessage(Debug_Info, _T("Using custom encoding: %s"), (const char *)server.GetCustomEncoding().c_str());
+               m_pCSConv = new wxCSConv(server.GetCustomEncoding());
+               m_useUTF8 = false;
+       }
+@@ -431,7 +431,7 @@
+       wxString executable = m_pEngine->GetOptions()->GetOption(OPTION_FZSFTP_EXECUTABLE);
+       if (executable == _T(""))
+               executable = _T("fzsftp");
+-      LogMessage(Debug_Verbose, _T("Going to execute %s"), executable.c_str());
++      LogMessage(Debug_Verbose, _T("Going to execute %s"), (const char *)executable.c_str());
+       m_pid = wxExecute(executable + _T(" -v"), wxEXEC_ASYNC, m_pProcess);
+       if (!m_pid)
+@@ -460,7 +460,7 @@
+ int CSftpControlSocket::ConnectParseResponse(bool successful, const wxString& reply)
+ {
+-      LogMessage(Debug_Verbose, _T("CSftpControlSocket::ConnectParseResponse(%s)"), reply.c_str());
++      LogMessage(Debug_Verbose, _T("CSftpControlSocket::ConnectParseResponse(%s)"), (const char *)reply.c_str());
+       if (!successful)
+       {
+@@ -556,7 +556,7 @@
+                       }
+                       wxString cmd = wxString::Format(_T("proxy %d \"%s\" %d"), type,
+-                                                                                      m_pEngine->GetOptions()->GetOption(OPTION_PROXY_HOST).c_str(),
++                                                                                      (const char *)m_pEngine->GetOptions()->GetOption(OPTION_PROXY_HOST).c_str(),
+                                                                                       m_pEngine->GetOptions()->GetOptionVal(OPTION_PROXY_PORT));
+                       wxString user = m_pEngine->GetOptions()->GetOption(OPTION_PROXY_USER);
+                       if (user != _T(""))
+@@ -577,7 +577,7 @@
+               res = Send(_T("keyfile \"") + pData->pKeyFiles->GetNextToken() + _T("\""));
+               break;
+       case connect_open:
+-              res = Send(wxString::Format(_T("open \"%s@%s\" %d"), m_pCurrentServer->GetUser().c_str(), m_pCurrentServer->GetHost().c_str(), m_pCurrentServer->GetPort()));
++              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()));
+               break;
+       default:
+               LogMessage(__TFILE__, __LINE__, this, Debug_Warning, _T("Unknown op state: %d"), pData->opState);
+@@ -989,7 +989,7 @@
+ int CSftpControlSocket::ListParseResponse(bool successful, const wxString& reply)
+ {
+-      LogMessage(Debug_Verbose, _T("CSftpControlSocket::ListParseResponse(%s)"), reply.c_str());
++      LogMessage(Debug_Verbose, _T("CSftpControlSocket::ListParseResponse(%s)"), (const char *)reply.c_str());
+       if (!m_pCurOpData)
+       {
+@@ -1631,11 +1631,11 @@
+       if (download)
+       {
+               wxString filename = remotePath.FormatFilename(remoteFile);
+-              LogMessage(Status, _("Starting download of %s"), filename.c_str());
++              LogMessage(Status, _("Starting download of %s"), (const char *)filename.c_str());
+       }
+       else
+       {
+-              LogMessage(Status, _("Starting upload of %s"), localFile.c_str());
++              LogMessage(Status, _("Starting upload of %s"), (const char *)localFile.c_str());
+       }
+       if (m_pCurOpData)
+       {
+@@ -2045,7 +2045,7 @@
+        */
+       if (!m_pCurOpData)
+-              LogMessage(Status, _("Creating directory '%s'..."), path.GetPath().c_str());
++              LogMessage(Status, _("Creating directory '%s'..."), (const char *)path.GetPath().c_str());
+       CMkdirOpData *pData = new CMkdirOpData;
+       pData->path = path;
+@@ -2308,7 +2308,7 @@
+       wxString filename = pData->path.FormatFilename(file);
+       if (filename == _T(""))
+       {
+-              LogMessage(::Error, _("Filename cannot be constructed for directory %s and filename %s"), pData->path.GetPath().c_str(), file.c_str());
++              LogMessage(::Error, _("Filename cannot be constructed for directory %s and filename %s"), (const char *)pData->path.GetPath().c_str(), (const char *)file.c_str());
+               return FZ_REPLY_ERROR;
+       }
+@@ -2353,7 +2353,7 @@
+               if (!fullPath.AddSegment(subDir))
+               {
+-                      LogMessage(::Error, _("Path cannot be constructed for directory %s and subdir %s"), path.GetPath().c_str(), subDir.c_str());
++                      LogMessage(::Error, _("Path cannot be constructed for directory %s and subdir %s"), (const char *)path.GetPath().c_str(), (const char *)subDir.c_str());
+                       return FZ_REPLY_ERROR;
+               }
+       }
+@@ -2433,7 +2433,7 @@
+               return FZ_REPLY_ERROR;
+       }
+-      LogMessage(Status, _("Set permissions of '%s' to '%s'"), command.GetPath().FormatFilename(command.GetFile()).c_str(), command.GetPermission().c_str());
++      LogMessage(Status, _("Set permissions of '%s' to '%s'"), (const char *)command.GetPath().FormatFilename(command.GetFile()).c_str(), (const char *)command.GetPermission().c_str());
+       CSftpChmodOpData *pData = new CSftpChmodOpData(command);
+       pData->opState = chmod_chmod;
+@@ -2555,7 +2555,7 @@
+               return FZ_REPLY_ERROR;
+       }
+-      LogMessage(Status, _("Renaming '%s' to '%s'"), command.GetFromPath().FormatFilename(command.GetFromFile()).c_str(), command.GetToPath().FormatFilename(command.GetToFile()).c_str());
++      LogMessage(Status, _("Renaming '%s' to '%s'"), (const char *)command.GetFromPath().FormatFilename(command.GetFromFile()).c_str(), (const char *)command.GetToPath().FormatFilename(command.GetToFile()).c_str());
+       CSftpRenameOpData *pData = new CSftpRenameOpData(command);
+       pData->opState = rename_rename;
+diff -ur filezilla-3.7.3/src/engine/sizeformatting_base.cpp filezilla-3.7.3.wx3/src/engine/sizeformatting_base.cpp
+--- filezilla-3.7.3/src/engine/sizeformatting_base.cpp 2010-09-14 05:30:20.000000000 +0200
++++ filezilla-3.7.3.wx3/src/engine/sizeformatting_base.cpp     2014-01-18 21:25:31.448663415 +0100
+@@ -1,6 +1,7 @@
+ #include <filezilla.h>
+ #include "sizeformatting_base.h"
+ #include "optionsbase.h"
++#include "logging_private.h"
+ #ifndef __WXMSW__
+ #include <langinfo.h>
+ #endif
+diff -ur filezilla-3.7.3/src/engine/socket.cpp filezilla-3.7.3.wx3/src/engine/socket.cpp
+--- filezilla-3.7.3/src/engine/socket.cpp      2013-06-10 20:45:04.000000000 +0200
++++ filezilla-3.7.3.wx3/src/engine/socket.cpp  2014-01-18 21:26:32.505329640 +0100
+@@ -1,4 +1,5 @@
+ #include <wx/defs.h>
++#include <wx/intl.h>
+ #ifdef __WXMSW__
+   // MinGW needs this for getaddrinfo
+   #if defined(_WIN32_WINNT)
+@@ -1273,7 +1274,7 @@
+       }
+ }
+-#define ERRORDECL(c, desc) { c, _T(#c), wxTRANSLATE(desc) },
++#define ERRORDECL(c, desc) { c, _T(#c), (const wxChar*)wxTRANSLATE(desc) },
+ struct Error_table
+ {
+diff -ur filezilla-3.7.3/src/engine/string_coalescer.cpp filezilla-3.7.3.wx3/src/engine/string_coalescer.cpp
+--- filezilla-3.7.3/src/engine/string_coalescer.cpp    2012-10-06 05:30:12.000000000 +0200
++++ filezilla-3.7.3.wx3/src/engine/string_coalescer.cpp        2014-01-18 21:28:24.208662165 +0100
+@@ -66,7 +66,8 @@
+       {
+               // wxString is CoW, yet it doesn't even do this fast pointer
+               // comparison in it's less and/or equal operator(s).
+-              return lhs.c_str() == rhs.c_str() || lhs == rhs;
++              return lhs == rhs;
++//            return lhs.c_str() == rhs.c_str() || lhs == rhs;
+       }
+ };
+diff -ur filezilla-3.7.3/src/engine/tlssocket.cpp filezilla-3.7.3.wx3/src/engine/tlssocket.cpp
+--- filezilla-3.7.3/src/engine/tlssocket.cpp   2013-06-01 09:37:58.000000000 +0200
++++ filezilla-3.7.3.wx3/src/engine/tlssocket.cpp       2014-01-18 21:30:03.031994782 +0100
+@@ -23,7 +23,7 @@
+               return;
+       wxString s(msg, wxConvLocal);
+       s.Trim();
+-      pLoggingControlSocket->LogMessage(Debug_Debug, _T("tls: %d %s"), level, s.c_str());
++      pLoggingControlSocket->LogMessage(Debug_Debug, _T("tls: %d %s"), level, (const char *)s.c_str());
+ }
+ #endif
+@@ -207,16 +207,16 @@
+               wxString str(error);
+ #endif
+               if (function.IsEmpty())
+-                      m_pOwner->LogMessage(::Error, _T("GnuTLS error %d: %s"), code, str.c_str());
++                      m_pOwner->LogMessage(::Error, _T("GnuTLS error %d: %s"), code, (const char *)str.c_str());
+               else
+-                      m_pOwner->LogMessage(::Error, _T("GnuTLS error %d in %s: %s"), code, function.c_str(), str.c_str());
++                      m_pOwner->LogMessage(::Error, _T("GnuTLS error %d in %s: %s"), code, (const char *)function.c_str(), (const char *)str.c_str());
+       }
+       else
+       {
+               if (function.IsEmpty())
+                       m_pOwner->LogMessage(::Error, _T("GnuTLS error %d"), code);
+               else
+-                      m_pOwner->LogMessage(::Error, _T("GnuTLS error %d in %s"), code, function.c_str());
++                      m_pOwner->LogMessage(::Error, _T("GnuTLS error %d in %s"), code, (const char *)function.c_str());
+       }
+ }
+@@ -231,7 +231,7 @@
+ #else
+               wxString str(alert);
+ #endif
+-              m_pOwner->LogMessage(::Debug_Warning, _T("GnuTLS alert %d: %s"), last_alert, str.c_str());
++              m_pOwner->LogMessage(::Debug_Warning, _T("GnuTLS alert %d: %s"), last_alert, (const char *)str.c_str());
+       }
+       else
+               m_pOwner->LogMessage(::Debug_Warning, _T("GnuTLS alert %d"), last_alert);
+@@ -535,7 +535,7 @@
+               const wxString cipherName = GetCipherName();
+               const wxString macName = GetMacName();
+-              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());
++              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());
+               res = VerifyCertificate();
+               if (res != FZ_REPLY_OK)
+@@ -1235,7 +1235,7 @@
+       if (priority.IsEmpty())
+               priority = wxString::FromUTF8(ciphers);
+-      wxString list = wxString::Format(_T("Ciphers for %s:\n"), priority.c_str());
++      wxString list = wxString::Format(_T("Ciphers for %s:\n"), (const char *)priority.c_str());
+ #if GNUTLS_VERSION_NUMBER >= 0x030009
+       gnutls_priority_t pcache;
+@@ -1243,7 +1243,7 @@
+       int ret = gnutls_priority_init(&pcache, priority.mb_str(), &err);
+       if (ret < 0)
+       {
+-              list += wxString::Format(_T("gnutls_priority_init failed with code %d: %s"), ret, wxString::FromUTF8(err ? err : "").c_str());
++              list += wxString::Format(_T("gnutls_priority_init failed with code %d: %s"), ret, (const char *)wxString::FromUTF8(err ? err : "").c_str());
+               return list;
+       }
+       else
+@@ -1265,10 +1265,10 @@
+                       {
+                               list += wxString::Format(
+                                       _T("%-50s    0x%02x, 0x%02x    %s\n"),
+-                                      wxString::FromUTF8(name).c_str(),
++                                      (const char *)wxString::FromUTF8(name).c_str(),
+                                       (unsigned char)id[0],
+                                       (unsigned char)id[1],
+-                                      wxString::FromUTF8(gnutls_protocol_get_name(version)).c_str());
++                                      (const char *)wxString::FromUTF8(gnutls_protocol_get_name(version)).c_str());
+                       }
+               }
+       }
+diff -ur filezilla-3.7.3/src/engine/transfersocket.cpp filezilla-3.7.3.wx3/src/engine/transfersocket.cpp
+--- filezilla-3.7.3/src/engine/transfersocket.cpp      2013-06-10 20:45:04.000000000 +0200
++++ filezilla-3.7.3.wx3/src/engine/transfersocket.cpp  2014-01-18 21:31:02.895327683 +0100
+@@ -98,14 +98,14 @@
+               delete m_pSocketServer;
+               m_pSocketServer = 0;
+-              m_pControlSocket->LogMessage(::Debug_Warning, _T("GetLocalPort failed: %s"), CSocket::GetErrorDescription(error).c_str());
++              m_pControlSocket->LogMessage(::Debug_Warning, _T("GetLocalPort failed: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+               return _T("");
+       }
+       wxString portArguments;
+       if (m_pSocketServer->GetAddressFamily() == CSocket::ipv6)
+       {
+-              portArguments = wxString::Format(_T("|2|%s|%d|"), ip.c_str(), port);
++              portArguments = wxString::Format(_T("|2|%s|%d|"), (const char *)ip.c_str(), port);
+       }
+       else
+       {
+@@ -128,7 +128,7 @@
+                               const int error = event.GetError();
+                               if (error)
+                               {
+-                                      m_pControlSocket->LogMessage(::Error, _("Proxy handshake failed: %s"), CSocket::GetErrorDescription(error).c_str());
++                                      m_pControlSocket->LogMessage(::Error, _("Proxy handshake failed: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+                                       TransferEnd(failure);
+                               }
+                               else
+@@ -142,7 +142,7 @@
+               case CSocketEvent::close:
+                       {
+                               const int error = event.GetError();
+-                              m_pControlSocket->LogMessage(::Error, _("Proxy handshake failed: %s"), CSocket::GetErrorDescription(error).c_str());
++                              m_pControlSocket->LogMessage(::Error, _("Proxy handshake failed: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+                               TransferEnd(failure);
+                       }
+                       return;
+@@ -169,7 +169,7 @@
+               {
+                       if (!m_transferEndReason)
+                       {
+-                              m_pControlSocket->LogMessage(::Error, _("The data connection could not be established: %s"), CSocket::GetErrorDescription(event.GetError()).c_str());
++                              m_pControlSocket->LogMessage(::Error, _("The data connection could not be established: %s"), (const char *)CSocket::GetErrorDescription(event.GetError()).c_str());
+                               TransferEnd(transfer_failure);
+                       }
+               }
+@@ -212,7 +212,7 @@
+                       m_pControlSocket->LogMessage(::Debug_Verbose, _T("No pending connection"));
+               else
+               {
+-                      m_pControlSocket->LogMessage(::Status, _("Could not accept connection: %s"), CSocket::GetErrorDescription(error).c_str());
++                      m_pControlSocket->LogMessage(::Status, _("Could not accept connection: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+                       TransferEnd(transfer_failure);
+               }
+               return;
+@@ -284,7 +284,7 @@
+                               delete [] pBuffer;
+                               if (error != EAGAIN)
+                               {
+-                                      m_pControlSocket->LogMessage(::Error, _T("Could not read from transfer socket: %s"), CSocket::GetErrorDescription(error).c_str());
++                                      m_pControlSocket->LogMessage(::Error, _T("Could not read from transfer socket: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+                                       TransferEnd(transfer_failure);
+                               }
+                               else if (m_onCloseCalled && !m_pBackend->IsWaiting(CRateLimiter::inbound))
+@@ -330,7 +330,7 @@
+                       {
+                               if (error != EAGAIN)
+                               {
+-                                      m_pControlSocket->LogMessage(::Error, _T("Could not read from transfer socket: %s"), CSocket::GetErrorDescription(error).c_str());
++                                      m_pControlSocket->LogMessage(::Error, _T("Could not read from transfer socket: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+                                       TransferEnd(transfer_failure);
+                               }
+                               else if (m_onCloseCalled && !m_pBackend->IsWaiting(CRateLimiter::inbound))
+@@ -372,7 +372,7 @@
+                       {
+                               if (error != EAGAIN)
+                               {
+-                                      m_pControlSocket->LogMessage(::Error, _T("Could not read from transfer socket: %s"), CSocket::GetErrorDescription(error).c_str());
++                                      m_pControlSocket->LogMessage(::Error, _T("Could not read from transfer socket: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+                                       TransferEnd(transfer_failure);
+                               }
+                               else if (m_onCloseCalled && !m_pBackend->IsWaiting(CRateLimiter::inbound))
+@@ -467,7 +467,7 @@
+               }
+               else
+               {
+-                      m_pControlSocket->LogMessage(Error, _T("Could not write to transfer socket: %s"), CSocket::GetErrorDescription(error).c_str());
++                      m_pControlSocket->LogMessage(Error, _T("Could not write to transfer socket: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+                       TransferEnd(transfer_failure);
+               }
+       }
+@@ -506,7 +506,7 @@
+       if (error)
+       {
+-              m_pControlSocket->LogMessage(::Error, _("Transfer connection interrupted: %s"), CSocket::GetErrorDescription(error).c_str());
++              m_pControlSocket->LogMessage(::Error, _("Transfer connection interrupted: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+               TransferEnd(transfer_failure);
+               return;
+       }
+@@ -530,7 +530,7 @@
+       }
+       else if (numread < 0 && error != EAGAIN)
+       {
+-              m_pControlSocket->LogMessage(::Error, _("Transfer connection interrupted: %s"), CSocket::GetErrorDescription(error).c_str());
++              m_pControlSocket->LogMessage(::Error, _("Transfer connection interrupted: %s"), (const char *)CSocket::GetErrorDescription(error).c_str());
+               TransferEnd(transfer_failure);
+               return;
+       }
+@@ -647,7 +647,7 @@
+       int res = pServer->Listen(m_pControlSocket->m_pSocket->GetAddressFamily(), port);
+       if (res)
+       {
+-              m_pControlSocket->LogMessage(::Debug_Verbose, _T("Could not listen on port %d: %s"), port, CSocket::GetErrorDescription(res).c_str());
++              m_pControlSocket->LogMessage(::Debug_Verbose, _T("Could not listen on port %d: %s"), port, (const char *)CSocket::GetErrorDescription(res).c_str());
+               delete pServer;
+               return 0;
+       }
+@@ -717,7 +717,7 @@
+               {
+                       wxString error = pData->pIOThread->GetError();
+                       if (error != _T(""))
+-                              m_pControlSocket->LogMessage(::Error, _("Can't write data to file: %s"), error.c_str());
++                              m_pControlSocket->LogMessage(::Error, _("Can't write data to file: %s"), (const char *)error.c_str());
+                       else
+                               m_pControlSocket->LogMessage(::Error, _("Can't write data to file."));
+                       TransferEnd(transfer_failure_critical);
+@@ -791,7 +791,7 @@
+       {
+               wxString error = pData->pIOThread->GetError();
+               if (error != _T(""))
+-                      m_pControlSocket->LogMessage(::Error, _("Can't write data to file: %s"), error.c_str());
++                      m_pControlSocket->LogMessage(::Error, _("Can't write data to file: %s"), (const char *)error.c_str());
+               else
+                       m_pControlSocket->LogMessage(::Error, _("Can't write data to file."));
+               TransferEnd(transfer_failure_critical);
This page took 0.421161 seconds and 4 git commands to generate.