From 4f64d393b48bc45a88ac895c10cd949b9ef1ed15 Mon Sep 17 00:00:00 2001 From: George Rhoten Date: Fri, 21 Nov 2003 00:10:52 +0000 Subject: [PATCH] ICU-813 Fix for AIX and HP-UX X-SVN-Rev: 13793 --- icu4c/source/test/intltest/intltest.cpp | 11 +++++++---- icu4c/source/test/intltest/intltest.h | 2 ++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/icu4c/source/test/intltest/intltest.cpp b/icu4c/source/test/intltest/intltest.cpp index 2024c9896f3..cbaf0d496b0 100644 --- a/icu4c/source/test/intltest/intltest.cpp +++ b/icu4c/source/test/intltest/intltest.cpp @@ -79,16 +79,19 @@ operator+(const UnicodeString& left, } UnicodeString -operator+(const UnicodeString& left, - int64_t num) +Int64ToUnicodeString(int64_t num) { char buffer[64]; // nos changed from 10 to 64 char danger = 'p'; // guard against overrunning the buffer (rtg) +#ifdef WIN32 + sprintf(buffer, "%I64d", num); +#else sprintf(buffer, "%lld", num); +#endif assert(danger == 'p'); - return left + buffer; + return buffer; } // [LIU] Just to get things working @@ -136,7 +139,7 @@ UnicodeString toString(const Formattable& f) { break; case Formattable::kInt64: - s = UnicodeString("[Int64:") + f.getInt64() + "]"; // TODO: UnicodeString append Int64? + s = UnicodeString("[Int64:") + Int64ToUnicodeString(f.getInt64()) + "]"; break; case Formattable::kString: diff --git a/icu4c/source/test/intltest/intltest.h b/icu4c/source/test/intltest/intltest.h index 3aa085e0b3f..d53655e3b43 100644 --- a/icu4c/source/test/intltest/intltest.h +++ b/icu4c/source/test/intltest/intltest.h @@ -26,6 +26,8 @@ U_NAMESPACE_USE //convenience classes to ease porting code that uses the Java //string-concatenation operator (moved from findword test by rtg) UnicodeString UCharToUnicodeString(UChar c); +UnicodeString Int64ToUnicodeString(int64_t num); +//UnicodeString operator+(const UnicodeString& left, int64_t num); // Some compilers don't allow this because of the long type. UnicodeString operator+(const UnicodeString& left, long num); UnicodeString operator+(const UnicodeString& left, unsigned long num); UnicodeString operator+(const UnicodeString& left, double num);