aboutsummaryrefslogtreecommitdiff
path: root/networking/interface.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-10-23 13:03:59 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-10-23 13:03:59 +0200
commit56b3eec162c135d69e7b0bee70f30cf6ec31aae5 (patch)
tree03f73029b01cfa51e900a15f3ab5e12337ed5592 /networking/interface.c
parentf2cbb03a378aa48f2e08b64877d54da3fab4ea6a (diff)
downloadbusybox-w32-56b3eec162c135d69e7b0bee70f30cf6ec31aae5.tar.gz
busybox-w32-56b3eec162c135d69e7b0bee70f30cf6ec31aae5.tar.bz2
busybox-w32-56b3eec162c135d69e7b0bee70f30cf6ec31aae5.zip
small optimizations of toupper/tolower
function old new delta in_ib 191 172 -19 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking/interface.c')
-rw-r--r--networking/interface.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/networking/interface.c b/networking/interface.c
index fe6b23dbc..b64d24a58 100644
--- a/networking/interface.c
+++ b/networking/interface.c
@@ -1242,10 +1242,8 @@ int FAST_FUNC in_ib(const char *bufp, struct sockaddr *sap)
1242 c = *bufp++; 1242 c = *bufp++;
1243 if (isdigit(c)) 1243 if (isdigit(c))
1244 val = c - '0'; 1244 val = c - '0';
1245 else if (c >= 'a' && c <= 'f') 1245 else if ((c|0x20) >= 'a' && (c|0x20) <= 'f')
1246 val = c - 'a' + 10; 1246 val = (c|0x20) - ('a' - 10);
1247 else if (c >= 'A' && c <= 'F')
1248 val = c - 'A' + 10;
1249 else { 1247 else {
1250 errno = EINVAL; 1248 errno = EINVAL;
1251 return -1; 1249 return -1;
@@ -1254,17 +1252,15 @@ int FAST_FUNC in_ib(const char *bufp, struct sockaddr *sap)
1254 c = *bufp; 1252 c = *bufp;
1255 if (isdigit(c)) 1253 if (isdigit(c))
1256 val |= c - '0'; 1254 val |= c - '0';
1257 else if (c >= 'a' && c <= 'f') 1255 else if ((c|0x20) >= 'a' && (c|0x20) <= 'f')
1258 val |= c - 'a' + 10; 1256 val |= (c|0x20) - ('a' - 10);
1259 else if (c >= 'A' && c <= 'F') 1257 else if (c == ':' || c == '\0')
1260 val |= c - 'A' + 10;
1261 else if (c == ':' || c == 0)
1262 val >>= 4; 1258 val >>= 4;
1263 else { 1259 else {
1264 errno = EINVAL; 1260 errno = EINVAL;
1265 return -1; 1261 return -1;
1266 } 1262 }
1267 if (c != 0) 1263 if (c != '\0')
1268 bufp++; 1264 bufp++;
1269 *ptr++ = (unsigned char) (val & 0377); 1265 *ptr++ = (unsigned char) (val & 0377);
1270 i++; 1266 i++;