X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin3_src%2Flibaxwin3.so_src%2Fmsg.c;h=bb09a36d68099f4dd61126a1a5c83fbaeecf609b;hb=802762ae7efd39786c0e134ed0bdfe8100d97230;hp=955da4478e07bcd007df81961ca2aa64d1f86173;hpb=fbe188f3c0fbb02da55567b0570a042d818d98ce;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin3_src/libaxwin3.so_src/msg.c b/Usermode/Applications/axwin3_src/libaxwin3.so_src/msg.c index 955da447..bb09a36d 100644 --- a/Usermode/Applications/axwin3_src/libaxwin3.so_src/msg.c +++ b/Usermode/Applications/axwin3_src/libaxwin3.so_src/msg.c @@ -12,6 +12,7 @@ #include // AxWin3 common #include "include/internal.h" #include "include/ipc.h" +#include #define assert(cnd) do{if(!(cnd)){_SysDebug("Assertion failed: %s", #cnd);}}while(0) @@ -59,13 +60,15 @@ void AxWin3_Connect(const char *ServerDesc) } break; case 'u': - while(*ServerDesc && *ServerDesc != ':') ServerDesc ++; - ServerDesc ++; + assert( strncmp(ServerDesc, "udp:", 4) == 0 ); + ServerDesc += 4; + _SysDebug("TODO: UDP connection to '%s'", ServerDesc); // TODO: Open socket and create UDP header break; case 't': - while(*ServerDesc && *ServerDesc != ':') ServerDesc ++; - ServerDesc ++; + assert( strncmp(ServerDesc, "tcp:", 4) == 0 ); + ServerDesc += 4; + _SysDebug("TODO: TCP connection to '%s'", ServerDesc); // TODO: Open socket break; case 'p': @@ -125,12 +128,22 @@ void AxWin3_int_SendIPCMessage(tAxWin_IPCMessage *Msg) char tmpbuf[giAxWin3_int_UDPHeaderLen + size]; memcpy(tmpbuf, gaAxWin3_int_UDPHeader, giAxWin3_int_UDPHeaderLen); memcpy(tmpbuf + giAxWin3_int_UDPHeaderLen, Msg, size); - _SysWrite(giConnectionNum, tmpbuf, sizeof(tmpbuf)); + size_t rv = _SysWrite(giConnectionNum, tmpbuf, sizeof(tmpbuf)); + if( rv == -1 ) { + _SysDebug("AxWin3 SendIPCMessage: UDP Write Failed %s", strerror(errno)); + exit(1); + } } break; case CONNTYPE_IPCPIPE: - case CONNTYPE_TCP: - _SysWrite(giConnectionNum, Msg, size); + case CONNTYPE_TCP: { + size_t rv = _SysWrite(giConnectionNum, Msg, size); + if( rv != size ) { + _SysDebug("AxWin3 SendIPCMessage: Write Failed %s - sent %i want %i", + strerror(errno), rv, size); + exit(1); + } + } break; default: break;