svn commit: trunk/busybox/coreutils

aldot at busybox.net aldot at busybox.net
Mon Jan 30 17:41:08 UTC 2006


Author: aldot
Date: 2006-01-30 09:41:06 -0800 (Mon, 30 Jan 2006)
New Revision: 13721

Log:
- very minor tweak: save 1 byte.
  statistics:
   text    data     bss     dec     hex filename
    867       0      12     879     36f fold.o.oorig.gcc-3.3
    843       0      12     855     357 fold.o.oorig.gcc-3.4
    780       0      12     792     318 fold.o.oorig.gcc-4.0
    761       0      12     773     305 fold.o.oorig.gcc-4.1-HEAD
    761       0      12     773     305 fold.o.oorig.gcc-4.2-HEAD
    866       0      12     878     36e fold.o.gcc-3.3
    842       0      12     854     356 fold.o.gcc-3.4
    779       0      12     791     317 fold.o.gcc-4.0
    760       0      12     772     304 fold.o.gcc-4.1-HEAD
    760       0      12     772     304 fold.o.gcc-4.2-HEAD



Modified:
   trunk/busybox/coreutils/fold.c


Changeset:
Modified: trunk/busybox/coreutils/fold.c
===================================================================
--- trunk/busybox/coreutils/fold.c	2006-01-30 17:30:22 UTC (rev 13720)
+++ trunk/busybox/coreutils/fold.c	2006-01-30 17:41:06 UTC (rev 13721)
@@ -51,7 +51,6 @@
 	int i;
 	int errs = 0;
 
-
 	if(!ENABLE_DEBUG_YANK_SUSv2) {
 		/* Turn any numeric options into -w options.  */
 		for (i = 1; i < argc; i++) {
@@ -78,80 +77,81 @@
 
 	do {
 		FILE *istream = bb_wfopen_input(*argv);
-		if (istream != NULL) {
-			int c;
-			int column = 0;		/* Screen column where next char will go. */
-			int offset_out = 0;	/* Index in `line_out' for next char. */
-			static char *line_out = NULL;
-			static int allocated_out = 0;
+		int c;
+		int column = 0;		/* Screen column where next char will go. */
+		int offset_out = 0;	/* Index in `line_out' for next char. */
+		static char *line_out = NULL;
+		static int allocated_out = 0;
 
-			while ((c = getc(istream)) != EOF) {
-				if (offset_out + 1 >= allocated_out) {
-					allocated_out += 1024;
-					line_out = xrealloc(line_out, allocated_out);
-				}
+		if (istream == NULL) {
+			errs |= EXIT_FAILURE;
+			continue;
+		}
 
-				if (c == '\n') {
-					line_out[offset_out++] = c;
-					fwrite(line_out, sizeof(char), (size_t) offset_out, stdout);
-					column = offset_out = 0;
-					continue;
-				}
+		while ((c = getc(istream)) != EOF) {
+			if (offset_out + 1 >= allocated_out) {
+				allocated_out += 1024;
+				line_out = xrealloc(line_out, allocated_out);
+			}
 
+			if (c == '\n') {
+				line_out[offset_out++] = c;
+				fwrite(line_out, sizeof(char), (size_t) offset_out, stdout);
+				column = offset_out = 0;
+				continue;
+			}
+
 rescan:
-				column = adjust_column(column, c);
+			column = adjust_column(column, c);
 
-				if (column > width) {
-					/* This character would make the line too long.
-					   Print the line plus a newline, and make this character
-					   start the next line. */
-					if (flags & FLAG_BREAK_SPACES) {
-						/* Look for the last blank. */
-						int logical_end;
+			if (column > width) {
+				/* This character would make the line too long.
+				   Print the line plus a newline, and make this character
+				   start the next line. */
+				if (flags & FLAG_BREAK_SPACES) {
+					/* Look for the last blank. */
+					int logical_end;
 
-						for (logical_end = offset_out - 1; logical_end >= 0; logical_end--) {
-							if (isblank(line_out[logical_end])) {
-								break;
-							}
+					for (logical_end = offset_out - 1; logical_end >= 0; logical_end--) {
+						if (isblank(line_out[logical_end])) {
+							break;
 						}
-						if (logical_end >= 0) {
-							/* Found a blank.  Don't output the part after it. */
-							logical_end++;
-							fwrite(line_out, sizeof(char), (size_t) logical_end, stdout);
-							putchar('\n');
-							/* Move the remainder to the beginning of the next line.
-							   The areas being copied here might overlap. */
-							memmove(line_out, line_out + logical_end, offset_out - logical_end);
-							offset_out -= logical_end;
-							for (column = i = 0; i < offset_out; i++) {
-								column = adjust_column(column, line_out[i]);
-							}
-							goto rescan;
+					}
+					if (logical_end >= 0) {
+						/* Found a blank.  Don't output the part after it. */
+						logical_end++;
+						fwrite(line_out, sizeof(char), (size_t) logical_end, stdout);
+						putchar('\n');
+						/* Move the remainder to the beginning of the next line.
+						   The areas being copied here might overlap. */
+						memmove(line_out, line_out + logical_end, offset_out - logical_end);
+						offset_out -= logical_end;
+						for (column = i = 0; i < offset_out; i++) {
+							column = adjust_column(column, line_out[i]);
 						}
-					} else {
-						if (offset_out == 0) {
-							line_out[offset_out++] = c;
-							continue;
-						}
+						goto rescan;
 					}
-					line_out[offset_out++] = '\n';
-					fwrite(line_out, sizeof(char), (size_t) offset_out, stdout);
-					column = offset_out = 0;
-					goto rescan;
+				} else {
+					if (offset_out == 0) {
+						line_out[offset_out++] = c;
+						continue;
+					}
 				}
-
-				line_out[offset_out++] = c;
-			}
-
-			if (offset_out) {
+				line_out[offset_out++] = '\n';
 				fwrite(line_out, sizeof(char), (size_t) offset_out, stdout);
+				column = offset_out = 0;
+				goto rescan;
 			}
 
-			if (ferror(istream) || bb_fclose_nonstdin(istream)) {
-				bb_perror_msg("%s", *argv);	/* Avoid multibyte problems. */
-				errs |= EXIT_FAILURE;
-			}
-		} else {
+			line_out[offset_out++] = c;
+		}
+
+		if (offset_out) {
+			fwrite(line_out, sizeof(char), (size_t) offset_out, stdout);
+		}
+
+		if (ferror(istream) || bb_fclose_nonstdin(istream)) {
+			bb_perror_msg("%s", *argv);	/* Avoid multibyte problems. */
 			errs |= EXIT_FAILURE;
 		}
 	} while (*++argv);




More information about the busybox-cvs mailing list