On Sun, Mar 11, 2012 at 04:56:06PM +0000, KY Srinivasan wrote:
quoted
Probably that's not enough to make a difference and we'd need to
introduce a new function.
Btw I don't know if utf16s_to_utf8s() counts the NUL char or not.
It feels like maybe we could end up with ->value_size equal to
HV_KVP_EXCHANGE_MAX_VALUE_SIZE + 1.
The MAX value is set to accommodate the maximum string that will ever
be handled including the string terminator. The function utf16s_to_utf8s()
returns the converted string length but the returned length does not
include the string terminator (like strlen), hence the "+1".
sprintf() and friends copy the NUL terminator but utf16s_to_utf8s()
doesn't so the code isn't right and it does seem like maybe we could
end up with a ->value_size equal to HV_KVP_EXCHANGE_MAX_VALUE_SIZE +
1.
regards,
dan carpenter