svn commit: branches/busybox_1_7_stable: findutils

vda at busybox.net vda at busybox.net
Fri Mar 21 08:44:32 UTC 2008


Author: vda
Date: 2008-03-21 01:44:32 -0700 (Fri, 21 Mar 2008)
New Revision: 21430

Log:
apply single post-1.7.4 patch; bump version to 1.7.5



Modified:
   branches/busybox_1_7_stable/Makefile
   branches/busybox_1_7_stable/findutils/grep.c


Changeset:
Modified: branches/busybox_1_7_stable/Makefile
===================================================================
--- branches/busybox_1_7_stable/Makefile	2008-03-21 07:18:47 UTC (rev 21429)
+++ branches/busybox_1_7_stable/Makefile	2008-03-21 08:44:32 UTC (rev 21430)
@@ -1,6 +1,6 @@
 VERSION = 1
 PATCHLEVEL = 7
-SUBLEVEL = 4
+SUBLEVEL = 5
 EXTRAVERSION =
 NAME = Unnamed
 

Modified: branches/busybox_1_7_stable/findutils/grep.c
===================================================================
--- branches/busybox_1_7_stable/findutils/grep.c	2008-03-21 07:18:47 UTC (rev 21429)
+++ branches/busybox_1_7_stable/findutils/grep.c	2008-03-21 08:44:32 UTC (rev 21430)
@@ -154,14 +154,14 @@
 
 	while ((line = xmalloc_getline(file)) != NULL) {
 		llist_t *pattern_ptr = pattern_head;
-		grep_list_data_t * gl;
+		grep_list_data_t *gl = gl; /* for gcc */
 
 		linenum++;
 		ret = 0;
 		while (pattern_ptr) {
 			gl = (grep_list_data_t *)pattern_ptr->data;
 			if (FGREP_FLAG) {
-				ret = strstr(line, gl->pattern) != NULL;
+				ret |= (strstr(line, gl->pattern) != NULL);
 			} else {
 				/*
 				 * test for a postitive-assertion match (regexec returns success (0)
@@ -255,8 +255,15 @@
 				print_n_lines_after = lines_after;
 #endif
 				if (option_mask32 & OPT_o) {
-					line[regmatch.rm_eo] = '\0';
-					print_line(line + regmatch.rm_so, linenum, ':');
+					if (FGREP_FLAG) {
+						/* -Fo just prints the pattern
+						 * (unless -v: -Fov doesnt print anything at all) */
+						if (ret)
+							print_line(gl->pattern, linenum, ':');
+					} else {
+						line[regmatch.rm_eo] = '\0';
+						print_line(line + regmatch.rm_so, linenum, ':');
+					}
 				} else {
 					print_line(line, linenum, ':');
 				}




More information about the busybox-cvs mailing list