1
0
Fork 0
mirror of https://github.com/albfan/miraclecast.git synced 2025-02-13 13:01:53 +00:00

refactoring getter/setter for dict type of wfd_arg to remove declaration

of temp variable
This commit is contained in:
Derek Dai 2017-02-18 18:41:29 +08:00
parent 04886d862b
commit 857cb11704
No known key found for this signature in database
GPG key ID: E109CC97553EF009

View file

@ -91,29 +91,39 @@
)(_a); \
})
#define wfd_arg_getkv(_a, _k, _v) ({ \
#define wfd_arg_get_dictk(_a, _k) ({ \
assert(_a); \
assert(WFD_ARG_DICT == (_a)->type); \
wfd_arg_get((_a)->k, (_k)); \
})
#define wfd_arg_get_dictv(_a, _v) ({ \
assert(_a); \
assert(WFD_ARG_DICT == (_a)->type); \
wfd_arg_get((_a)->v, (_v)); \
})
#define wfd_arg_list_get(_l, _i, _v) ({ \
assert(_l); \
assert((_i) >= 0 && (_i) < (_l)->len); \
struct wfd_arg *arg = (_l)->discrete \
? &(_l)->argv[(_i)] \
: &(_l)->args[(_i)]; \
wfd_arg_get(arg, _v); \
#define wfd_arg_get_dict(_a, _k, _v) ({ \
assert(_a); \
assert(WFD_ARG_DICT == (_a)->type); \
wfd_arg_get_dictk(_a, _k); \
wfd_arg_get_dictv(_a, _v); \
})
#define wfd_arg_list_getkv(_l, _i, _k, _v) ({ \
assert(_l); \
assert((_i) >= 0 && (_i) < (_l)->len); \
struct wfd_arg *arg = (_l)->discrete \
? &(_l)->argv[(_i)] \
: &(_l)->args[(_i)]; \
wfd_arg_getkv(arg, (_k), (_v)); \
#define wfd_arg_list_get(_l, _i, _v) ({ \
wfd_arg_get(wfd_arg_list_at((_l), (_i)), (_v)); \
})
#define wfd_arg_list_get_dictk(_l, _i, _k) ({ \
wfd_arg_get_dictk(wfd_arg_list_at((_l), (_i)), (_k)); \
})
#define wfd_arg_list_get_dictv(_l, _i, _v) ({ \
wfd_arg_get_dictv(wfd_arg_list_at((_l), (_i)), (_v)); \
})
#define wfd_arg_list_get_dict(_l, _i, _k, _v) ({ \
wfd_arg_get_dict(wfd_arg_list_at((_l), (_i)), (_k), (_v)); \
})
enum wfd_arg_type