From b726ad92036d62909d1365f5116a4eb83d586270 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Wed, 4 Mar 2015 14:27:00 -0500 Subject: [PATCH] MessageFormat: Use off_t argument instead of int32 Which doubles the maximum width fixing #11809. I wanted to convert this to a variadic functionbut that would require updating all of the instance that use MessageFormat or a clever hack to get around the ambiguity of an off_t argument and an int argument count with 0 arguments. Either way seemed out of the scope of fixing this bug. Fixes #11809 Another Beta1 bug down! --- headers/os/locale/MessageFormat.h | 8 ++++++-- src/kits/locale/MessageFormat.cpp | 10 +++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/headers/os/locale/MessageFormat.h b/headers/os/locale/MessageFormat.h index 5bbe915ad1..9d75c1ab3e 100644 --- a/headers/os/locale/MessageFormat.h +++ b/headers/os/locale/MessageFormat.h @@ -1,6 +1,10 @@ /* - * Copyright 2014, Haiku, Inc. + * Copyright 2014-2015 Haiku, Inc. All rights reserved. * Distributed under the terms of the MIT License. + * + * Authors: + * Adrien Destugues, pulkomandy@pulkomandy.tk + * John Scipione, jscipione@gmail.com */ #ifndef _B_MESSAGE_FORMAT_H_ #define _B_MESSAGE_FORMAT_H_ @@ -24,7 +28,7 @@ public: status_t InitCheck(); - status_t Format(BString& buffer, const int32 arg) const; + status_t Format(BString& buffer, const off_t arg) const; private: status_t _Initialize(const icu::UnicodeString&); diff --git a/src/kits/locale/MessageFormat.cpp b/src/kits/locale/MessageFormat.cpp index 124390d359..b4dc58c325 100644 --- a/src/kits/locale/MessageFormat.cpp +++ b/src/kits/locale/MessageFormat.cpp @@ -1,6 +1,10 @@ /* - * Copyright 2014, Haiku, Inc. + * Copyright 2014-2015 Haiku, Inc. All rights reserved. * Distributed under the terms of the MIT License. + * + * Authors: + * Adrien Destugues, pulkomandy@pulkomandy.tk + * John Scipione, jscipione@gmail.com */ #include @@ -41,7 +45,7 @@ BMessageFormat::InitCheck() status_t -BMessageFormat::Format(BString& output, const int32 arg) const +BMessageFormat::Format(BString& output, const off_t arg) const { if (fInitStatus != B_OK) return fInitStatus; @@ -50,7 +54,7 @@ BMessageFormat::Format(BString& output, const int32 arg) const UErrorCode error = U_ZERO_ERROR; Formattable arguments[] = { - (int32_t)arg + (off_t)arg }; FieldPosition pos;