*: better string sharing

text   data    bss    dec    hex filename
 849427    441   7556 857424  d1550 busybox_old
 849355    441   7556 857352  d1508 busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2010-06-02 12:57:26 +02:00
parent 8837c5dec4
commit ea8b252cb3
10 changed files with 22 additions and 26 deletions

View File

@@ -27,7 +27,7 @@ static const struct suffix_mult head_suffixes[] = {
{ "", 0 }
};
static const char header_fmt_str[] ALIGN1 = "\n==> %s <==\n";
#define header_fmt_str "\n==> %s <==\n"
int head_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int head_main(int argc, char **argv)

View File

@@ -502,7 +502,7 @@ check_and_close(void)
}
if (ferror(stdout)) {
bb_error_msg("write error");
bb_error_msg(bb_msg_write_error);
ioerror = 1;
}
}

View File

@@ -66,7 +66,7 @@ static ssize_t tail_read(int fd, char *buf, size_t count)
return r;
}
static const char header_fmt[] ALIGN1 = "\n==> %s <==\n";
#define header_fmt_str "\n==> %s <==\n"
static unsigned eat_num(const char *p)
{
@@ -166,7 +166,7 @@ int tail_main(int argc, char **argv)
tailbuf = xmalloc(tailbufsize);
/* tail the files */
fmt = header_fmt + 1; /* skip header leading newline on first output */
fmt = header_fmt_str + 1; /* skip header leading newline on first output */
i = 0;
do {
char *buf;
@@ -181,7 +181,7 @@ int tail_main(int argc, char **argv)
if (nfiles > header_threshhold) {
tail_xprint_header(fmt, argv[i]);
fmt = header_fmt;
fmt = header_fmt_str;
}
if (!from_top) {
@@ -333,7 +333,7 @@ int tail_main(int argc, char **argv)
if (ENABLE_FEATURE_FANCY_TAIL && fd < 0)
continue;
if (nfiles > header_threshhold) {
fmt = header_fmt;
fmt = header_fmt_str;
}
while ((nread = tail_read(fd, tailbuf, BUFSIZ)) > 0) {
if (fmt) {