summaryrefslogtreecommitdiff
path: root/AK
diff options
context:
space:
mode:
authorAndreas Kling <awesomekling@gmail.com>2019-10-07 10:46:58 +0200
committerAndreas Kling <awesomekling@gmail.com>2019-10-07 10:56:44 +0200
commita7f538fb637e2938f8388fd10e640679a0b00b6f (patch)
treea1b8c1b5d8378e2bdbd695b51b432b30e1b24b33 /AK
parent749e3f0f30ac441284ccf467d592d5e76c8a2268 (diff)
downloadserenity-a7f538fb637e2938f8388fd10e640679a0b00b6f.zip
AK: Make String compile on platforms where size_t==u32
This kind of thing is a bit annoying. On Serenity, size_t is the same size as u32, but not the same type. Because of "long" or whatever. This patch makes String not complain about duplicate overloads.
Diffstat (limited to 'AK')
-rw-r--r--AK/String.cpp12
-rwxr-xr-xAK/String.h13
2 files changed, 18 insertions, 7 deletions
diff --git a/AK/String.cpp b/AK/String.cpp
index 076271f3ac..665936af54 100644
--- a/AK/String.cpp
+++ b/AK/String.cpp
@@ -184,17 +184,21 @@ unsigned String::to_uint(bool& ok) const
return value;
}
-String String::number(size_t value)
+String String::number(u64 value)
{
- return String::format("%zu", value);
+#ifdef __serenity__
+ return String::format("%Q", value);
+#else
+ return String::format("%llu", value);
+#endif
}
-String String::number(unsigned value)
+String String::number(u32 value)
{
return String::format("%u", value);
}
-String String::number(int value)
+String String::number(i32 value)
{
return String::format("%d", value);
}
diff --git a/AK/String.h b/AK/String.h
index 0838d9b40e..718b51cea0 100755
--- a/AK/String.h
+++ b/AK/String.h
@@ -194,9 +194,16 @@ public:
}
static String format(const char*, ...);
- static String number(size_t);
- static String number(unsigned);
- static String number(int);
+ static String number(u64);
+ static String number(u32);
+ static String number(i32);
+
+#ifdef __serenity__
+ static String number(size_t n)
+ {
+ return number((u32)n);
+ }
+#endif
StringView view() const { return { characters(), length() }; }