I think this is the fault of the #define for the NULL macro.  A grep for the
files installed with CW Palm R6 shows these defines in various files:

#define NULL 0
#define NULL 0L
#define NULL (void*)0

Of these (IMO), the only correct one is (void*)0.  The worst of the lot is
the simple 0, which happens to be the one defined in Common.h. If the define
is corrected to either force a long or (more correctly to me) to force a
pointer-sized value, the code would be generated correctly without the
prototype.  NULL and other common constants should be defined to be as
non-ambiguous as possible.

(Mind you, I also think prototypes should always be required).

...
> 
> PS: Rereading this someone might think that I'm blaming 
> codewarrior.  Not at all!  It was definitely  a user error 
> (most likely
> mine).
...
> Here is the mixed assembler/C source from the debugger:
>               err = CreateRecord(NULL);

-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to