1
0

Using a 2nd argument instead of va_copy().

This seems to be the only reasonable C++03-only solution.
This commit is contained in:
madmaxoft
2014-01-15 18:28:51 +01:00
parent 3fd19df9fd
commit dd6c5779ec
7 changed files with 46 additions and 32 deletions

View File

@@ -21,8 +21,12 @@ typedef std::list<AString> AStringList;
/// Add the formated string to the existing data in the string
extern AString & AppendVPrintf(AString & str, const char * format, va_list args);
/** Add the formated string to the existing data in the string
It is silly to need to specify the arguments twice, but it is required for x64 / GCC:
Ref.: issue #541, http://www.bailopan.net/blog/?p=30
va_copy is not available until C++11, so we need to make do with passing a duplicate.
*/
extern AString & AppendVPrintf(AString & str, const char * format, va_list args, va_list argsCopy);
/// Output the formatted text into the string
extern AString & Printf (AString & str, const char * format, ...);