aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDan Fandrich <dan@coneharvesters.com>2010-09-07 23:38:28 -0700
committerDenys Vlasenko <dvlasenk@redhat.com>2010-09-09 11:48:02 +0200
commit77d48726917e6493a8a077be93bb07b22fd2c209 (patch)
tree71b1d17d7a8a91192d8d0cd3fe0a3dc1028b4a6a /shell
parent95d48f259807c408de731f580bd48cf20dec724a (diff)
downloadbusybox-77d48726917e6493a8a077be93bb07b22fd2c209.tar.gz
Avoid side effects in putc(), which may be implemented as a macro
Signed-off-by: Dan Fandrich <dan@coneharvesters.com> Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 70425b324..f262872ea 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -953,7 +953,8 @@ sharg(union node *arg, FILE *fp)
for (p = arg->narg.text; *p; p++) {
switch ((unsigned char)*p) {
case CTLESC:
- putc(*++p, fp);
+ p++;
+ putc(*p, fp);
break;
case CTLVAR:
putc('$', fp);
@@ -962,8 +963,10 @@ sharg(union node *arg, FILE *fp)
if (subtype == VSLENGTH)
putc('#', fp);
- while (*p != '=')
- putc(*p++, fp);
+ while (*p != '=') {
+ putc(*p, fp);
+ p++;
+ }
if (subtype & VSNUL)
putc(':', fp);