move old kamikaze out of trunk - will put buildroot-ng in there as soon as all the...
[openwrt/openwrt.git] / openwrt / package / busybox / patches / 190-ash_performance.patch
diff --git a/openwrt/package/busybox/patches/190-ash_performance.patch b/openwrt/package/busybox/patches/190-ash_performance.patch
deleted file mode 100644 (file)
index 2231fd7..0000000
+++ /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;