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 ab6114fe81
commit d2239cb8b9

View File

@ -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)