aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-07-24 01:08:03 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-07-24 01:08:03 +0200
commit7cee00e8ae515400b36e1464e55414ccc569c05b (patch)
tree4903af2dc67129155bd543b68133bf8854c8b923
parente56f22ac6072a6279782951fe7aaf633d4d6052a (diff)
downloadbusybox-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.c13
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
269static int isdigit_str9(const char *str) 269static 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) {