← Commit list

30db43b5c

Denis Vlasenko
Denis Vlasenko
2009-04-05
FAILED Duration: 31s

Subject

hush: fix passing of $n on NOMMU

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

shell/hush.c+8 -4
@@ -2342,11 +2342,13 @@ static void re_execute_shell(const char *s) NORETURN;
static void re_execute_shell(const char *s)
{
struct variable *cur;
- char **argv, **pp;
+ char **argv, **pp, **pp2;
unsigned cnt;
- /* hush -$<pid> -?<exitcode> -D<depth> ... -c <cmd> NULL */
- cnt = 7;
+ /* 1:hush 2:-$<pid> 3:-?<exitcode> 4:-D<depth> <vars...>
+ * 5:-c 6:<cmd> <argN...> 7:NULL
+ */
+ cnt = 7 + G.global_argc;
for (cur = G.top_var; cur; cur = cur->next) {
if (!cur->flg_export || cur->flg_read_only)
cnt += 2;
@@ -2370,7 +2372,9 @@ static void re_execute_shell(const char *s)
}
*pp++ = (char *) "-c";
*pp++ = (char *) s;
-//TODO: pass $N
+ pp2 = G.global_argv;
+ while (*pp2)
+ *pp++ = *pp2++;
*pp = NULL;
//TODO: pass traps and functions
shell/hush_test/hush-vars/param_subshell.right+7 -0
@@ -0,0 +1,7 @@
+1=1
+2=2
+3=3
+4=4
+5=5
+6=6
+7=7
shell/hush_test/hush-vars/param_subshell.tests+13 -0
@@ -0,0 +1,13 @@
+if test $# = 0; then
+ "$THIS_SH" "$0" 1 2 3 4 5 6 7 8 9
+ exit
+fi
+echo 1=$1
+{ echo 2=$2; }
+{ echo 3=$3; } &
+usleep 100000
+( echo 4=$4 )
+( echo 5=$5 ) &
+usleep 100000
+true | echo 6=$6 | cat
+true | { echo 7=$7; } | cat