From 7f810b1bb288445ee5376fada752e84ecb1ce211 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 24 Jun 2026 21:38:53 +0900 Subject: feat(process): wire execute output handling to a callback model Replace the Option<&mut PhpMixed> output plumbing with the IntoExecOutput trait modelling each PHP `$output` case (forward, capture-to-buffer, discard, callback). This lets do_execute pass a real output handler to Process::run, captures output back via get_output, and lets Svn pass its streaming filter handler through execute instead of skipping it. --- crates/shirabe/src/downloader/gzip_downloader.rs | 2 +- crates/shirabe/src/downloader/rar_downloader.rs | 2 +- crates/shirabe/src/downloader/xz_downloader.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'crates/shirabe/src/downloader') diff --git a/crates/shirabe/src/downloader/gzip_downloader.rs b/crates/shirabe/src/downloader/gzip_downloader.rs index 8146145..b7b92c6 100644 --- a/crates/shirabe/src/downloader/gzip_downloader.rs +++ b/crates/shirabe/src/downloader/gzip_downloader.rs @@ -119,7 +119,7 @@ impl ArchiveDownloader for GzipDownloader { .map(|s| PhpMixed::String(s.clone())) .collect(), ), - Some(&mut process_output), + &mut process_output, None, )? == 0 { diff --git a/crates/shirabe/src/downloader/rar_downloader.rs b/crates/shirabe/src/downloader/rar_downloader.rs index 73d5fdf..88183f9 100644 --- a/crates/shirabe/src/downloader/rar_downloader.rs +++ b/crates/shirabe/src/downloader/rar_downloader.rs @@ -92,7 +92,7 @@ impl ArchiveDownloader for RarDownloader { .map(|s| PhpMixed::String(s.clone())) .collect(), ), - Some(&mut process_output), + &mut process_output, None, )? == 0 { diff --git a/crates/shirabe/src/downloader/xz_downloader.rs b/crates/shirabe/src/downloader/xz_downloader.rs index d7f94c3..3e61ba5 100644 --- a/crates/shirabe/src/downloader/xz_downloader.rs +++ b/crates/shirabe/src/downloader/xz_downloader.rs @@ -79,7 +79,7 @@ impl ArchiveDownloader for XzDownloader { .map(|s| PhpMixed::String(s.to_string())) .collect(), ), - Some(&mut ignored_output), + &mut ignored_output, None, )? == 0 { -- cgit v1.3.1