svn commit: trunk/busybox/coreutils

landley at busybox.net landley at busybox.net
Thu Feb 23 19:54:50 UTC 2006


Author: landley
Date: 2006-02-23 11:54:48 -0800 (Thu, 23 Feb 2006)
New Revision: 14246

Log:
"sed 2 -2 10" was very unhappy.  Made the thing bigger fixing it, 
fiddled a bit to get the size back down as much as I could...


Modified:
   trunk/busybox/coreutils/seq.c


Changeset:
Modified: trunk/busybox/coreutils/seq.c
===================================================================
--- trunk/busybox/coreutils/seq.c	2006-02-23 17:21:39 UTC (rev 14245)
+++ trunk/busybox/coreutils/seq.c	2006-02-23 19:54:48 UTC (rev 14246)
@@ -2,18 +2,9 @@
 /*
  * seq implementation for busybox
  *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of version 2 of the GNU General Public License as
- *  published by the Free Software Foundation.
+ * Copyright (C) 2004, Glenn McGrath
  *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Library General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Licensed under the GPL v2, see the file LICENSE in this tarball.
  */
 
 #include <stdio.h>
@@ -22,30 +13,30 @@
 
 extern int seq_main(int argc, char **argv)
 {
-	double last;
-	double first = 1;
-	double increment = 1;
-	double i;
-
-	if (argc == 4) {
-		first = atof(argv[1]);
-		increment = atof(argv[2]);
-	} else if (argc == 3) {
-		first = atof(argv[1]);
-	} else if (argc != 2) {
-		bb_show_usage();
+	double last, first, increment, i;
+	
+	first = increment = 1;
+	switch (argc) {
+		case 4:
+			increment=atof(argv[2]);
+		case 3:
+			first=atof(argv[1]);
+		case 2:
+			last=atof(argv[argc -1]);
+			break;
+		default:
+			bb_show_usage();
 	}
-	last = atof(argv[argc - 1]);
 
 	/* You should note that this is pos-5.0.91 semantics, -- FK. */
-	if ((first > last) && (increment > 0)) {
-		return EXIT_SUCCESS;
+	if (first < last ? increment > 0 : increment < 0) {
+		for (i = first;
+			 (first < last) ? (i <= last) : (i >= last);
+			 i += increment)
+		{
+				printf("%g\n", i);
+		}
 	}
 
-	for (i = first; ((first <= last) ? (i <= last) : (i >= last));
-	     i += increment) {
-		printf("%g\n", i);
-	}
-
 	return EXIT_SUCCESS;
 }




More information about the busybox-cvs mailing list