Fix issue: CLEAN method was not properly exported by tuple.
This commit is contained in:
1 parent
5d1eb45d5c
commit
acbf1efad6
2 files changed
+15
-1
No files matched your search
@@ -475,7 +475,7 @@ namespace m_tuple {
|
|||||||
M_IF_METHOD_ALL(INIT_MOVE, __VA_ARGS__)(INIT_MOVE(M_C(name, _init_move)),), \
|
M_IF_METHOD_ALL(INIT_MOVE, __VA_ARGS__)(INIT_MOVE(M_C(name, _init_move)),), \
|
||||||
M_IF_METHOD_ALL(MOVE, __VA_ARGS__)(MOVE(M_C(name, _move)),), \
|
M_IF_METHOD_ALL(MOVE, __VA_ARGS__)(MOVE(M_C(name, _move)),), \
|
||||||
M_IF_METHOD_ALL(SWAP, __VA_ARGS__)(MOVE(M_C(name, _swap)),), \
|
M_IF_METHOD_ALL(SWAP, __VA_ARGS__)(MOVE(M_C(name, _swap)),), \
|
||||||
M_IF_METHOD_ALL(CLEAN, __VA_ARGS__)(MOVE(M_C(name, _clean)),), \
|
M_IF_METHOD_ALL(CLEAN, __VA_ARGS__)(CLEAN(M_C(name, _clean)),), \
|
||||||
M_IF_METHOD(NEW, M_RET_ARG1(__VA_ARGS__,))(NEW(M_DELAY2(M_GET_NEW) M_RET_ARG1(__VA_ARGS__,)),), \
|
M_IF_METHOD(NEW, M_RET_ARG1(__VA_ARGS__,))(NEW(M_DELAY2(M_GET_NEW) M_RET_ARG1(__VA_ARGS__,)),), \
|
||||||
M_IF_METHOD(REALLOC, M_RET_ARG1(__VA_ARGS__,))(REALLOC(M_DELAY2(M_GET_REALLOC) M_RET_ARG1(__VA_ARGS__,)),), \
|
M_IF_METHOD(REALLOC, M_RET_ARG1(__VA_ARGS__,))(REALLOC(M_DELAY2(M_GET_REALLOC) M_RET_ARG1(__VA_ARGS__,)),), \
|
||||||
M_IF_METHOD(DEL, M_RET_ARG1(__VA_ARGS__,))(DEL(M_DELAY2(M_GET_DEL) M_RET_ARG1(__VA_ARGS__,)),), \
|
M_IF_METHOD(DEL, M_RET_ARG1(__VA_ARGS__,))(DEL(M_DELAY2(M_GET_DEL) M_RET_ARG1(__VA_ARGS__,)),), \
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ TUPLE_DEF2(pair3,
|
|||||||
TUPLE_DEF2(pair_str,
|
TUPLE_DEF2(pair_str,
|
||||||
(vala, string_t, STRING_OPLIST),
|
(vala, string_t, STRING_OPLIST),
|
||||||
(valb, string_t, STRING_OPLIST))
|
(valb, string_t, STRING_OPLIST))
|
||||||
|
#define M_OPL_pair_str_t() TUPLE_OPLIST(pair_str, STRING_OPLIST, STRING_OPLIST)
|
||||||
|
|
||||||
TUPLE_DEF2(single_str, (vala, string_t, STRING_OPLIST))
|
TUPLE_DEF2(single_str, (vala, string_t, STRING_OPLIST))
|
||||||
|
|
||||||
@@ -54,6 +55,13 @@ TUPLE_DEF2(pair2_str,
|
|||||||
(str, string_t),
|
(str, string_t),
|
||||||
(value, unsigned long))
|
(value, unsigned long))
|
||||||
|
|
||||||
|
// Recursive tuple definition.
|
||||||
|
TUPLE_DEF2(rtuple,
|
||||||
|
(ituple, pair_str_t),
|
||||||
|
(name, string_t))
|
||||||
|
#define M_OPL_rtuple_t() TUPLE_OPLIST(rtuple, M_OPL_pair_str_t(), STRING_OPLIST)
|
||||||
|
|
||||||
|
|
||||||
static void check_swap(void)
|
static void check_swap(void)
|
||||||
{
|
{
|
||||||
pair_str_t p1, p2;
|
pair_str_t p1, p2;
|
||||||
@@ -82,6 +90,12 @@ static void check_clean(void)
|
|||||||
assert(string_equal_str_p (p1->vala, ""));
|
assert(string_equal_str_p (p1->vala, ""));
|
||||||
|
|
||||||
single_str_clear(p1);
|
single_str_clear(p1);
|
||||||
|
|
||||||
|
M_LET(r, rtuple_t) {
|
||||||
|
string_set_str(r->name, "Hello");
|
||||||
|
rtuple_clean(r);
|
||||||
|
assert(string_equal_str_p (r->name, ""));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void check_io(void)
|
static void check_io(void)
|
||||||
|
|||||||
Reference in new issue
Block a user