} END_TEST START_TEST(test_queue_size) { struct msg *msgs; struct msg m1, m2, m3; QUEUE_INIT(struct msg, msgs); m1.content = "abc"; m2.content = "def"; m3.content = "ghi"; ck_assert_uint_eq(QUEUE_SIZE(msgs), 0); QUEUE_PUSH(msgs, &m1); ck_assert_uint_eq(QUEUE_SIZE(msgs), 1); QUEUE_PUSH(msgs, &m2); ck_assert_uint_eq(QUEUE_SIZE(msgs), 2); QUEUE_PUSH(msgs, &m3); ck_assert_uint_eq(QUEUE_SIZE(msgs), 3); } END_TEST
static int ds_queue_count_elements(zval *obj, zend_long *count) { *count = QUEUE_SIZE(Z_DS_QUEUE_P(obj)); return SUCCESS; }