Constant strings can contain '\0', so their "emission" cannot rely on it being present only as string termination. This patch implements a more proper way to manage string length.
Fixes regression test failures on nullstring.c.
Applies cleanly to revision 5199.
[Thank you for applying my previous patches!]