aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--editors/awk.c13
-rw-r--r--networking/interface.c16
2 files changed, 11 insertions, 18 deletions
diff --git a/editors/awk.c b/editors/awk.c
index 17244f9e6..bc1d93868 100644
--- a/editors/awk.c
+++ b/editors/awk.c
@@ -2031,7 +2031,6 @@ static NOINLINE var *exec_builtin(node *op, var *res)
2031{ 2031{
2032#define tspl (G.exec_builtin__tspl) 2032#define tspl (G.exec_builtin__tspl)
2033 2033
2034 int (*to_xxx)(int);
2035 var *tv; 2034 var *tv;
2036 node *an[4]; 2035 node *an[4];
2037 var *av[4]; 2036 var *av[4];
@@ -2061,7 +2060,8 @@ static NOINLINE var *exec_builtin(node *op, var *res)
2061 if ((uint32_t)nargs < (info >> 30)) 2060 if ((uint32_t)nargs < (info >> 30))
2062 syntax_error(EMSG_TOO_FEW_ARGS); 2061 syntax_error(EMSG_TOO_FEW_ARGS);
2063 2062
2064 switch (info & OPNMASK) { 2063 info &= OPNMASK;
2064 switch (info) {
2065 2065
2066 case B_a2: 2066 case B_a2:
2067#if ENABLE_FEATURE_AWK_LIBM 2067#if ENABLE_FEATURE_AWK_LIBM
@@ -2126,15 +2126,12 @@ static NOINLINE var *exec_builtin(node *op, var *res)
2126 break; 2126 break;
2127 2127
2128 case B_lo: 2128 case B_lo:
2129 to_xxx = tolower;
2130 goto lo_cont;
2131
2132 case B_up: 2129 case B_up:
2133 to_xxx = toupper;
2134 lo_cont:
2135 s1 = s = xstrdup(as[0]); 2130 s1 = s = xstrdup(as[0]);
2136 while (*s1) { 2131 while (*s1) {
2137 *s1 = (*to_xxx)(*s1); 2132 //*s1 = (info == B_up) ? toupper(*s1) : tolower(*s1);
2133 if ((unsigned char)((*s1 | 0x20) - 'a') <= ('z' - 'a'))
2134 *s1 = (info == B_up) ? (*s1 & 0xdf) : (*s1 | 0x20);
2138 s1++; 2135 s1++;
2139 } 2136 }
2140 setvar_p(res, s); 2137 setvar_p(res, s);
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++;