From 5d66e99e6cf1a2393de17e1d5a9753c3c1f0f621 Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Fri, 21 Nov 2008 10:59:01 +0000 Subject: [PATCH] busybox: 1.13.0 ash fix --- package/busybox/busybox-1.13.0-ash.patch | 89 ++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 package/busybox/busybox-1.13.0-ash.patch diff --git a/package/busybox/busybox-1.13.0-ash.patch b/package/busybox/busybox-1.13.0-ash.patch new file mode 100644 index 0000000000..6bfb7219b4 --- /dev/null +++ b/package/busybox/busybox-1.13.0-ash.patch @@ -0,0 +1,89 @@ +diff -urpN busybox-1.13.0/shell/ash.c busybox-1.13.0-ash/shell/ash.c +--- busybox-1.13.0/shell/ash.c 2008-10-30 08:41:32.000000000 +0100 ++++ busybox-1.13.0-ash/shell/ash.c 2008-11-21 11:38:04.000000000 +0100 +@@ -536,6 +536,7 @@ static const char dolatstr[] ALIGN1 = { + #define NHERE 24 + #define NXHERE 25 + #define NNOT 26 ++#define N_NUMBER 27 + + union node; + +@@ -7546,43 +7547,44 @@ commandcmd(int argc UNUSED_PARAM, char * + + /* ============ eval.c */ + +-static int funcblocksize; /* size of structures in function */ +-static int funcstringsize; /* size of strings in node */ +-static void *funcblock; /* block to allocate function from */ +-static char *funcstring; /* block to allocate strings from */ ++static int funcblocksize; /* size of structures in function */ ++static int funcstringsize; /* size of strings in node */ ++static void *funcblock; /* block to allocate function from */ ++static char *funcstring; /* block to allocate strings from */ + + /* flags in argument to evaltree */ +-#define EV_EXIT 01 /* exit after evaluating tree */ +-#define EV_TESTED 02 /* exit status is checked; ignore -e flag */ ++#define EV_EXIT 01 /* exit after evaluating tree */ ++#define EV_TESTED 02 /* exit status is checked; ignore -e flag */ + #define EV_BACKCMD 04 /* command executing within back quotes */ + +-static const short nodesize[26] = { +- SHELL_ALIGN(sizeof(struct ncmd)), +- SHELL_ALIGN(sizeof(struct npipe)), +- SHELL_ALIGN(sizeof(struct nredir)), +- SHELL_ALIGN(sizeof(struct nredir)), +- SHELL_ALIGN(sizeof(struct nredir)), +- SHELL_ALIGN(sizeof(struct nbinary)), +- SHELL_ALIGN(sizeof(struct nbinary)), +- SHELL_ALIGN(sizeof(struct nbinary)), +- SHELL_ALIGN(sizeof(struct nif)), +- SHELL_ALIGN(sizeof(struct nbinary)), +- SHELL_ALIGN(sizeof(struct nbinary)), +- SHELL_ALIGN(sizeof(struct nfor)), +- SHELL_ALIGN(sizeof(struct ncase)), +- SHELL_ALIGN(sizeof(struct nclist)), +- SHELL_ALIGN(sizeof(struct narg)), +- SHELL_ALIGN(sizeof(struct narg)), +- SHELL_ALIGN(sizeof(struct nfile)), +- SHELL_ALIGN(sizeof(struct nfile)), +- SHELL_ALIGN(sizeof(struct nfile)), +- SHELL_ALIGN(sizeof(struct nfile)), +- SHELL_ALIGN(sizeof(struct nfile)), +- SHELL_ALIGN(sizeof(struct ndup)), +- SHELL_ALIGN(sizeof(struct ndup)), +- SHELL_ALIGN(sizeof(struct nhere)), +- SHELL_ALIGN(sizeof(struct nhere)), +- SHELL_ALIGN(sizeof(struct nnot)), ++static const short nodesize[N_NUMBER] = { ++ [NCMD ] = SHELL_ALIGN(sizeof(struct ncmd)), ++ [NPIPE ] = SHELL_ALIGN(sizeof(struct npipe)), ++ [NREDIR ] = SHELL_ALIGN(sizeof(struct nredir)), ++ [NBACKGND ] = SHELL_ALIGN(sizeof(struct nredir)), ++ [NSUBSHELL] = SHELL_ALIGN(sizeof(struct nredir)), ++ [NAND ] = SHELL_ALIGN(sizeof(struct nbinary)), ++ [NOR ] = SHELL_ALIGN(sizeof(struct nbinary)), ++ [NSEMI ] = SHELL_ALIGN(sizeof(struct nbinary)), ++ [NIF ] = SHELL_ALIGN(sizeof(struct nif)), ++ [NWHILE ] = SHELL_ALIGN(sizeof(struct nbinary)), ++ [NUNTIL ] = SHELL_ALIGN(sizeof(struct nbinary)), ++ [NFOR ] = SHELL_ALIGN(sizeof(struct nfor)), ++ [NCASE ] = SHELL_ALIGN(sizeof(struct ncase)), ++ [NCLIST ] = SHELL_ALIGN(sizeof(struct nclist)), ++ [NDEFUN ] = SHELL_ALIGN(sizeof(struct narg)), ++ [NARG ] = SHELL_ALIGN(sizeof(struct narg)), ++ [NTO ] = SHELL_ALIGN(sizeof(struct nfile)), ++ [NTO2 ] = SHELL_ALIGN(sizeof(struct nfile)), ++ [NCLOBBER ] = SHELL_ALIGN(sizeof(struct nfile)), ++ [NFROM ] = SHELL_ALIGN(sizeof(struct nfile)), ++ [NFROMTO ] = SHELL_ALIGN(sizeof(struct nfile)), ++ [NAPPEND ] = SHELL_ALIGN(sizeof(struct nfile)), ++ [NTOFD ] = SHELL_ALIGN(sizeof(struct ndup)), ++ [NFROMFD ] = SHELL_ALIGN(sizeof(struct ndup)), ++ [NHERE ] = SHELL_ALIGN(sizeof(struct nhere)), ++ [NXHERE ] = SHELL_ALIGN(sizeof(struct nhere)), ++ [NNOT ] = SHELL_ALIGN(sizeof(struct nnot)), + }; + + static void calcsize(union node *n);