On Tue, 13 Jun 2006, Jimmy Huang wrote:
> Hehehe.
>
> It's not that you can't, It's more of a you shouldn't.

No, you are completely wrong.  It's not null terminated.  It will print p_ship
until it gets to a byte that happens to be zero. It has nothing to do with
compilers.  Try setting the phaser damage to more than 255 and see what
happens when you print it p_mapchars with a %s.

> If anyone's used the Borland-C compiler. You'd know
> what I'd mean. You can mix-up references, pointers and
> references to pointers, and the darned code would
> still work! It's like black magic. Try the same code
> with gcc, and it would instantly SIGSEV.

There is no black magic, if you know what you are doing.

> I guess there goes Trent's illusion that Hadley's code
> was divine and saintly :-P.

I've fixed more bugs in Hadley's code that you have.