- value.i = int_field->payload.signd;
- value.u = int_field->payload.unsignd;
- ret = bt_ctfser_write_int(ctfser, value, int_type->common.alignment,
- int_type->size, int_type->is_signed,
- byte_order == BT_CTF_BYTE_ORDER_LITTLE_ENDIAN ?
- LITTLE_ENDIAN : BIG_ENDIAN);
+ if (int_type->is_signed) {
+ ret = bt_ctfser_write_signed_int(ctfser,
+ int_field->payload.signd, int_type->common.alignment,
+ int_type->size,
+ byte_order == BT_CTF_BYTE_ORDER_LITTLE_ENDIAN ?
+ LITTLE_ENDIAN : BIG_ENDIAN);
+ } else {
+ ret = bt_ctfser_write_unsigned_int(ctfser,
+ int_field->payload.unsignd, int_type->common.alignment,
+ int_type->size,
+ byte_order == BT_CTF_BYTE_ORDER_LITTLE_ENDIAN ?
+ LITTLE_ENDIAN : BIG_ENDIAN);
+ }
+