msgpack_rpc: Fix #HANDLE_TYPE_CONVERSION_IMPL

Function declarations generator is able to handle properly only the *first* 
function definition that is in macros, and only if it is the first entity in the 
macros. So msgpack_rpc_from_* was already really a static function, additionally 
its attributes were useless. This commit switches to explicit declarations and 
makes generated functions static.
This commit is contained in:
ZyX 2017-01-22 05:35:48 +03:00
parent 927e6efc3d
commit 22d3ce9c29

View File

@ -28,9 +28,11 @@ static msgpack_sbuffer sbuffer;
#define EXT_OBJECT_TYPE_SHIFT kObjectTypeBuffer
#define HANDLE_TYPE_CONVERSION_IMPL(t, lt) \
bool msgpack_rpc_to_##lt(const msgpack_object *const obj, \
Integer *const arg) \
FUNC_ATTR_NONNULL_ALL \
static bool msgpack_rpc_to_##lt(const msgpack_object *const obj, \
Integer *const arg) \
REAL_FATTR_NONNULL_ALL REAL_FATTR_WARN_UNUSED_RESULT; \
static bool msgpack_rpc_to_##lt(const msgpack_object *const obj, \
Integer *const arg) \
{ \
if (obj->type != MSGPACK_OBJECT_EXT \
|| obj->via.ext.type + EXT_OBJECT_TYPE_SHIFT != kObjectType##t) { \
@ -52,8 +54,9 @@ static msgpack_sbuffer sbuffer;
return true; \
} \
\
void msgpack_rpc_from_##lt(Integer o, msgpack_packer *res) \
FUNC_ATTR_NONNULL_ARG(2) \
static void msgpack_rpc_from_##lt(Integer o, msgpack_packer *res) \
REAL_FATTR_NONNULL_ARG(2); \
static void msgpack_rpc_from_##lt(Integer o, msgpack_packer *res) \
{ \
msgpack_packer pac; \
msgpack_packer_init(&pac, &sbuffer, msgpack_sbuffer_write); \