lua: don't modify pointer type in msgpack.decode*
msgpackffi.decode_unchecked([const] char *) returns two values: a decoded result and a new pointer within passed buffer. After #3926 a cdata type of the returned pointer follows a type of passed buffer. This commit modifies behaviour of msgpack module in the same way. The following functions now returns cdata<char *> or cdata<const char *> depending of its argument: * msgpack.decode(cdata<[const] char *>, number) * msgpack.decode_unchecked(cdata<[const] char *>) * msgpack.decode_array_header(cdata<[const] char *>, number) * msgpack.decode_map_header(cdata<[const] char *>, number) Follows up #3926. (cherry picked from commit 2b9ef8d1)
Showing
- src/lua/msgpack.c 14 additions, 8 deletionssrc/lua/msgpack.c
- src/lua/utils.c 5 additions, 3 deletionssrc/lua/utils.c
- src/lua/utils.h 2 additions, 4 deletionssrc/lua/utils.h
- test/app-tap/lua/serializer_test.lua 59 additions, 0 deletionstest/app-tap/lua/serializer_test.lua
- test/app-tap/msgpack.test.lua 30 additions, 3 deletionstest/app-tap/msgpack.test.lua
- test/app-tap/msgpackffi.test.lua 1 addition, 0 deletionstest/app-tap/msgpackffi.test.lua
Loading
Please register or sign in to comment