static int dump_uint16(VALUE val, LWES_BYTE_P buf, size_t *off) { int32_t tmp = NUM2INT(val); if (tmp < 0) rb_raise(rb_eRangeError, ":uint16 negative: %d", tmp); if (tmp > UINT16_MAX) rb_raise(rb_eRangeError, ":uint16 too large: %d", tmp); lwesrb_dump_type(LWES_U_INT_16_TOKEN, buf, off); return marshall_U_INT_16((LWES_U_INT_16)tmp, buf, MAX_MSG_SIZE, off); }
int my_marshall_U_INT_16 (LWES_U_INT_16 anInt, LWES_BYTE_P bytes, size_t length, size_t *offset) { ++marshall_U_INT_16_count; if ( marshall_U_INT_16_count != marshall_U_INT_16_fail_at) { return marshall_U_INT_16 (anInt, bytes, length, offset); } return 0; }