Changeset - r5630:90e138facb22
[Not reviewed]
master
0 1 0
Darkvater - 17 years ago 2007-01-13 13:06:18
darkvater@openttd.org
(svn r8089) -[win32] MS-borkedness: All *nprintf functions are broken, but we didn't test to fix it ourselves when 'len = count'.
1 file changed with 6 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/string.cpp
Show inline comments
 
@@ -160,11 +160,16 @@ int CDECL snprintf(char *str, size_t siz
 
}
 

	
 
#ifdef _MSC_VER
 
/* *nprintf broken, not POSIX compliant, MSDN description
 
 * - If len < count, then len characters are stored in buffer, a null-terminator is appended, and len is returned.
 
 * - If len = count, then len characters are stored in buffer, no null-terminator is appended, and len is returned.
 
 * - If len > count, then count characters are stored in buffer, no null-terminator is appended, and a negative value is returned
 
 */
 
int CDECL vsnprintf(char *str, size_t size, const char *format, va_list ap)
 
{
 
	int ret;
 
	ret = _vsnprintf(str, size, format, ap);
 
	if (ret < 0) str[size - 1] = '\0';
 
	if (ret < 0 || ret == 0) str[size - 1] = '\0';
 
	return ret;
 
}
 
#endif /* _MSC_VER */
0 comments (0 inline, 0 general)