Hi,

On Tue, 18 Jan 2000, David Thompson wrote:

>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 };

This looks like an array initialization to me.  I'm not familiar with the
code, but is it possible that they have undef'ed NULL and then redefined
it to say 0.

#undef NULL
#define NULL 0

In this case the _ErrorMessage is simply a null terminated empty string.

>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?!

Whenever I've seen these they've indicated that I've mistyped something
and it's a bug.  For example the line

j+1;

instead of 

j+=1; 

will result in this type of error.

Tom

Reply via email to