Thanks for the info, evil.

I would still like to learn *why* it doesn't work (maybe post this in 'ask the devs'?).

Since a 'var' is 4 bytes, e->skill should be a pointer to a block of 400 bytes. Why shouldn't this work every time?

The semantics of Lite-C seem to second guess the developer, or at least it appears so.