On 3/14/2013 8:00 AM, Erik de Castro Lopo wrote:
> Hi all,
>
> There are a bunch of sprintf calls in the FLAC code base and I'd like
> to replace them with calls to snprintf but I know that can cause
> problems with at least some versions of Visual Studio.
>
> Whats the current state of play in this regard?
>
> Erik
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.
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
Christoph
_______________________________________________
flac-dev mailing list
[email protected]
http://lists.xiph.org/mailman/listinfo/flac-dev