diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-07-24 01:08:03 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-07-24 01:08:03 +0200 |
commit | 7cee00e8ae515400b36e1464e55414ccc569c05b (patch) | |
tree | 4903af2dc67129155bd543b68133bf8854c8b923 | |
parent | e56f22ac6072a6279782951fe7aaf633d4d6052a (diff) | |
download | busybox-w32-7cee00e8ae515400b36e1464e55414ccc569c05b.tar.gz busybox-w32-7cee00e8ae515400b36e1464e55414ccc569c05b.tar.bz2 busybox-w32-7cee00e8ae515400b36e1464e55414ccc569c05b.zip |
ash: further fixes to debug machinery (closes bug 485)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | shell/ash.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/shell/ash.c b/shell/ash.c index 613a66dbc..3755202eb 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -263,7 +263,7 @@ static void trace_vprintf(const char *fmt, va_list va); | |||
263 | /* ============ Utility functions */ | 263 | /* ============ Utility functions */ |
264 | #define xbarrier() do { __asm__ __volatile__ ("": : :"memory"); } while (0) | 264 | #define xbarrier() do { __asm__ __volatile__ ("": : :"memory"); } while (0) |
265 | 265 | ||
266 | /* C99 say: "char" declaration may be signed or unsigned by default */ | 266 | /* C99 says: "char" declaration may be signed or unsigned by default */ |
267 | #define signed_char2int(sc) ((int)(signed char)(sc)) | 267 | #define signed_char2int(sc) ((int)(signed char)(sc)) |
268 | 268 | ||
269 | static int isdigit_str9(const char *str) | 269 | static int isdigit_str9(const char *str) |
@@ -988,7 +988,7 @@ shtree(union node *n, int ind, char *pfx, FILE *fp) | |||
988 | break; | 988 | break; |
989 | case NPIPE: | 989 | case NPIPE: |
990 | for (lp = n->npipe.cmdlist; lp; lp = lp->next) { | 990 | for (lp = n->npipe.cmdlist; lp; lp = lp->next) { |
991 | shcmd(lp->n, fp); | 991 | shtree(lp->n, 0, NULL, fp); |
992 | if (lp->next) | 992 | if (lp->next) |
993 | fputs(" | ", fp); | 993 | fputs(" | ", fp); |
994 | } | 994 | } |
@@ -4387,11 +4387,12 @@ cmdtxt(union node *n) | |||
4387 | cmdputs("if "); | 4387 | cmdputs("if "); |
4388 | cmdtxt(n->nif.test); | 4388 | cmdtxt(n->nif.test); |
4389 | cmdputs("; then "); | 4389 | cmdputs("; then "); |
4390 | n = n->nif.ifpart; | ||
4391 | if (n->nif.elsepart) { | 4390 | if (n->nif.elsepart) { |
4392 | cmdtxt(n); | 4391 | cmdtxt(n->nif.ifpart); |
4393 | cmdputs("; else "); | 4392 | cmdputs("; else "); |
4394 | n = n->nif.elsepart; | 4393 | n = n->nif.elsepart; |
4394 | } else { | ||
4395 | n = n->nif.ifpart; | ||
4395 | } | 4396 | } |
4396 | p = "; fi"; | 4397 | p = "; fi"; |
4397 | goto dotail; | 4398 | goto dotail; |
@@ -11859,8 +11860,8 @@ cmdloop(int top) | |||
11859 | #endif | 11860 | #endif |
11860 | } | 11861 | } |
11861 | n = parsecmd(inter); | 11862 | n = parsecmd(inter); |
11862 | #if DEBUG > 2 | 11863 | #if DEBUG |
11863 | if (debug && (n != NODE_EOF)) | 11864 | if (DEBUG > 2 && debug && (n != NODE_EOF)) |
11864 | showtree(n); | 11865 | showtree(n); |
11865 | #endif | 11866 | #endif |
11866 | if (n == NODE_EOF) { | 11867 | if (n == NODE_EOF) { |