summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/JavaScriptCore/runtime/UString.cpp
diff options
context:
space:
mode:
authorDavid Boddie <dboddie@trolltech.com>2009-08-11 14:59:33 (GMT)
committerDavid Boddie <dboddie@trolltech.com>2009-08-11 14:59:33 (GMT)
commit1c62dc421cf1ae45fe5089674b4d67fd0f1ff529 (patch)
treedc27fc61fe81c9fffe74c2f91a2a5b148eb9e2b1 /src/3rdparty/webkit/JavaScriptCore/runtime/UString.cpp
parentac174ba05db74eb5928ac5d3408bca201adf29ca (diff)
parent54ad9d0e8527eef9ce027f90d7c0ec1d9051833a (diff)
downloadQt-1c62dc421cf1ae45fe5089674b4d67fd0f1ff529.zip
Qt-1c62dc421cf1ae45fe5089674b4d67fd0f1ff529.tar.gz
Qt-1c62dc421cf1ae45fe5089674b4d67fd0f1ff529.tar.bz2
Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/runtime/UString.cpp')
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/UString.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/UString.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/UString.cpp
index 118751e..f64219c 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/UString.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/UString.cpp
@@ -942,6 +942,37 @@ UString UString::from(int i)
return UString(p, static_cast<int>(end - p));
}
+#if PLATFORM(WIN_OS) && PLATFORM(X86_64) && COMPILER(MSVC)
+UString UString::from(int64_t i)
+{
+ UChar buf[1 + sizeof(i) * 3];
+ UChar* end = buf + sizeof(buf) / sizeof(UChar);
+ UChar* p = end;
+
+ if (i == 0)
+ *--p = '0';
+ else if (i == LLONG_MIN) {
+ char minBuf[1 + sizeof(i) * 3];
+ snprintf(minBuf, sizeof(minBuf) - 1, "%I64d", LLONG_MIN);
+ return UString(minBuf);
+ } else {
+ bool negative = false;
+ if (i < 0) {
+ negative = true;
+ i = -i;
+ }
+ while (i) {
+ *--p = static_cast<unsigned short>((i % 10) + '0');
+ i /= 10;
+ }
+ if (negative)
+ *--p = '-';
+ }
+
+ return UString(p, static_cast<int>(end - p));
+}
+#endif
+
UString UString::from(unsigned int u)
{
UChar buf[sizeof(u) * 3];