svn commit: trunk/busybox: editors include scripts testsuite

vda at busybox.net vda at busybox.net
Mon Aug 6 03:41:10 UTC 2007


Author: vda
Date: 2007-08-05 20:41:08 -0700 (Sun, 05 Aug 2007)
New Revision: 19409

Log:
sed: fix 'q' command handling ("Nguyen Thai Ngoc Duy" <pclouds at gmail.com>)
     add testsuite entry for it. Fix applet order checker. Fix cmp yelling.
trylink: fix error file and map file generation
applets: fix applet order



Modified:
   trunk/busybox/editors/sed.c
   trunk/busybox/include/applets.h
   trunk/busybox/scripts/trylink
   trunk/busybox/testsuite/all_sourcecode.tests
   trunk/busybox/testsuite/testing.sh


Changeset:
Modified: trunk/busybox/editors/sed.c
===================================================================
--- trunk/busybox/editors/sed.c	2007-08-06 02:55:41 UTC (rev 19408)
+++ trunk/busybox/editors/sed.c	2007-08-06 03:41:08 UTC (rev 19409)
@@ -836,6 +836,14 @@
 
 #define sed_puts(s, n) (puts_maybe_newline(s, G.nonstdout, &last_puts_char, n))
 
+static int beg_match(sed_cmd_t *sed_cmd, const char *pattern_space)
+{
+	int retval = sed_cmd->beg_match && !regexec(sed_cmd->beg_match, pattern_space, 0, NULL, 0);
+	if (retval)
+		G.previous_regex_ptr = sed_cmd->beg_match;
+	return retval;
+}
+
 /* Process all the lines in all the files */
 
 static void process_files(void)
@@ -880,8 +888,7 @@
 			/* Or did we match the start of a numerical range? */
 			|| (sed_cmd->beg_line > 0 && (sed_cmd->beg_line == linenum))
 			/* Or does this line match our begin address regex? */
-			|| (sed_cmd->beg_match &&
-			    !regexec(sed_cmd->beg_match, pattern_space, 0, NULL, 0))
+			|| (beg_match(sed_cmd, pattern_space))
 			/* Or did we match last line of input? */
 			|| (sed_cmd->beg_line == -1 && next_line == NULL);
 

Modified: trunk/busybox/include/applets.h
===================================================================
--- trunk/busybox/include/applets.h	2007-08-06 02:55:41 UTC (rev 19408)
+++ trunk/busybox/include/applets.h	2007-08-06 03:41:08 UTC (rev 19409)
@@ -217,8 +217,8 @@
 USE_LSATTR(APPLET(lsattr, _BB_DIR_BIN, _BB_SUID_NEVER))
 USE_LSMOD(APPLET(lsmod, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_UNLZMA(APPLET_ODDNAME(lzmacat, unlzma, _BB_DIR_USR_BIN, _BB_SUID_NEVER, lzmacat))
+USE_MAKEDEVS(APPLET(makedevs, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_MATCHPATHCON(APPLET(matchpathcon, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
-USE_MAKEDEVS(APPLET(makedevs, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_MD5SUM(APPLET_ODDNAME(md5sum, md5_sha1_sum, _BB_DIR_USR_BIN, _BB_SUID_NEVER, md5sum))
 USE_MDEV(APPLET(mdev, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_MESG(APPLET(mesg, _BB_DIR_USR_BIN, _BB_SUID_NEVER))

Modified: trunk/busybox/scripts/trylink
===================================================================
--- trunk/busybox/scripts/trylink	2007-08-06 02:55:41 UTC (rev 19408)
+++ trunk/busybox/scripts/trylink	2007-08-06 03:41:08 UTC (rev 19409)
@@ -25,8 +25,9 @@
 # Hack: we are not supposed to know executable name,
 # but this hack cuts down link time
 mv busybox_unstripped busybox_unstripped.tmp
+mv busybox.map        busybox.map.tmp
 
-# Now try to remove each lib and build without.
+# Now try to remove each lib and build without it.
 # Stop when no lib can be removed.
 ever_discarded=false
 while test "$BBOX_LIB_LIST"; do
@@ -47,17 +48,19 @@
     done
     # All libs were needed, can't remove any
     $all_needed && break
-    # If there is no space, the list has just one lib.
+    # If there is no space char, the list has just one lib.
     # I'm not sure that in this case lib really is 100% needed.
     # Let's try linking without it anyway... thus commented out.
-    #echo "$BBOX_LIB_LIST" | grep -q ' ' || break
+    #{ echo "$BBOX_LIB_LIST" | grep -q ' '; } || break
 done
 
 mv busybox_unstripped.tmp busybox_unstripped
+mv busybox.map.tmp        busybox.map
 $ever_discarded && {
-    # Ok, make the binary
+    # Make the binary with final, minimal list of libs
     echo "Final link with: $BBOX_LIB_LIST"
     l_list=`echo "$BBOX_LIB_LIST" | sed -e 's/ / -l/g' -e 's/^/-l/'`
-    try "-Wl,--start-group $l_list -Wl,--end-group" "$@"
+    try "-Wl,--start-group $l_list -Wl,--end-group" "$@" && exit 1
 }
+rm busybox_ld.err
 exit 0  # Ensure "success" exit code

Modified: trunk/busybox/testsuite/all_sourcecode.tests
===================================================================
--- trunk/busybox/testsuite/all_sourcecode.tests	2007-08-06 02:55:41 UTC (rev 19408)
+++ trunk/busybox/testsuite/all_sourcecode.tests	2007-08-06 03:41:08 UTC (rev 19409)
@@ -19,7 +19,7 @@
 # verify the applet order is correct in applets.h, otherwise
 # applets won't be called properly.
 #
-sed -n -e '/^USE_[A-Z]*(APPLET(/{s:.*(::;s:,.*::;s:"::g;p}' \
+sed -n -e '/^USE_[A-Z]*(APPLET/{s:,.*::;s:.*(::;s:"::g;p}' \
 	$srcdir/../include/applets.h > applet.order.current
 LC_ALL=C sort applet.order.current > applet.order.correct
 testing "Applet order" "diff -u applet.order.current applet.order.correct" "" "" ""

Modified: trunk/busybox/testsuite/testing.sh
===================================================================
--- trunk/busybox/testsuite/testing.sh	2007-08-06 02:55:41 UTC (rev 19408)
+++ trunk/busybox/testsuite/testing.sh	2007-08-06 03:41:08 UTC (rev 19409)
@@ -76,7 +76,7 @@
   echo -ne "$5" | eval "$2" > actual
   RETVAL=$?
 
-  cmp expected actual > /dev/null
+  cmp expected actual >/dev/null 2>/dev/null
   if [ $? -ne 0 ]
   then
     FAILCOUNT=$[$FAILCOUNT+1]




More information about the busybox-cvs mailing list