aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-20 14:24:48 +0900
committernsfisis <nsfisis@gmail.com>2026-06-20 14:24:48 +0900
commitc854041bfca63f39ace6f0c01892e81889f90bb3 (patch)
tree0273d6bed22c0009ea026f927b46805eb8ac0e47 /crates/shirabe/src
parente77a37c5447a4d122629ef8fbc9bef309668aa89 (diff)
downloadphp-shirabe-c854041bfca63f39ace6f0c01892e81889f90bb3.tar.gz
php-shirabe-c854041bfca63f39ace6f0c01892e81889f90bb3.tar.zst
php-shirabe-c854041bfca63f39ace6f0c01892e81889f90bb3.zip
fix(global-command): call base_run to stop run() infinite recursion
GlobalCommand::run fell back to self.run when given fewer than two args, recursing forever and overflowing the stack. PHP calls parent::run there. Add Command::base_run holding the base run body so the override can delegate to it, matching PHP's parent::run. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src')
-rw-r--r--crates/shirabe/src/command/global_command.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/shirabe/src/command/global_command.rs b/crates/shirabe/src/command/global_command.rs
index 941315b..0645b3a 100644
--- a/crates/shirabe/src/command/global_command.rs
+++ b/crates/shirabe/src/command/global_command.rs
@@ -180,7 +180,7 @@ impl Command for GlobalCommand {
}
if args.len() < 2 {
- return self.run(input, output);
+ return self.base_run(input, output);
}
let sub_input = self.prepare_subcommand_input(input, false)?;