Christoph Terasa wrote:

> Since MS refuses to support C99, the common practice is to use either
> 
>      sprintf_s: 
> http://msdn.microsoft.com/en-us/library/ce3zzk1k(v=VS.80).aspx
>     _snprintf_s: 
> http://msdn.microsoft.com/de-de/library/f30dzcf6(v=VS.80).aspx
> 
> The former can be used as a drop-in replacement of snprintf via a 
> define, the latter takes an additional argument count which can limit 
> the bytes written to the buffer additionally.

Hmm, the first can be used as a drop-in replacement for many but
not all uses of ISO C99 snprintf. For the uses in FLAC, it should
be sufficient, we just have to be careful not to rely on the return
value.

> DO NOT use
>     _snprintf: 
> http://msdn.microsoft.com/de-de/library/2ts7cx93(v=vs.80).aspx
> 
> since this does not NULL terminate if the length of the buffer is equal 
> to the given buffer size (or larger than), and this differs from the std 
> behaviour as stated at e.g. http://linux.die.net/man/3/snprintf

Yes, now I remember, that one is horribly broken.

Erik
-- 
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/
_______________________________________________
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev

Reply via email to