switch (type) {
case BT_DATA_TYPE_SINT8:
value = __convert_int_to_signed_bits(value, 8);
+ if (*val)
+ (*val)[idx] = (char)(value & 0xFF);
+ break;
case BT_DATA_TYPE_UINT8:
if (*val)
(*val)[idx] = (char)(value & 0xFF);
case BT_DATA_TYPE_SINT16:
value = __convert_int_to_signed_bits(value, 16);
+ if (*val) {
+ (*val)[idx++] = (char)(value & 0xFF);
+ (*val)[idx] = (char)((value >> 8) & 0xFF);
+ }
+ break;
case BT_DATA_TYPE_UINT16:
if (*val) {
(*val)[idx++] = (char)(value & 0xFF);
case BT_DATA_TYPE_SINT32:
value = __convert_int_to_signed_bits(value, 32);
+ if (*val) {
+ (*val)[idx++] = (char)(value & 0xFF);
+ (*val)[idx++] = (char)((value >> 8) & 0xFF);
+ (*val)[idx++] = (char)((value >> 16) & 0xFF);
+ (*val)[idx] = (char)((value >> 24) & 0xFF);
+ }
+ break;
case BT_DATA_TYPE_UINT32:
if (*val) {
(*val)[idx++] = (char)(value & 0xFF);