| 1744 | struct FixedSizeArrayInOut : FallbackInOut { |
| 1745 | using FallbackInOut::FallbackInOut; |
| 1746 | bool release(JSContext* cx, GjsFunctionCallState* state, GIArgument*, |
| 1747 | GIArgument* out_arg) override { |
| 1748 | GITransfer transfer = |
| 1749 | state->call_completed() ? m_transfer : GI_TRANSFER_NOTHING; |
| 1750 | GIArgument* original_out_arg = &state->inout_original_cvalue(m_arg_pos); |
| 1751 | size_t size = m_type_info.array_fixed_size().value(); |
| 1752 | if (!gjs_gi_argument_release_in_array(cx, transfer, m_type_info, size, |
| 1753 | original_out_arg)) |
| 1754 | return false; |
| 1755 | |
| 1756 | transfer = |
| 1757 | state->call_completed() ? m_transfer : GI_TRANSFER_EVERYTHING; |
| 1758 | return gjs_gi_argument_release_out_array(cx, transfer, m_type_info, |
| 1759 | size, out_arg); |
| 1760 | } |
| 1761 | }; |
| 1762 | |
| 1763 | static const char* reason_strings[] = { |
nothing calls this directly
no test coverage detected