On Tue, May 15, 2012 at 7:51 PM, Christophe <travert@phare.normalesup.org> wrote:
using printf will lead to a bug each time the programmer forget the trailing
\0.

First of all, printf shouldn't be used! There's writef and it's superior to printf in any way!
Second of all, if the zero-termination of literals are to be removed, the literals will no longer be accepted as a pointer to a character.
The appropriate type mismatch error will force the user to use toUTF8z to get ht e zero-terminated utf-8 version of the original string.
In case it's a literal, one could use the compile-time version of toUTF8z to avoid run-time overhead.
This all doesn't sound like a bad idea to me. I don't see any security or performance flaws in this scheme.
 
--
Bye,
Gor Gyolchanyan.