diff options
Diffstat (limited to 'bin/sh/var.c')
-rw-r--r-- | bin/sh/var.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/bin/sh/var.c b/bin/sh/var.c index 3bba368..6c0618f 100644 --- a/bin/sh/var.c +++ b/bin/sh/var.c @@ -633,10 +633,10 @@ showvarscmd(int argc __unused, char **argv __unused) qsort(vars, n, sizeof(*vars), var_compare); for (i = 0; i < n; i++) { - for (s = vars[i]; *s != '='; s++) - out1c(*s); - out1c('='); - out1qstr(s + 1); + s = strchr(vars[i], '='); + s++; + outbin(vars[i], s - vars[i], out1); + out1qstr(s); out1c('\n'); } ckfree(vars); @@ -710,12 +710,15 @@ found:; out1str(cmdname); out1c(' '); } - for (p = vp->text ; *p != '=' ; p++) - out1c(*p); + p = strchr(vp->text, '='); if (values && !(vp->flags & VUNSET)) { - out1c('='); - out1qstr(p + 1); - } + p++; + outbin(vp->text, p - vp->text, + out1); + out1qstr(p); + } else + outbin(vp->text, p - vp->text, + out1); out1c('\n'); } } |