mirror of
https://github.com/zlgopen/awtk.git
synced 2025-05-08 19:44:45 +08:00
fix endian
This commit is contained in:
parent
dd86587bf2
commit
1d1b0b2824
@ -4,6 +4,7 @@
|
||||
* edit增加事件EVT\_IM\_ACTION(感谢兆坤提供补丁)
|
||||
* 修复 awtk 的 nanovg\_plus 的获取当前裁剪区不正常的问题 (感谢智明提供补丁)
|
||||
* 修复 widget\_set\_as\_key\_target 递归各个父集后导致全屏刷新的问题 (感谢智明提供补丁)
|
||||
* 修复 int16\_endian\_invert(严重BUG,请更新代码)。
|
||||
|
||||
2021/11/29
|
||||
* 完善event\_from\_name(感谢兆坤提供补丁)
|
||||
|
@ -40,7 +40,12 @@ static inline bool_t is_little_endian(void) {
|
||||
}
|
||||
|
||||
static inline int16_t int16_endian_invert(int16_t value) {
|
||||
return (value << 8) | (value >> 8);
|
||||
int16_t ret = value;
|
||||
uint8_t* p = (uint8_t*)&ret;
|
||||
|
||||
swap_uint8(p, p + 1);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline int16_t int16_to_big_endian(int16_t value) {
|
||||
|
@ -9,6 +9,12 @@ TEST(Endian, int16) {
|
||||
ASSERT_EQ(int16_from_big_endian(int16_to_big_endian(a)), a);
|
||||
}
|
||||
|
||||
TEST(Endian, int16_10) {
|
||||
int16_t a = 1000;
|
||||
ASSERT_EQ(is_little_endian(), TRUE);
|
||||
ASSERT_EQ(int16_from_big_endian(int16_to_big_endian(a)), a);
|
||||
}
|
||||
|
||||
TEST(Endian, int32) {
|
||||
int32_t a = 0x11223344;
|
||||
ASSERT_EQ(is_little_endian(), TRUE);
|
||||
|
@ -138,6 +138,19 @@ TEST(UBJsonReader, int32) {
|
||||
ubjson_reader_reset(&ur);
|
||||
}
|
||||
|
||||
TEST(UBJsonReader, int) {
|
||||
PREPARE_TEST();
|
||||
|
||||
ASSERT_EQ(ubjson_writer_write_int(&ub, 1000), RET_OK);
|
||||
|
||||
rb.capacity = wb.cursor;
|
||||
ASSERT_EQ(ubjson_reader_read(&ur, &v), RET_OK);
|
||||
ASSERT_EQ(v.type == VALUE_TYPE_INT16, true);
|
||||
ASSERT_EQ(value_int(&v), 1000);
|
||||
|
||||
ubjson_reader_reset(&ur);
|
||||
}
|
||||
|
||||
TEST(UBJsonReader, int64) {
|
||||
PREPARE_TEST();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user