git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
InitRD - Libc++, libm, bochs, dbserver
[tpg/acess2.git]
/
Usermode
/
Applications
/
axwin3_src
/
libaxwin3.so_src
/
msg.c
diff --git
a/Usermode/Applications/axwin3_src/libaxwin3.so_src/msg.c
b/Usermode/Applications/axwin3_src/libaxwin3.so_src/msg.c
index
955da44
..
bb09a36
100644
(file)
--- 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 <ipcmessages.h> // AxWin3 common
#include "include/internal.h"
#include "include/ipc.h"
#include <ipcmessages.h> // AxWin3 common
#include "include/internal.h"
#include "include/ipc.h"
+#include <errno.h>
#define assert(cnd) do{if(!(cnd)){_SysDebug("Assertion failed: %s", #cnd);}}while(0)
#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':
}
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':
// 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':
// 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);
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:
}
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;
break;
default:
break;
UCC
git Repository :: git.ucc.asn.au