assert(lval);
assert(rval);
- signal_client_data_t *signal_client_data = (signal_client_data_t*)lval;
int client_session_uid = 0;
- maybe_g_variant_get_or_ret_diff_(signal_client_data->params, "(i)", &client_session_uid);
+ signal_client_data_t *signal_client_data = (signal_client_data_t*)lval;
+ assert(g_variant_is_of_type(signal_client_data->params, G_VARIANT_TYPE("i")));
+ g_variant_get(signal_client_data->params, "(i)", &client_session_uid);
GVariant *params = (GVariant *)rval;
int params_session_uid = 0;
- maybe_g_variant_get_or_ret_diff_(params, "(i)", ¶ms_session_uid);
+ if (!typechecked_g_variant_get(params, "(i)", ¶ms_session_uid))
+ return COMPARATOR_RESULT_DIFFERENT_;
return client_session_uid == params_session_uid ? COMPARATOR_RESULT_SAME_ : COMPARATOR_RESULT_DIFFERENT_;
}
assert(lval);
assert(rval);
- signal_client_data_t *signal_client_data = (signal_client_data_t*)lval;
int client_session_uid = 0;
- maybe_g_variant_get_or_ret_diff_(signal_client_data->params, "(i)", &client_session_uid);
+ signal_client_data_t *signal_client_data = (signal_client_data_t*)lval;
+ assert(g_variant_is_of_type(signal_client_data->params, G_VARIANT_TYPE("i")));
+ g_variant_get(signal_client_data->params, "(i)", &client_session_uid);
GVariant *params = (GVariant *)rval;
int params_session_uid = 0;
g_autofree char* params_prev_user = NULL;
g_autofree char* params_next_user = NULL;
- maybe_g_variant_get_or_ret_diff_(params, "(ixss)",
+ if (!typechecked_g_variant_get(params, "(ixss)",
¶ms_session_uid,
¶ms_switch_id,
¶ms_prev_user,
- ¶ms_next_user
- );
+ ¶ms_next_user))
+ return COMPARATOR_RESULT_DIFFERENT_;
return client_session_uid == params_session_uid ? COMPARATOR_RESULT_SAME_ : COMPARATOR_RESULT_DIFFERENT_;
}
assert(lval);
assert(rval);
- signal_client_data_t *signal_client_data = (signal_client_data_t*)lval;
int client_session_uid = 0;
- maybe_g_variant_get_or_ret_diff_(signal_client_data->params, "(i)", &client_session_uid);
+ signal_client_data_t *signal_client_data = (signal_client_data_t*)lval;
+ assert(g_variant_is_of_type(signal_client_data->params, G_VARIANT_TYPE("i")));
+ g_variant_get(signal_client_data->params, "(i)", &client_session_uid);
GVariant *params = (GVariant *)rval;
int params_session_uid = 0;
g_autofree char *user_id = NULL;
- maybe_g_variant_get_or_ret_diff_(params, "(is)", ¶ms_session_uid, &user_id);
+ if (!typechecked_g_variant_get(params, "(is)", ¶ms_session_uid, &user_id))
+ return COMPARATOR_RESULT_DIFFERENT_;
return client_session_uid == params_session_uid ? COMPARATOR_RESULT_SAME_ : COMPARATOR_RESULT_DIFFERENT_;
}
// Implementation note: g_variant_get() returns void, hence ", true"
#define typechecked_g_variant_get(var, type, args...) (g_variant_is_of_type(var, G_VARIANT_TYPE(type)) ? (g_variant_get(var, type, args), true) : false)
-//use when function return err value
-#define maybe_g_variant_get_or_ret_diff_(var, c_str_, args...) \
- if (!g_variant_is_of_type(var, G_VARIANT_TYPE(c_str_) )) { return COMPARATOR_RESULT_DIFFERENT_ ; } \
- g_variant_get(var, c_str_, args)
-
#define int_not_valid(a, ...) || (a <= 0) __VA_ARGS__
#define session_uid_is_not_valid(a, ...) || (a <= 0) __VA_ARGS__