From d2239cb8b9f1e594173e41d4afe2b6949bb53609 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Thu, 13 Dec 2012 22:43:26 +0100 Subject: [PATCH] BMessage::SetString() was broken. * We cannot use the macro for this, unfortunately. --- src/kits/app/Message.cpp | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/kits/app/Message.cpp b/src/kits/app/Message.cpp index 36db0779ad..3c0dbe6483 100644 --- a/src/kits/app/Message.cpp +++ b/src/kits/app/Message.cpp @@ -2564,7 +2564,6 @@ DEFINE_SET_GET_FUNCTIONS(uint64, UInt64, B_UINT64_TYPE); DEFINE_SET_GET_FUNCTIONS(bool, Bool, B_BOOL_TYPE); DEFINE_SET_GET_FUNCTIONS(float, Float, B_FLOAT_TYPE); DEFINE_SET_GET_FUNCTIONS(double, Double, B_DOUBLE_TYPE); -DEFINE_SET_GET_FUNCTIONS(const char *, String, B_STRING_TYPE); #undef DEFINE_SET_GET_FUNCTION @@ -3136,6 +3135,25 @@ BMessage::HasFlat(const char *name, int32 index, const BFlattenable *object) } +const char* +BMessage::GetString(const char *name, const char *defaultValue) const +{ + return GetString(name, 0, defaultValue); +} + + +const char* +BMessage::GetString(const char *name, int32 index, + const char *defaultValue) const +{ + const char* value; + if (FindString(name, index, &value) == B_OK) + return value; + + return defaultValue; +} + + status_t BMessage::SetString(const char *name, const BString& value) { @@ -3143,6 +3161,13 @@ BMessage::SetString(const char *name, const BString& value) } +status_t +BMessage::SetString(const char *name, const char* value) +{ + return SetData(name, B_STRING_TYPE, value, strlen(value) + 1); +} + + status_t BMessage::SetData(const char* name, type_code type, const void* data, ssize_t numBytes)