summaryrefslogtreecommitdiffstats
path: root/bin/sh/var.c
diff options
context:
space:
mode:
authorjilles <jilles@FreeBSD.org>2010-11-20 14:14:52 +0000
committerjilles <jilles@FreeBSD.org>2010-11-20 14:14:52 +0000
commit6915411ab291af6eba93647d13c0aa6714621fa2 (patch)
treebb660239ff9ba03cd107817f9d8d00fabdba49a1 /bin/sh/var.c
parent6a4a2e62a216ff7f70e10196bcdc7b3f4f76cad8 (diff)
downloadFreeBSD-src-6915411ab291af6eba93647d13c0aa6714621fa2.zip
FreeBSD-src-6915411ab291af6eba93647d13c0aa6714621fa2.tar.gz
sh: Code size optimizations to buffered output.
This is mainly less use of the outc macro. No functional change is intended, but code size is about 2K less on i386.
Diffstat (limited to 'bin/sh/var.c')
-rw-r--r--bin/sh/var.c21
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');
}
}
OpenPOWER on IntegriCloud