New applet, seq. No options, just the basics.
No binary (build failed)
—
(log yok)
| @@ -367,6 +367,12 @@ config CONFIG_RMDIR | |
| help | |
| rmdir is used to remove empty directories. | |
| + | config CONFIG_SEQ |
| + | bool "seq" |
| + | default n |
| + | help |
| + | print a sequence of numbers |
| + | |
| config CONFIG_SHA1SUM | |
| bool "sha1sum" | |
| default n | |
| @@ -63,6 +63,7 @@ COREUTILS-$(CONFIG_PWD) += pwd.o | |
| COREUTILS-$(CONFIG_REALPATH) += realpath.o | |
| COREUTILS-$(CONFIG_RM) += rm.o | |
| COREUTILS-$(CONFIG_RMDIR) += rmdir.o | |
| + | COREUTILS-$(CONFIG_SEQ) += seq.o |
| COREUTILS-$(CONFIG_SHA1SUM) += md5_sha1_sum.o | |
| COREUTILS-$(CONFIG_SLEEP) += sleep.o | |
| COREUTILS-$(CONFIG_SORT) += sort.o | |
| @@ -0,0 +1,44 @@ | |
| + | /* |
| + | * 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. |
| + | * |
| + | * 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. |
| + | */ |
| + | |
| + | #include <stdio.h> |
| + | #include <stdlib.h> |
| + | #include "busybox.h" |
| + | |
| + | 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(); |
| + | } |
| + | last = atof(argv[argc - 1]); |
| + | |
| + | for (i = first; ((first < last) ? (i <= last): (i >= last));i += increment) { |
| + | printf("%g\n", i); |
| + | } |
| + | |
| + | return(EXIT_SUCCESS); |
| + | } |
| @@ -508,6 +508,9 @@ | |
| #ifdef CONFIG_SED | |
| APPLET(sed, sed_main, _BB_DIR_BIN, _BB_SUID_NEVER) | |
| #endif | |
| + | #ifdef CONFIG_SEQ |
| + | APPLET(seq, seq_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) |
| + | #endif |
| #ifdef CONFIG_SETKEYCODES | |
| APPLET(setkeycodes, setkeycodes_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) | |
| #endif | |
| @@ -682,4 +685,3 @@ | |
| }; | |
| #endif | |
| - | |
| @@ -2094,6 +2094,16 @@ | |
| "$ echo "foo" | sed -e 's/f[a-zA-Z]o/bar/g'\n" \ | |
| "bar\n" | |
| + | #define seq_trivial_usage \ |
| + | "[first [increment]] last" |
| + | #define seq_full_usage \ |
| + | "Print numbers from FIRST to LAST, in steps of INCREMENT.\n" \ |
| + | "FIRST, INCREMENT default to 1\n" \ |
| + | "Arguments:\n" \ |
| + | "\tLAST\n" \ |
| + | "\tFIRST\tLAST\n" \ |
| + | "\tFIRST\tINCREMENT\tLAST\n" |
| + | |
| #define setkeycodes_trivial_usage \ | |
| "SCANCODE KEYCODE ..." | |
| #define setkeycodes_full_usage \ | |