From ea8b252cb30c4b4463df43a5342af95931920f09 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 2 Jun 2010 12:57:26 +0200 Subject: [PATCH] *: 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 --- archival/bzip2.c | 4 ++-- archival/libunarchive/decompress_unxz.c | 2 +- archival/libunarchive/decompress_unzip.c | 2 +- coreutils/head.c | 2 +- coreutils/od_bloaty.c | 2 +- coreutils/tail.c | 8 ++++---- miscutils/less.c | 2 +- modutils/modutils-24.c | 6 ++---- shell/ash.c | 14 ++++++-------- util-linux/fdisk.c | 6 +++--- 10 files changed, 22 insertions(+), 26 deletions(-) diff --git a/archival/bzip2.c b/archival/bzip2.c index f1c84d681..fdb8b9306 100644 --- a/archival/bzip2.c +++ b/archival/bzip2.c @@ -88,7 +88,7 @@ IF_DESKTOP(long long) int bz_write(bz_stream *strm, void* rbuf, ssize_t rlen, vo if (n2 != n) { if (n2 >= 0) errno = 0; /* prevent bogus error message */ - bb_perror_msg(n2 >= 0 ? "short write" : "write error"); + bb_perror_msg(n2 >= 0 ? "short write" : bb_msg_write_error); return -1; } } @@ -118,7 +118,7 @@ IF_DESKTOP(long long) int FAST_FUNC compressStream(unpack_info_t *info UNUSED_PA while (1) { count = full_read(STDIN_FILENO, rbuf, IOBUF_SIZE); if (count < 0) { - bb_perror_msg("read error"); + bb_perror_msg(bb_msg_read_error); total = -1; break; } diff --git a/archival/libunarchive/decompress_unxz.c b/archival/libunarchive/decompress_unxz.c index 3f9392984..1302e29fb 100644 --- a/archival/libunarchive/decompress_unxz.c +++ b/archival/libunarchive/decompress_unxz.c @@ -86,7 +86,7 @@ unpack_xz_stream(int src_fd, int dst_fd) if (rd) { rd = safe_read(src_fd, membuf + insz, rd); if (rd < 0) { - bb_error_msg("read error"); + bb_error_msg(bb_msg_read_error); total = -1; break; } diff --git a/archival/libunarchive/decompress_unzip.c b/archival/libunarchive/decompress_unzip.c index 33e877ec8..bccd0262e 100644 --- a/archival/libunarchive/decompress_unzip.c +++ b/archival/libunarchive/decompress_unzip.c @@ -1072,7 +1072,7 @@ static int top_up(STATE_PARAM unsigned n) bytebuffer_offset = 0; bytebuffer_size = full_read(gunzip_src_fd, &bytebuffer[count], bytebuffer_max - count); if ((int)bytebuffer_size < 0) { - bb_error_msg("read error"); + bb_error_msg(bb_msg_read_error); return 0; } bytebuffer_size += count; diff --git a/coreutils/head.c b/coreutils/head.c index 75189eda8..cc2837411 100644 --- a/coreutils/head.c +++ b/coreutils/head.c @@ -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) diff --git a/coreutils/od_bloaty.c b/coreutils/od_bloaty.c index 6aba0f6bb..a9a45c8d3 100644 --- a/coreutils/od_bloaty.c +++ b/coreutils/od_bloaty.c @@ -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; } } diff --git a/coreutils/tail.c b/coreutils/tail.c index 8fc22f562..6397702a0 100644 --- a/coreutils/tail.c +++ b/coreutils/tail.c @@ -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) { diff --git a/miscutils/less.c b/miscutils/less.c index 848266212..da2cd07af 100644 --- a/miscutils/less.c +++ b/miscutils/less.c @@ -430,7 +430,7 @@ static void read_lines(void) * immediately */ eof_error = 1; } else { - print_statusline("read error"); + print_statusline(bb_msg_read_error); } } #if !ENABLE_FEATURE_LESS_REGEXP diff --git a/modutils/modutils-24.c b/modutils/modutils-24.c index 5c1611c29..7f39e253d 100644 --- a/modutils/modutils-24.c +++ b/modutils/modutils-24.c @@ -3529,20 +3529,18 @@ static void set_tainted(int fd, const char *m_name, /* Check if loading this module will taint the kernel. */ static void check_tainted_module(struct obj_file *f, const char *m_name) { - static const char tainted_file[] ALIGN1 = TAINT_FILENAME; - int fd, kernel_has_tainted; const char *ptr; kernel_has_tainted = 1; - fd = open(tainted_file, O_RDWR); + fd = open(TAINT_FILENAME, O_RDWR); if (fd < 0) { if (errno == ENOENT) kernel_has_tainted = 0; else if (errno == EACCES) kernel_has_tainted = 1; else { - perror(tainted_file); + perror(TAINT_FILENAME); kernel_has_tainted = 0; } } diff --git a/shell/ash.c b/shell/ash.c index d77d9d3c2..08ad0f451 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -119,9 +119,7 @@ enum { NOPTS = ARRAY_SIZE(optletters_optnames) }; /* ============ Misc data */ -static const char homestr[] ALIGN1 = "HOME"; -static const char snlfmt[] ALIGN1 = "%s\n"; -static const char msg_illnum[] ALIGN1 = "Illegal number: %s"; +#define msg_illnum "Illegal number: %s" /* * We enclose jmp_buf in a structure so that we can declare pointers to @@ -2520,7 +2518,7 @@ cdcmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) flags = cdopt(); dest = *argptr; if (!dest) - dest = bltinlookup(homestr); + dest = bltinlookup("HOME"); else if (LONE_DASH(dest)) { dest = bltinlookup("OLDPWD"); flags |= CD_PRINT; @@ -2567,7 +2565,7 @@ cdcmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) /* NOTREACHED */ out: if (flags & CD_PRINT) - out1fmt(snlfmt, curdir); + out1fmt("%s\n", curdir); return 0; } @@ -2583,7 +2581,7 @@ pwdcmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) setpwd(dir, 0); dir = physdir; } - out1fmt(snlfmt, dir); + out1fmt("%s\n", dir); return 0; } @@ -5625,7 +5623,7 @@ exptilde(char *startp, char *p, int flags) done: *p = '\0'; if (*name == '\0') { - home = lookupvar(homestr); + home = lookupvar("HOME"); } else { pw = getpwnam(name); if (pw == NULL) @@ -9857,7 +9855,7 @@ chkmail(void) } if (!mail_var_path_changed && statb.st_mtime != *mtp) { fprintf( - stderr, snlfmt, + stderr, "%s\n", pathopt ? pathopt : "you have mail" ); } diff --git a/util-linux/fdisk.c b/util-linux/fdisk.c index 8e133178d..7227a829e 100644 --- a/util-linux/fdisk.c +++ b/util-linux/fdisk.c @@ -107,9 +107,9 @@ struct partition { unsigned char size4[4]; /* nr of sectors in partition */ } PACKED; -static const char unable_to_open[] ALIGN1 = "can't open '%s'"; -static const char unable_to_read[] ALIGN1 = "can't read from %s"; -static const char unable_to_seek[] ALIGN1 = "can't seek on %s"; +#define unable_to_open "can't open '%s'" +#define unable_to_read "can't read from %s" +#define unable_to_seek "can't seek on %s" enum label_type { LABEL_DOS, LABEL_SUN, LABEL_SGI, LABEL_AIX, LABEL_OSF