#include <axwin3/axwin.h>
#include "include/internal.h"
#include "include/ipc.h"
+#include <stdlib.h>
// === CODE ===
int SoMain(void *Base, int argc, const char *argv[], const char **envp)
while(!bExit)
{
msg = AxWin3_int_GetIPCMessage();
-
+ if(!msg) continue;
+
// TODO: Handle message
+ _SysDebug("oh look, a message (Type=%i, Window=%i, Len=%i)",
+ msg->ID, msg->Window, msg->Size);
+
+ free(msg);
}
}
// Check if the message came from the server
if(tid != giConnectionNum)
{
+ _SysDebug("%i byte message from %i", len, tid);
// If not, pass the buck (or ignore)
if( gAxWin3_MessageCallback )
gAxWin3_MessageCallback(tid, len);
// If it's from the server, allocate a buffer and return it
ret = malloc(len);
- if(ret == NULL) return NULL;
+ if(ret == NULL) {
+ _SysDebug("malloc() failed, ignoring message");
+ SysGetMessage(NULL, GETMSG_IGNORE);
+ return NULL;
+ }
SysGetMessage(NULL, ret);
break;
}