// headers
// --------------------------------------------------------------------------
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "sckipc.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
// get the address object for the given server name, the caller must delete it
static wxSockAddress *
-GetAddressFromName(const wxString& serverName, const wxString& host = _T(""))
+GetAddressFromName(const wxString& serverName, const wxString& host = wxEmptyString)
{
// we always use INET sockets under non-Unix systems
-#if defined(__UNIX__) && !defined(__WXMAC__) && !defined(__WINE__)
+#if defined(__UNIX__) && !defined(__WINDOWS__) && !defined(__WINE__) && (!defined(__WXMAC__) || defined(__DARWIN__))
// under Unix, if the server name looks like a path, create a AF_UNIX
// socket instead of AF_INET one
if ( serverName.Find(_T('/')) != wxNOT_FOUND )
const wxString& serverName,
const wxString& topic)
{
+ wxSockAddress *addr = GetAddressFromName(serverName, host);
+ if ( !addr )
+ return NULL;
+
wxSocketClient *client = new wxSocketClient(SCKIPC_FLAGS);
wxSocketStream *stream = new wxSocketStream(*client);
wxDataInputStream *data_is = new wxDataInputStream(*stream);
wxDataOutputStream *data_os = new wxDataOutputStream(*stream);
- wxSockAddress *addr = GetAddressFromName(serverName, host);
- if ( !addr )
- return NULL;
-
bool ok = client->Connect(*addr);
delete addr;
m_codeco->Write8(format);
if (size < 0)
- size = wxStrlen(data) + 1; // includes final NUL
+ size = (wxStrlen(data) + 1) * sizeof(wxChar); // includes final NUL
m_codeco->Write32(size);
m_sockstrm->Write(data, size);
m_codeco->Write8(format);
if (size < 0)
- size = wxStrlen(data) + 1; // includes final NUL
+ size = (wxStrlen(data) + 1) * sizeof(wxChar); // includes final NUL
m_codeco->Write32(size);
m_sockstrm->Write(data, size);
m_codeco->Write8(format);
if (size < 0)
- size = wxStrlen(data) + 1; // includes final NUL
+ size = (wxStrlen(data) + 1) * sizeof(wxChar); // includes final NUL
m_codeco->Write32(size);
m_sockstrm->Write(data, size);
codeco->Write8(IPC_REQUEST_REPLY);
if (user_size == -1)
- user_size = wxStrlen(user_data) + 1; // includes final NUL
+ user_size = (wxStrlen(user_data) + 1) * sizeof(wxChar); // includes final NUL
codeco->Write32(user_size);
sockstrm->Write(user_data, user_size);