| 4290 | } |
| 4291 | |
| 4292 | bool gjs_gi_argument_release_out_array(JSContext* cx, GITransfer transfer, |
| 4293 | const GI::TypeInfo& type_info, |
| 4294 | size_t length, GIArgument* arg) { |
| 4295 | if (transfer == GI_TRANSFER_NOTHING) |
| 4296 | return true; |
| 4297 | |
| 4298 | gjs_debug_marshal(GJS_DEBUG_GFUNCTION, |
| 4299 | "Releasing GIArgument array out param"); |
| 4300 | |
| 4301 | GITransfer element_transfer = transfer == GI_TRANSFER_CONTAINER |
| 4302 | ? GI_TRANSFER_NOTHING |
| 4303 | : GI_TRANSFER_EVERYTHING; |
| 4304 | |
| 4305 | return gjs_gi_argument_release_array_internal< |
| 4306 | ArrayReleaseType::EXPLICIT_LENGTH>( |
| 4307 | cx, element_transfer, GjsArgumentFlags::ARG_OUT, |
| 4308 | type_info.element_type(), Some(length), arg); |
| 4309 | } |
| 4310 | |
| 4311 | bool gjs_gi_argument_release_out_array(JSContext* cx, GITransfer transfer, |
| 4312 | const GI::TypeInfo& type_info, |
no test coverage detected