I'm starting to clean up the libdx code as mentioned in an earlier statement. I have found some real oddities and would like someone to explain some things if they could. I know "C" and "C++" but I'm not sure about some of the syntax that the compiler is also questioning. For example, in message.c line 171 the following exists.
static char _ErrorMessage[2000] = { NULL }; What the hey? A static char array is going to have an address (you don't want that address as NULL). I think what they are trying to do is say start it out initialized as something, but what? If you want the whole array initialized to something, how exactly would you do that (I've always used calloc). As I clean things up, I'm getting more and more core dumps. I think that there is definitely some memory problems with this code. At some places, I'm suprised that it compiles and runs. Its as if the functions were almost written and then used. One place that does have me really concerned is in memory.c. I get the following warnings from the compiler: memory.c: In function `getfree': memory.c:647: warning: statement with no effect memory.c: In function `getpool': memory.c:669: warning: statement with no effect memory.c: In function `amalloc': memory.c:819: warning: statement with no effect memory.c:822: warning: statement with no effect memory.c:833: warning: statement with no effect memory.c:841: warning: statement with no effect memory.c: In function `afree': memory.c:858: warning: statement with no effect If you look at those statements, they are trying to increment some kind of counter (ie I think its the memory used, etc.) But the compiler is telling me that this isn't happening (eeeeooooowww!!) Somebody please look at this code and tell me why?! David