On Tue, May 15, 2012 at 11:46 AM, deadalnix <deadalnix@gmail.com> wrote:
Le 15/05/2012 18:19, Gor Gyolchanyan a écrit :


On Tue, May 15, 2012 at 7:51 PM, Christophe
<travert@phare.normalesup.org <mailto: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.

May god ear you !

Unfortunately, using writef/writefln would make DRuntime depend on Phobos, which is unacceptable.