save 176 text (92 text 32 bss relative to before last commit)
by making correct use of shf_* functions
This commit is contained in:
parent
320f503391
commit
c2aec39358
9
eval.c
9
eval.c
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
|
|
||||||
__RCSID("$MirOS: src/bin/mksh/eval.c,v 1.14 2006/11/09 23:55:51 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/eval.c,v 1.15 2006/11/10 00:09:27 tg Exp $");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* string expansion
|
* string expansion
|
||||||
@ -717,12 +717,7 @@ varsub(Expand *xp, char *sp, char *word,
|
|||||||
if (Flag(FNOUNSET) && c == 0 && !zero_ok)
|
if (Flag(FNOUNSET) && c == 0 && !zero_ok)
|
||||||
errorf("%s: parameter not set", sp);
|
errorf("%s: parameter not set", sp);
|
||||||
*stypep = 0; /* unqualified variable/string substitution */
|
*stypep = 0; /* unqualified variable/string substitution */
|
||||||
{
|
xp->str = shf_smprintf("%lu", (unsigned long)c);
|
||||||
char tmpbuf[11];
|
|
||||||
|
|
||||||
shf_snprintf(tmpbuf, 11, "%lu", (unsigned long)c);
|
|
||||||
xp->str = str_save(tmpbuf, ATEMP);
|
|
||||||
}
|
|
||||||
return XSUB;
|
return XSUB;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
28
tree.c
28
tree.c
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
|
|
||||||
__RCSID("$MirOS: src/bin/mksh/tree.c,v 1.5 2006/11/09 23:55:52 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/tree.c,v 1.6 2006/11/10 00:09:27 tg Exp $");
|
||||||
|
|
||||||
#define INDENT 4
|
#define INDENT 4
|
||||||
|
|
||||||
@ -369,32 +369,22 @@ vfptreef(struct shf *shf, int indent, const char *fmt, va_list va)
|
|||||||
|
|
||||||
while ((c = *fmt++)) {
|
while ((c = *fmt++)) {
|
||||||
if (c == '%') {
|
if (c == '%') {
|
||||||
long n;
|
|
||||||
char *p;
|
|
||||||
|
|
||||||
switch ((c = *fmt++)) {
|
switch ((c = *fmt++)) {
|
||||||
case 'c':
|
case 'c':
|
||||||
tputc(va_arg(va, int), shf);
|
tputc(va_arg(va, int), shf);
|
||||||
break;
|
break;
|
||||||
case 's':
|
case 's':
|
||||||
p = va_arg(va, char *);
|
shf_puts(va_arg(va, char *), shf);
|
||||||
while (*p)
|
|
||||||
tputc(*p++, shf);
|
|
||||||
break;
|
break;
|
||||||
case 'S': /* word */
|
case 'S': /* word */
|
||||||
p = va_arg(va, char *);
|
tputS(va_arg(va, char *), shf);
|
||||||
tputS(p, shf);
|
break;
|
||||||
|
case 'd': /* decimal */
|
||||||
|
shf_fprintf(shf, "%d", va_arg(va, int));
|
||||||
|
break;
|
||||||
|
case 'u': /* decimal */
|
||||||
|
shf_fprintf(shf, "%u", va_arg(va, unsigned));
|
||||||
break;
|
break;
|
||||||
case 'd': case 'u': { /* decimal */
|
|
||||||
char tmpbuf[12];
|
|
||||||
|
|
||||||
n = (c == 'd') ? (long)va_arg(va, int) :
|
|
||||||
(long)va_arg(va, unsigned int);
|
|
||||||
shf_snprintf((p = tmpbuf), 12,
|
|
||||||
(c == 'd') ? "%ld" : "%lu", n);
|
|
||||||
while (*p)
|
|
||||||
tputc(*p++, shf);
|
|
||||||
} break;
|
|
||||||
case 'T': /* format tree */
|
case 'T': /* format tree */
|
||||||
ptree(va_arg(va, struct op *), indent, shf);
|
ptree(va_arg(va, struct op *), indent, shf);
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user