diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-10-23 13:03:59 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-10-23 13:03:59 +0200 |
commit | 56b3eec162c135d69e7b0bee70f30cf6ec31aae5 (patch) | |
tree | 03f73029b01cfa51e900a15f3ab5e12337ed5592 /networking/interface.c | |
parent | f2cbb03a378aa48f2e08b64877d54da3fab4ea6a (diff) | |
download | busybox-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.c | 16 |
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++; |