> On 2-Jul-07, at 2:40 PM, SosCpdTerra wrote:
>
> > Did someone know a better way to typecast a const char * (that is
about
> > lua_tostring(L, n)) into a char * then vector or c_str()? I'm
fighting
> > with
> > that...
>
> Strings returned by lua_tostring *must not be modified*.
>
> So don't cast them to char* or evil things will happen.
I'm curious about the technical reasons/consequences for this.
Naturally lua strings are meant to be immutable. I'm betting this has
something to do with their hash value changing, and thus their index
to the global environment (or whatever table they're in) being lost
because the hash changes? I assume this would cause not only losing
your string in the table but some segmentation faults if one attempts
to access them? Would the garbage collector lose sight of these
strings, or collect it almost immediately?