summaryrefslogtreecommitdiff
path: root/openwrt/package/busybox/patches/190-ash_performance.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2006-10-07 11:57:20 +0000
committerFelix Fietkau <nbd@openwrt.org>2006-10-07 11:57:20 +0000
commitd58a09110ccfa95f06c983fe796806f2e035c9d2 (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /openwrt/package/busybox/patches/190-ash_performance.patch
parentaf034797eeb62b62ac05442d5a688b28ccd0f16b (diff)
downloadmtk-20170518-d58a09110ccfa95f06c983fe796806f2e035c9d2.zip
mtk-20170518-d58a09110ccfa95f06c983fe796806f2e035c9d2.tar.gz
mtk-20170518-d58a09110ccfa95f06c983fe796806f2e035c9d2.tar.bz2
move old kamikaze out of trunk - will put buildroot-ng in there as soon as all the developers are ready
SVN-Revision: 4944
Diffstat (limited to 'openwrt/package/busybox/patches/190-ash_performance.patch')
-rw-r--r--openwrt/package/busybox/patches/190-ash_performance.patch77
1 files changed, 0 insertions, 77 deletions
diff --git a/openwrt/package/busybox/patches/190-ash_performance.patch b/openwrt/package/busybox/patches/190-ash_performance.patch
deleted file mode 100644
index 2231fd7..0000000
--- a/openwrt/package/busybox/patches/190-ash_performance.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-diff -urN busybox.old/shell/ash.c busybox.dev/shell/ash.c
---- busybox.old/shell/ash.c 2005-11-12 22:39:19.853826250 +0100
-+++ busybox.dev/shell/ash.c 2005-11-12 22:39:42.771258500 +0100
-@@ -1414,6 +1414,13 @@
-
- #define NUMBUILTINS (sizeof (builtincmd) / sizeof (struct builtincmd) )
-
-+static const char *safe_applets[] = {
-+ "[", "test", "echo", "cat",
-+ "ln", "cp", "touch", "mkdir", "rm",
-+ "cut", "hexdump", "awk", "sort",
-+ "find", "xargs", "ls", "dd",
-+ "chown", "chmod"
-+};
-
-
- struct cmdentry {
-@@ -2050,6 +2057,19 @@
- static void exitshell(void) __attribute__((__noreturn__));
- static int decode_signal(const char *, int);
-
-+
-+static int is_safe_applet(char *name)
-+{
-+ int n = sizeof(safe_applets) / sizeof(char *);
-+ int i;
-+ for (i = 0; i < n; i++)
-+ if (strcmp(safe_applets[i], name) == 0)
-+ return 1;
-+
-+ return 0;
-+}
-+
-+
- /*
- * This routine is called when an error or an interrupt occurs in an
- * interactive shell and control is returned to the main command loop.
-@@ -3680,6 +3700,7 @@
- clearredir(1);
- envp = environment();
- if (strchr(argv[0], '/') != NULL
-+ || is_safe_applet(argv[0])
- #ifdef CONFIG_FEATURE_SH_STANDALONE_SHELL
- || find_applet_by_name(argv[0])
- #endif
-@@ -3721,6 +3742,18 @@
- tryexec(char *cmd, char **argv, char **envp)
- {
- int repeated = 0;
-+ struct BB_applet *a;
-+ int argc = 0;
-+ char **c;
-+
-+ if(strchr(cmd, '/') == NULL && is_safe_applet(cmd) && (a = find_applet_by_name(cmd)) != NULL) {
-+ c = argv;
-+ while (*c != NULL) {
-+ c++; argc++;
-+ }
-+ bb_applet_name = cmd;
-+ exit(a->main(argc, argv));
-+ }
- #ifdef CONFIG_FEATURE_SH_STANDALONE_SHELL
- int flg_bb = 0;
- char *name = cmd;
-@@ -3919,6 +3952,12 @@
- }
- #endif
-
-+ if (is_safe_applet(name)) {
-+ entry->cmdtype = CMDNORMAL;
-+ entry->u.index = -1;
-+ return;
-+ }
-+
- updatetbl = (path == pathval());
- if (!updatetbl) {
- act |= DO_ALTPATH;