aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-06-02 12:57:26 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2010-06-02 12:57:26 +0200
commitea8b252cb30c4b4463df43a5342af95931920f09 (patch)
treeb32f4cfd202c9b98cbb2a59bb5a629275e1b4119 /shell
parent8837c5dec402fd6782589c0a676bc7f90dea4061 (diff)
downloadbusybox-w32-ea8b252cb30c4b4463df43a5342af95931920f09.tar.gz
busybox-w32-ea8b252cb30c4b4463df43a5342af95931920f09.tar.bz2
busybox-w32-ea8b252cb30c4b4463df43a5342af95931920f09.zip
*: 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>
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c14
1 files changed, 6 insertions, 8 deletions
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) };
119 119
120/* ============ Misc data */ 120/* ============ Misc data */
121 121
122static const char homestr[] ALIGN1 = "HOME"; 122#define msg_illnum "Illegal number: %s"
123static const char snlfmt[] ALIGN1 = "%s\n";
124static const char msg_illnum[] ALIGN1 = "Illegal number: %s";
125 123
126/* 124/*
127 * We enclose jmp_buf in a structure so that we can declare pointers to 125 * 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)
2520 flags = cdopt(); 2518 flags = cdopt();
2521 dest = *argptr; 2519 dest = *argptr;
2522 if (!dest) 2520 if (!dest)
2523 dest = bltinlookup(homestr); 2521 dest = bltinlookup("HOME");
2524 else if (LONE_DASH(dest)) { 2522 else if (LONE_DASH(dest)) {
2525 dest = bltinlookup("OLDPWD"); 2523 dest = bltinlookup("OLDPWD");
2526 flags |= CD_PRINT; 2524 flags |= CD_PRINT;
@@ -2567,7 +2565,7 @@ cdcmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
2567 /* NOTREACHED */ 2565 /* NOTREACHED */
2568 out: 2566 out:
2569 if (flags & CD_PRINT) 2567 if (flags & CD_PRINT)
2570 out1fmt(snlfmt, curdir); 2568 out1fmt("%s\n", curdir);
2571 return 0; 2569 return 0;
2572} 2570}
2573 2571
@@ -2583,7 +2581,7 @@ pwdcmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
2583 setpwd(dir, 0); 2581 setpwd(dir, 0);
2584 dir = physdir; 2582 dir = physdir;
2585 } 2583 }
2586 out1fmt(snlfmt, dir); 2584 out1fmt("%s\n", dir);
2587 return 0; 2585 return 0;
2588} 2586}
2589 2587
@@ -5625,7 +5623,7 @@ exptilde(char *startp, char *p, int flags)
5625 done: 5623 done:
5626 *p = '\0'; 5624 *p = '\0';
5627 if (*name == '\0') { 5625 if (*name == '\0') {
5628 home = lookupvar(homestr); 5626 home = lookupvar("HOME");
5629 } else { 5627 } else {
5630 pw = getpwnam(name); 5628 pw = getpwnam(name);
5631 if (pw == NULL) 5629 if (pw == NULL)
@@ -9857,7 +9855,7 @@ chkmail(void)
9857 } 9855 }
9858 if (!mail_var_path_changed && statb.st_mtime != *mtp) { 9856 if (!mail_var_path_changed && statb.st_mtime != *mtp) {
9859 fprintf( 9857 fprintf(
9860 stderr, snlfmt, 9858 stderr, "%s\n",
9861 pathopt ? pathopt : "you have mail" 9859 pathopt ? pathopt : "you have mail"
9862 ); 9860 );
9863 } 9861 }