Changeset 2101
- Timestamp:
- Nov 21, 2012, 2:11:20 AM (10 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/core/string.cpp
r2100 r2101 30 30 { 31 31 String ret; 32 33 va_list ap, aq; 34 va_start(ap, format); 35 va_copy(aq, ap); 32 va_list ap; 36 33 37 34 /* vsnprintf() tells us how many character we need, and we need to 38 35 * add one for the terminating null byte. */ 39 size_t needed = vsnprintf(NULL, 0, format, aq) + 1; 36 va_start(ap, format); 37 size_t needed = vsnprintf(NULL, 0, format, ap) + 1; 38 va_end(ap); 39 40 40 ((Super &)ret).Reserve(needed); 41 41 ret.m_count = needed; 42 vsnprintf(&ret[0], needed, format, ap);43 42 44 va_end(aq); 43 /* We don’t use va_copy because Visual Studio 2010 does not support it. */ 44 va_start(ap, format); 45 std::vsnprintf(&ret[0], needed, format, ap); 45 46 va_end(ap); 46 47 -
trunk/test/unit/string.cpp
r2100 r2101 128 128 129 129 LOLUNIT_ASSERT(s1 == s2); 130 131 String s3 = "abc 3"; 132 String s4 = String::Printf("abc %d", 3); 133 134 LOLUNIT_ASSERT(s3 == s4); 130 135 } 131 136 };
Note: See TracChangeset
for help on using the changeset viewer.