Realloc fail on union

if you refer that I check for long string flag into shortString, it is because I put the flag into the last byte of the buffer union.

It append to be bit 31 of longString.len.

I admit it is a bit confusing