svn commit: trunk/busybox/shell: ash_test ash_test/ash-misc

vda at busybox.net vda at busybox.net
Wed Jul 30 15:35:06 UTC 2008


Author: vda
Date: 2008-07-30 08:35:05 -0700 (Wed, 30 Jul 2008)
New Revision: 22990

Log:
ash: bash compat: "shift $BIGNUM" is equivalent to "shift 1"



Added:
   trunk/busybox/shell/ash_test/ash-misc/
   trunk/busybox/shell/ash_test/ash-misc/shift1.right
   trunk/busybox/shell/ash_test/ash-misc/shift1.tests

Modified:
   trunk/busybox/shell/ash.c


Changeset:
Modified: trunk/busybox/shell/ash.c
===================================================================
--- trunk/busybox/shell/ash.c	2008-07-29 19:48:30 UTC (rev 22989)
+++ trunk/busybox/shell/ash.c	2008-07-30 15:35:05 UTC (rev 22990)
@@ -9665,7 +9665,7 @@
 	if (argv[1])
 		n = number(argv[1]);
 	if (n > shellparam.nparam)
-		n = shellparam.nparam;
+		n = 0; /* bash compat, was = shellparam.nparam; */
 	INT_OFF;
 	shellparam.nparam -= n;
 	for (ap1 = shellparam.p; --n >= 0; ap1++) {

Added: trunk/busybox/shell/ash_test/ash-misc/shift1.right
===================================================================
--- trunk/busybox/shell/ash_test/ash-misc/shift1.right	                        (rev 0)
+++ trunk/busybox/shell/ash_test/ash-misc/shift1.right	2008-07-30 15:35:05 UTC (rev 22990)
@@ -0,0 +1,9 @@
+2 3 4
+0: shift: line 1: Illegal number: -1
+1 2 3 4
+2 3 4
+3 4
+4
+
+1 2 3 4
+1 2 3 4

Added: trunk/busybox/shell/ash_test/ash-misc/shift1.tests
===================================================================
--- trunk/busybox/shell/ash_test/ash-misc/shift1.tests	                        (rev 0)
+++ trunk/busybox/shell/ash_test/ash-misc/shift1.tests	2008-07-30 15:35:05 UTC (rev 22990)
@@ -0,0 +1,10 @@
+$THIS_SH -c 'shift;    echo "$@"' 0 1 2 3 4
+#We do abort on -1, but then we abort. bash executes echo.
+$THIS_SH -c 'shift -1; echo "$@"' 0 1 2 3 4
+$THIS_SH -c 'shift  0; echo "$@"' 0 1 2 3 4
+$THIS_SH -c 'shift  1; echo "$@"' 0 1 2 3 4
+$THIS_SH -c 'shift  2; echo "$@"' 0 1 2 3 4
+$THIS_SH -c 'shift  3; echo "$@"' 0 1 2 3 4
+$THIS_SH -c 'shift  4; echo "$@"' 0 1 2 3 4
+$THIS_SH -c 'shift  5; echo "$@"' 0 1 2 3 4
+$THIS_SH -c 'shift  6; echo "$@"' 0 1 2 3 4


Property changes on: trunk/busybox/shell/ash_test/ash-misc/shift1.tests
___________________________________________________________________
Name: svn:executable
   + *




More information about the busybox-cvs mailing list