s/sh: fix case patterns for argument-taking commands

Quoted '*' in rc switch cases is a literal character, not a wildcard.
Replace '/cmd *' patterns with /cmd?* so rc treats them as globs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Levi Neely 2026-05-06 08:18:15 +02:00
parent 3186bb12f2
commit ba8f7948bb
1 changed files with 6 additions and 6 deletions

View File

@ -229,25 +229,25 @@ done; exit 1'}
case /cwd
cfg_get cwd
echo
case '/cwd *'
case /cwd?*
newcwd=`{printf '%s\n' $"input | sed 's,^/cwd ,,'}
printf 'cwd=%s\n' $newcwd > $S/cfg
case /agent
cfg_get agent
echo
case '/agent *'
case /agent?*
printf 'agent=%s\n' `{printf '%s\n' $"input | sed 's,^/agent ,,'} > $S/cfg
show_new
case /model
cfg_get model
echo
case '/model *'
case /model?*
printf 'model=%s\n' `{printf '%s\n' $"input | sed 's,^/model ,,'} > $S/cfg
show_new
case /backend
cfg_get backend
echo
case '/backend *'
case /backend?*
printf 'backend=%s\n' `{printf '%s\n' $"input | sed 's,^/backend ,,'} > $S/cfg
show_new
case /models
@ -260,13 +260,13 @@ done; exit 1'}
cat $S/ctxsz >[2]/dev/null
case /mcp
cat $S/mcp >[2]/dev/null
case '/rn *'
case /rn?*
newid=`{printf '%s\n' $"input | sed 's,^/rn ,,'}
printf 'rn %s\n' $newid > $S/ctl
id=$newid
S=$MOUNT/s/$id
save_session $_dir $id
case '/q *'
case /q?*
printf '%s\n' `{printf '%s\n' $"input | sed 's,^/q ,,'} > $S/fifo.in
printf 'queued\n' >[1=2]
case /*