BMessage::SetString() was broken.

* We cannot use the macro for this, unfortunately.
This commit is contained in:
Axel Dörfler 2012-12-13 22:43:26 +01:00
parent acee88be99
commit 46851a74af

View File

@ -2550,7 +2550,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
@ -3206,6 +3205,25 @@ BMessage::SetString(const char* name, const char* value)
}
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)
{
@ -3213,6 +3231,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)