The more interesting question

Dmitry Olshansky dmitry.olsh at gmail.com
Tue May 15 09:22:20 PDT 2012


On 15.05.2012 20:19, Gor Gyolchanyan wrote:
>
>
> On Tue, May 15, 2012 at 7:51 PM, Christophe
> <travert at phare.normalesup.org <mailto:travert at 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.

Moreover compiler can do some extra string pooling iff zero termination 
goes away. Like:
"Hello World!" & "Hello" sharing the same piece of ROM.


-- 
Dmitry Olshansky


More information about the Digitalmars-d mailing list