summaryrefslogtreecommitdiff
path: root/networking/interface.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-03-14 22:11:20 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-03-14 22:11:20 +0000
commit7f2527e5a7f513b9f415643ddc0ecd236b596887 (patch)
tree710d52b0a41425e8e82ad3ea5c674b5f61264cf7 /networking/interface.c
parent650a0459b87314fc412dc81a2a863fefb969ca37 (diff)
downloadbusybox-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.c37
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. */
85static char *INET_sprint(struct sockaddr *sap, int numeric) 85static 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
99static int INET_getsock(char *bufp, struct sockaddr *sap) 100static 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
140static int INET_input(int type, char *bufp, struct sockaddr *sap) 142static 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
152static struct aftype inet_aftype = { 157static 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. */
166static char *INET6_sprint(struct sockaddr *sap, int numeric) 171static 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
177static int INET6_getsock(char *bufp, struct sockaddr *sap) 183static 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
191static int INET6_input(int type, char *bufp, struct sockaddr *sap) 198static 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
201static struct aftype inet6_aftype = { 211static 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. */
232static char *UNSPEC_sprint(struct sockaddr *sap, int numeric) 242static 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
812static int in_ether(char *bufp, struct sockaddr *sap); 820static int in_ether(const char *bufp, struct sockaddr *sap);
813 821
814static struct hwtype ether_hwtype = { 822static 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. */
834static int in_ether(char *bufp, struct sockaddr *sap) 842static 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) {