diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-03-14 22:11:20 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-03-14 22:11:20 +0000 |
commit | 7f2527e5a7f513b9f415643ddc0ecd236b596887 (patch) | |
tree | 710d52b0a41425e8e82ad3ea5c674b5f61264cf7 /networking/interface.c | |
parent | 650a0459b87314fc412dc81a2a863fefb969ca37 (diff) | |
download | busybox-w32-7f2527e5a7f513b9f415643ddc0ecd236b596887.tar.gz busybox-w32-7f2527e5a7f513b9f415643ddc0ecd236b596887.tar.bz2 busybox-w32-7f2527e5a7f513b9f415643ddc0ecd236b596887.zip |
arp, networking/interface.c: eliminate statics
and unneeded on-stack buffers, disable (comment out)
some apparently unused (and buggy) code paths. -700 bytes.
Diffstat (limited to 'networking/interface.c')
-rw-r--r-- | networking/interface.c | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/networking/interface.c b/networking/interface.c index c03471238..262b97879 100644 --- a/networking/interface.c +++ b/networking/interface.c | |||
@@ -82,12 +82,12 @@ struct in6_ifreq { | |||
82 | #endif | 82 | #endif |
83 | 83 | ||
84 | /* Display an Internet socket address. */ | 84 | /* Display an Internet socket address. */ |
85 | static char *INET_sprint(struct sockaddr *sap, int numeric) | 85 | static const char *INET_sprint(struct sockaddr *sap, int numeric) |
86 | { | 86 | { |
87 | static char buff[128]; | 87 | static char buff[128]; |
88 | 88 | ||
89 | if (sap->sa_family == 0xFFFF || sap->sa_family == 0) | 89 | if (sap->sa_family == 0xFFFF || sap->sa_family == 0) |
90 | return safe_strncpy(buff, "[NONE SET]", sizeof(buff)); | 90 | return "[NONE SET]"; |
91 | 91 | ||
92 | if (INET_rresolve(buff, sizeof(buff), (struct sockaddr_in *) sap, | 92 | if (INET_rresolve(buff, sizeof(buff), (struct sockaddr_in *) sap, |
93 | numeric, 0xffffff00) != 0) | 93 | numeric, 0xffffff00) != 0) |
@@ -96,6 +96,7 @@ static char *INET_sprint(struct sockaddr *sap, int numeric) | |||
96 | return buff; | 96 | return buff; |
97 | } | 97 | } |
98 | 98 | ||
99 | #ifdef UNUSED_AND_BUGGY | ||
99 | static int INET_getsock(char *bufp, struct sockaddr *sap) | 100 | static int INET_getsock(char *bufp, struct sockaddr *sap) |
100 | { | 101 | { |
101 | char *sp = bufp, *bp; | 102 | char *sp = bufp, *bp; |
@@ -136,9 +137,12 @@ static int INET_getsock(char *bufp, struct sockaddr *sap) | |||
136 | 137 | ||
137 | return (sp - bufp); | 138 | return (sp - bufp); |
138 | } | 139 | } |
140 | #endif | ||
139 | 141 | ||
140 | static int INET_input(int type, char *bufp, struct sockaddr *sap) | 142 | static int INET_input(/*int type,*/ const char *bufp, struct sockaddr *sap) |
141 | { | 143 | { |
144 | return INET_resolve(bufp, (struct sockaddr_in *) sap, 0); | ||
145 | /* | ||
142 | switch (type) { | 146 | switch (type) { |
143 | case 1: | 147 | case 1: |
144 | return (INET_getsock(bufp, sap)); | 148 | return (INET_getsock(bufp, sap)); |
@@ -147,6 +151,7 @@ static int INET_input(int type, char *bufp, struct sockaddr *sap) | |||
147 | default: | 151 | default: |
148 | return (INET_resolve(bufp, (struct sockaddr_in *) sap, 0)); | 152 | return (INET_resolve(bufp, (struct sockaddr_in *) sap, 0)); |
149 | } | 153 | } |
154 | */ | ||
150 | } | 155 | } |
151 | 156 | ||
152 | static struct aftype inet_aftype = { | 157 | static struct aftype inet_aftype = { |
@@ -163,17 +168,18 @@ static struct aftype inet_aftype = { | |||
163 | 168 | ||
164 | /* Display an Internet socket address. */ | 169 | /* Display an Internet socket address. */ |
165 | /* dirty! struct sockaddr usually doesn't suffer for inet6 addresses, fst. */ | 170 | /* dirty! struct sockaddr usually doesn't suffer for inet6 addresses, fst. */ |
166 | static char *INET6_sprint(struct sockaddr *sap, int numeric) | 171 | static const char *INET6_sprint(struct sockaddr *sap, int numeric) |
167 | { | 172 | { |
168 | static char buff[128]; | 173 | static char buff[128]; |
169 | 174 | ||
170 | if (sap->sa_family == 0xFFFF || sap->sa_family == 0) | 175 | if (sap->sa_family == 0xFFFF || sap->sa_family == 0) |
171 | return safe_strncpy(buff, "[NONE SET]", sizeof(buff)); | 176 | return "[NONE SET]"; |
172 | if (INET6_rresolve(buff, sizeof(buff), (struct sockaddr_in6 *) sap, numeric)) | 177 | if (INET6_rresolve(buff, sizeof(buff), (struct sockaddr_in6 *) sap, numeric)) |
173 | return safe_strncpy(buff, "[UNKNOWN]", sizeof(buff)); | 178 | return "[UNKNOWN]"; |
174 | return buff; | 179 | return buff; |
175 | } | 180 | } |
176 | 181 | ||
182 | #ifdef UNUSED | ||
177 | static int INET6_getsock(char *bufp, struct sockaddr *sap) | 183 | static int INET6_getsock(char *bufp, struct sockaddr *sap) |
178 | { | 184 | { |
179 | struct sockaddr_in6 *sin6; | 185 | struct sockaddr_in6 *sin6; |
@@ -187,15 +193,19 @@ static int INET6_getsock(char *bufp, struct sockaddr *sap) | |||
187 | 193 | ||
188 | return 16; /* ?;) */ | 194 | return 16; /* ?;) */ |
189 | } | 195 | } |
196 | #endif | ||
190 | 197 | ||
191 | static int INET6_input(int type, char *bufp, struct sockaddr *sap) | 198 | static int INET6_input(/*int type,*/ const char *bufp, struct sockaddr *sap) |
192 | { | 199 | { |
200 | return INET6_resolve(bufp, (struct sockaddr_in6 *) sap); | ||
201 | /* | ||
193 | switch (type) { | 202 | switch (type) { |
194 | case 1: | 203 | case 1: |
195 | return (INET6_getsock(bufp, sap)); | 204 | return (INET6_getsock(bufp, sap)); |
196 | default: | 205 | default: |
197 | return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap)); | 206 | return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap)); |
198 | } | 207 | } |
208 | */ | ||
199 | } | 209 | } |
200 | 210 | ||
201 | static struct aftype inet6_aftype = { | 211 | static struct aftype inet6_aftype = { |
@@ -229,12 +239,10 @@ static char *UNSPEC_print(unsigned char *ptr) | |||
229 | } | 239 | } |
230 | 240 | ||
231 | /* Display an UNSPEC socket address. */ | 241 | /* Display an UNSPEC socket address. */ |
232 | static char *UNSPEC_sprint(struct sockaddr *sap, int numeric) | 242 | static const char *UNSPEC_sprint(struct sockaddr *sap, int numeric) |
233 | { | 243 | { |
234 | static char buf[64]; | ||
235 | |||
236 | if (sap->sa_family == 0xFFFF || sap->sa_family == 0) | 244 | if (sap->sa_family == 0xFFFF || sap->sa_family == 0) |
237 | return safe_strncpy(buf, "[NONE SET]", sizeof(buf)); | 245 | return "[NONE SET]"; |
238 | return UNSPEC_print((unsigned char *)sap->sa_data); | 246 | return UNSPEC_print((unsigned char *)sap->sa_data); |
239 | } | 247 | } |
240 | 248 | ||
@@ -809,7 +817,7 @@ static char *pr_ether(unsigned char *ptr) | |||
809 | return buff; | 817 | return buff; |
810 | } | 818 | } |
811 | 819 | ||
812 | static int in_ether(char *bufp, struct sockaddr *sap); | 820 | static int in_ether(const char *bufp, struct sockaddr *sap); |
813 | 821 | ||
814 | static struct hwtype ether_hwtype = { | 822 | static struct hwtype ether_hwtype = { |
815 | .name = "ether", | 823 | .name = "ether", |
@@ -831,10 +839,10 @@ static unsigned hexchar2int(char c) | |||
831 | } | 839 | } |
832 | 840 | ||
833 | /* Input an Ethernet address and convert to binary. */ | 841 | /* Input an Ethernet address and convert to binary. */ |
834 | static int in_ether(char *bufp, struct sockaddr *sap) | 842 | static int in_ether(const char *bufp, struct sockaddr *sap) |
835 | { | 843 | { |
836 | unsigned char *ptr; | 844 | unsigned char *ptr; |
837 | char c, *orig; | 845 | char c; |
838 | int i; | 846 | int i; |
839 | unsigned val; | 847 | unsigned val; |
840 | 848 | ||
@@ -842,7 +850,6 @@ static int in_ether(char *bufp, struct sockaddr *sap) | |||
842 | ptr = (unsigned char*) sap->sa_data; | 850 | ptr = (unsigned char*) sap->sa_data; |
843 | 851 | ||
844 | i = 0; | 852 | i = 0; |
845 | orig = bufp; | ||
846 | while ((*bufp != '\0') && (i < ETH_ALEN)) { | 853 | while ((*bufp != '\0') && (i < ETH_ALEN)) { |
847 | val = hexchar2int(*bufp++) * 0x10; | 854 | val = hexchar2int(*bufp++) * 0x10; |
848 | if (val > 0xff) { | 855 | if (val > 0xff) { |