diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2010-09-14 14:04:58 +1000 |
---|---|---|
committer | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2010-09-14 14:04:58 +1000 |
commit | f28d4b20905b5b1f52ffa52060a0c6caf4b055ba (patch) | |
tree | 26196b8132f10ca96ac52d4aedc155138b475118 | |
parent | 0c9d2455301ed633826e222aacd930126990913e (diff) | |
parent | 0004e994934374b5695e004bbcb7b1fd67a170f2 (diff) | |
download | busybox-w32-f28d4b20905b5b1f52ffa52060a0c6caf4b055ba.tar.gz busybox-w32-f28d4b20905b5b1f52ffa52060a0c6caf4b055ba.tar.bz2 busybox-w32-f28d4b20905b5b1f52ffa52060a0c6caf4b055ba.zip |
Merge branch 'origin/master' (early part)
Conflicts:
include/libbb.h
libbb/messages.c
-rw-r--r-- | include/libbb.h | 35 | ||||
-rw-r--r-- | libbb/Kbuild.src | 1 | ||||
-rw-r--r-- | libbb/inet_common.c | 6 | ||||
-rw-r--r-- | libbb/messages.c | 13 | ||||
-rw-r--r-- | libbb/mtab_file.c | 15 | ||||
-rw-r--r-- | networking/ifconfig.c | 2 | ||||
-rw-r--r-- | networking/libiproute/utils.c | 4 | ||||
-rw-r--r-- | networking/route.c | 4 |
8 files changed, 34 insertions, 46 deletions
diff --git a/include/libbb.h b/include/libbb.h index 7c0ff9de0..75f12467e 100644 --- a/include/libbb.h +++ b/include/libbb.h | |||
@@ -1589,12 +1589,22 @@ void bb_progress_update(bb_progress_t *p, const char *curfile, | |||
1589 | off_t totalsize) FAST_FUNC; | 1589 | off_t totalsize) FAST_FUNC; |
1590 | 1590 | ||
1591 | extern const char *applet_name; | 1591 | extern const char *applet_name; |
1592 | |||
1593 | /* Some older linkers don't perform string merging, we used to have common strings | ||
1594 | * as global arrays to do it by hand. But: | ||
1595 | * (1) newer linkers do it themselves, | ||
1596 | * (2) however, they DONT merge string constants with global arrays, | ||
1597 | * even if the value is the same (!). Thus global arrays actually | ||
1598 | * increased size a bit: for example, "/etc/passwd" string from libc | ||
1599 | * wasn't merged with bb_path_passwd_file[] array! | ||
1600 | * Therefore now we use #defines. | ||
1601 | */ | ||
1592 | /* "BusyBox vN.N.N (timestamp or extra_version)" */ | 1602 | /* "BusyBox vN.N.N (timestamp or extra_version)" */ |
1593 | extern const char bb_banner[]; | 1603 | extern const char bb_banner[]; |
1594 | extern const char bb_msg_memory_exhausted[]; | 1604 | extern const char bb_msg_memory_exhausted[]; |
1595 | extern const char bb_msg_invalid_date[]; | 1605 | extern const char bb_msg_invalid_date[]; |
1596 | extern const char bb_msg_read_error[]; | 1606 | #define bb_msg_read_error "read error" |
1597 | extern const char bb_msg_write_error[]; | 1607 | #define bb_msg_write_error "write error" |
1598 | extern const char bb_msg_unknown[]; | 1608 | extern const char bb_msg_unknown[]; |
1599 | extern const char bb_msg_can_not_create_raw_socket[]; | 1609 | extern const char bb_msg_can_not_create_raw_socket[]; |
1600 | extern const char bb_msg_perm_denied_are_you_root[]; | 1610 | extern const char bb_msg_perm_denied_are_you_root[]; |
@@ -1604,23 +1614,28 @@ extern const char bb_msg_invalid_arg[]; | |||
1604 | extern const char bb_msg_standard_input[]; | 1614 | extern const char bb_msg_standard_input[]; |
1605 | extern const char bb_msg_standard_output[]; | 1615 | extern const char bb_msg_standard_output[]; |
1606 | 1616 | ||
1607 | extern const char bb_str_default[]; | ||
1608 | /* NB: (bb_hexdigits_upcase[i] | 0x20) -> lowercase hex digit */ | 1617 | /* NB: (bb_hexdigits_upcase[i] | 0x20) -> lowercase hex digit */ |
1609 | extern const char bb_hexdigits_upcase[]; | 1618 | extern const char bb_hexdigits_upcase[]; |
1610 | 1619 | ||
1611 | extern const char bb_path_mtab_file[]; | ||
1612 | extern const char bb_path_passwd_file[]; | ||
1613 | extern const char bb_path_shadow_file[]; | ||
1614 | extern const char bb_path_gshadow_file[]; | ||
1615 | extern const char bb_path_group_file[]; | ||
1616 | extern const char bb_path_motd_file[]; | ||
1617 | extern const char bb_path_wtmp_file[]; | 1620 | extern const char bb_path_wtmp_file[]; |
1618 | extern const char bb_dev_null[]; | ||
1619 | #if ENABLE_PLATFORM_MINGW32 | 1621 | #if ENABLE_PLATFORM_MINGW32 |
1620 | #define bb_busybox_exec_path get_busybox_exec_path() | 1622 | #define bb_busybox_exec_path get_busybox_exec_path() |
1621 | #else | 1623 | #else |
1622 | extern const char bb_busybox_exec_path[]; | 1624 | extern const char bb_busybox_exec_path[]; |
1623 | #endif | 1625 | #endif |
1626 | |||
1627 | /* Busybox mount uses either /proc/mounts or /etc/mtab to | ||
1628 | * get the list of currently mounted filesystems */ | ||
1629 | #define bb_path_mtab_file IF_FEATURE_MTAB_SUPPORT("/etc/mtab")IF_NOT_FEATURE_MTAB_SUPPORT("/proc/mounts") | ||
1630 | |||
1631 | #define bb_path_passwd_file "/etc/passwd" | ||
1632 | #define bb_path_shadow_file "/etc/shadow" | ||
1633 | #define bb_path_gshadow_file "/etc/gshadow" | ||
1634 | #define bb_path_group_file "/etc/group" | ||
1635 | |||
1636 | #define bb_path_motd_file "/etc/motd" | ||
1637 | |||
1638 | #define bb_dev_null "/dev/null" | ||
1624 | /* util-linux manpage says /sbin:/bin:/usr/sbin:/usr/bin, | 1639 | /* util-linux manpage says /sbin:/bin:/usr/sbin:/usr/bin, |
1625 | * but I want to save a few bytes here */ | 1640 | * but I want to save a few bytes here */ |
1626 | extern const char bb_PATH_root_path[]; /* "PATH=/sbin:/usr/sbin:/bin:/usr/bin" */ | 1641 | extern const char bb_PATH_root_path[]; /* "PATH=/sbin:/usr/sbin:/bin:/usr/bin" */ |
diff --git a/libbb/Kbuild.src b/libbb/Kbuild.src index 4fbf486b5..f30fa4818 100644 --- a/libbb/Kbuild.src +++ b/libbb/Kbuild.src | |||
@@ -57,7 +57,6 @@ lib-y += md5.o | |||
57 | #lib-y += md5prime.o | 57 | #lib-y += md5prime.o |
58 | lib-y += messages.o | 58 | lib-y += messages.o |
59 | lib-y += mode_string.o | 59 | lib-y += mode_string.o |
60 | lib-y += mtab_file.o | ||
61 | lib-y += obscure.o | 60 | lib-y += obscure.o |
62 | lib-y += parse_mode.o | 61 | lib-y += parse_mode.o |
63 | lib-y += parse_config.o | 62 | lib-y += parse_config.o |
diff --git a/libbb/inet_common.c b/libbb/inet_common.c index b47259089..e031ddf9b 100644 --- a/libbb/inet_common.c +++ b/libbb/inet_common.c | |||
@@ -23,7 +23,7 @@ int FAST_FUNC INET_resolve(const char *name, struct sockaddr_in *s_in, int hostf | |||
23 | s_in->sin_port = 0; | 23 | s_in->sin_port = 0; |
24 | 24 | ||
25 | /* Default is special, meaning 0.0.0.0. */ | 25 | /* Default is special, meaning 0.0.0.0. */ |
26 | if (!strcmp(name, bb_str_default)) { | 26 | if (strcmp(name, "default") == 0) { |
27 | s_in->sin_addr.s_addr = INADDR_ANY; | 27 | s_in->sin_addr.s_addr = INADDR_ANY; |
28 | return 1; | 28 | return 1; |
29 | } | 29 | } |
@@ -109,7 +109,7 @@ char* FAST_FUNC INET_rresolve(struct sockaddr_in *s_in, int numeric, uint32_t ne | |||
109 | if (ad == INADDR_ANY) { | 109 | if (ad == INADDR_ANY) { |
110 | if ((numeric & 0x0FFF) == 0) { | 110 | if ((numeric & 0x0FFF) == 0) { |
111 | if (numeric & 0x8000) | 111 | if (numeric & 0x8000) |
112 | return xstrdup(bb_str_default); | 112 | return xstrdup("default"); |
113 | return xstrdup("*"); | 113 | return xstrdup("*"); |
114 | } | 114 | } |
115 | } | 115 | } |
@@ -205,7 +205,7 @@ char* FAST_FUNC INET6_rresolve(struct sockaddr_in6 *sin6, int numeric) | |||
205 | } | 205 | } |
206 | if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { | 206 | if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { |
207 | if (numeric & 0x8000) | 207 | if (numeric & 0x8000) |
208 | return xstrdup(bb_str_default); | 208 | return xstrdup("default"); |
209 | return xstrdup("*"); | 209 | return xstrdup("*"); |
210 | } | 210 | } |
211 | 211 | ||
diff --git a/libbb/messages.c b/libbb/messages.c index 0c13449c0..3c3ec3519 100644 --- a/libbb/messages.c +++ b/libbb/messages.c | |||
@@ -24,8 +24,6 @@ const char bb_banner[] ALIGN1 = BANNER; | |||
24 | 24 | ||
25 | const char bb_msg_memory_exhausted[] ALIGN1 = "memory exhausted"; | 25 | const char bb_msg_memory_exhausted[] ALIGN1 = "memory exhausted"; |
26 | const char bb_msg_invalid_date[] ALIGN1 = "invalid date '%s'"; | 26 | const char bb_msg_invalid_date[] ALIGN1 = "invalid date '%s'"; |
27 | const char bb_msg_write_error[] ALIGN1 = "write error"; | ||
28 | const char bb_msg_read_error[] ALIGN1 = "read error"; | ||
29 | const char bb_msg_unknown[] ALIGN1 = "(unknown)"; | 27 | const char bb_msg_unknown[] ALIGN1 = "(unknown)"; |
30 | const char bb_msg_can_not_create_raw_socket[] ALIGN1 = "can't create raw socket"; | 28 | const char bb_msg_can_not_create_raw_socket[] ALIGN1 = "can't create raw socket"; |
31 | const char bb_msg_perm_denied_are_you_root[] ALIGN1 = "permission denied (are you root?)"; | 29 | const char bb_msg_perm_denied_are_you_root[] ALIGN1 = "permission denied (are you root?)"; |
@@ -35,18 +33,9 @@ const char bb_msg_invalid_arg[] ALIGN1 = "invalid argument '%s' to '%s'"; | |||
35 | const char bb_msg_standard_input[] ALIGN1 = "standard input"; | 33 | const char bb_msg_standard_input[] ALIGN1 = "standard input"; |
36 | const char bb_msg_standard_output[] ALIGN1 = "standard output"; | 34 | const char bb_msg_standard_output[] ALIGN1 = "standard output"; |
37 | 35 | ||
38 | const char bb_str_default[] ALIGN1 = "default"; | ||
39 | const char bb_hexdigits_upcase[] ALIGN1 = "0123456789ABCDEF"; | 36 | const char bb_hexdigits_upcase[] ALIGN1 = "0123456789ABCDEF"; |
40 | 37 | ||
41 | const char bb_path_passwd_file[] ALIGN1 = "/etc/passwd"; | 38 | #if !ENABLE_PLATFORM_MINGW32 |
42 | const char bb_path_shadow_file[] ALIGN1 = "/etc/shadow"; | ||
43 | const char bb_path_group_file[] ALIGN1 = "/etc/group"; | ||
44 | const char bb_path_gshadow_file[] ALIGN1 = "/etc/gshadow"; | ||
45 | const char bb_path_motd_file[] ALIGN1 = "/etc/motd"; | ||
46 | const char bb_dev_null[] ALIGN1 = "/dev/null"; | ||
47 | #if ENABLE_PLATFORM_MINGW32 | ||
48 | /* bb_busybox_exec_path is redefined to get_busybox_exec_path() in libbb.h */ | ||
49 | #else | ||
50 | const char bb_busybox_exec_path[] ALIGN1 = CONFIG_BUSYBOX_EXEC_PATH; | 39 | const char bb_busybox_exec_path[] ALIGN1 = CONFIG_BUSYBOX_EXEC_PATH; |
51 | #endif | 40 | #endif |
52 | const char bb_default_login_shell[] ALIGN1 = LIBBB_DEFAULT_LOGIN_SHELL; | 41 | const char bb_default_login_shell[] ALIGN1 = LIBBB_DEFAULT_LOGIN_SHELL; |
diff --git a/libbb/mtab_file.c b/libbb/mtab_file.c deleted file mode 100644 index add990ded..000000000 --- a/libbb/mtab_file.c +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | /* vi: set sw=4 ts=4: */ | ||
2 | /* | ||
3 | * Utility routines. | ||
4 | * | ||
5 | * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org> | ||
6 | * | ||
7 | * Licensed under GPLv2 or later, see file LICENSE in this source tree. | ||
8 | */ | ||
9 | |||
10 | #include "libbb.h" | ||
11 | |||
12 | /* Busybox mount uses either /proc/mounts or /etc/mtab to | ||
13 | * get the list of currently mounted filesystems */ | ||
14 | const char bb_path_mtab_file[] ALIGN1 = | ||
15 | IF_FEATURE_MTAB_SUPPORT("/etc/mtab")IF_NOT_FEATURE_MTAB_SUPPORT("/proc/mounts"); | ||
diff --git a/networking/ifconfig.c b/networking/ifconfig.c index 853910f67..da2635ce0 100644 --- a/networking/ifconfig.c +++ b/networking/ifconfig.c | |||
@@ -370,7 +370,7 @@ int ifconfig_main(int argc UNUSED_PARAM, char **argv) | |||
370 | #endif | 370 | #endif |
371 | sai.sin_family = AF_INET; | 371 | sai.sin_family = AF_INET; |
372 | sai.sin_port = 0; | 372 | sai.sin_port = 0; |
373 | if (!strcmp(host, bb_str_default)) { | 373 | if (strcmp(host, "default") == 0) { |
374 | /* Default is special, meaning 0.0.0.0. */ | 374 | /* Default is special, meaning 0.0.0.0. */ |
375 | sai.sin_addr.s_addr = INADDR_ANY; | 375 | sai.sin_addr.s_addr = INADDR_ANY; |
376 | } | 376 | } |
diff --git a/networking/libiproute/utils.c b/networking/libiproute/utils.c index 5125617c7..2b646f0ea 100644 --- a/networking/libiproute/utils.c +++ b/networking/libiproute/utils.c | |||
@@ -64,7 +64,7 @@ int get_addr_1(inet_prefix *addr, char *name, int family) | |||
64 | { | 64 | { |
65 | memset(addr, 0, sizeof(*addr)); | 65 | memset(addr, 0, sizeof(*addr)); |
66 | 66 | ||
67 | if (strcmp(name, bb_str_default) == 0 | 67 | if (strcmp(name, "default") == 0 |
68 | || strcmp(name, "all") == 0 | 68 | || strcmp(name, "all") == 0 |
69 | || strcmp(name, "any") == 0 | 69 | || strcmp(name, "any") == 0 |
70 | ) { | 70 | ) { |
@@ -103,7 +103,7 @@ static int get_prefix_1(inet_prefix *dst, char *arg, int family) | |||
103 | 103 | ||
104 | memset(dst, 0, sizeof(*dst)); | 104 | memset(dst, 0, sizeof(*dst)); |
105 | 105 | ||
106 | if (strcmp(arg, bb_str_default) == 0 | 106 | if (strcmp(arg, "default") == 0 |
107 | || strcmp(arg, "all") == 0 | 107 | || strcmp(arg, "all") == 0 |
108 | || strcmp(arg, "any") == 0 | 108 | || strcmp(arg, "any") == 0 |
109 | ) { | 109 | ) { |
diff --git a/networking/route.c b/networking/route.c index c72e9457f..98567aaee 100644 --- a/networking/route.c +++ b/networking/route.c | |||
@@ -185,7 +185,7 @@ static NOINLINE void INET_setroute(int action, char **args) | |||
185 | #endif | 185 | #endif |
186 | } else { | 186 | } else { |
187 | /* Default netmask. */ | 187 | /* Default netmask. */ |
188 | netmask = bb_str_default; | 188 | netmask = "default"; |
189 | } | 189 | } |
190 | /* Prefer hostname lookup is -host flag (xflag==1) was given. */ | 190 | /* Prefer hostname lookup is -host flag (xflag==1) was given. */ |
191 | isnet = INET_resolve(target, (struct sockaddr_in *) &rt.rt_dst, | 191 | isnet = INET_resolve(target, (struct sockaddr_in *) &rt.rt_dst, |
@@ -346,7 +346,7 @@ static NOINLINE void INET6_setroute(int action, char **args) | |||
346 | /* We know args isn't NULL from the check in route_main. */ | 346 | /* We know args isn't NULL from the check in route_main. */ |
347 | const char *target = *args++; | 347 | const char *target = *args++; |
348 | 348 | ||
349 | if (strcmp(target, bb_str_default) == 0) { | 349 | if (strcmp(target, "default") == 0) { |
350 | prefix_len = 0; | 350 | prefix_len = 0; |
351 | memset(&sa6, 0, sizeof(sa6)); | 351 | memset(&sa6, 0, sizeof(sa6)); |
352 | } else { | 352 | } else { |