summaryrefslogtreecommitdiff
path: root/src/Utilities.cpp
diff options
context:
space:
mode:
authorJoseph Henry <[email protected]>2018-02-07 15:10:38 -0800
committerJoseph Henry <[email protected]>2018-02-07 15:10:38 -0800
commitb0ac457ff16ef44ffbee1a0898e4fdb732ef67e3 (patch)
treebd7fb1f9e4775d78c91cb892e48883663ccefd51 /src/Utilities.cpp
parentde3fc72ba059554d2e001ef52a87d9aff12fa8d0 (diff)
Cleanup
Diffstat (limited to 'src/Utilities.cpp')
-rw-r--r--src/Utilities.cpp262
1 files changed, 131 insertions, 131 deletions
diff --git a/src/Utilities.cpp b/src/Utilities.cpp
index 914ee28..c20abe3 100644
--- a/src/Utilities.cpp
+++ b/src/Utilities.cpp
@@ -40,158 +40,158 @@
int inet_pton4(const char *src, void *dst)
{
- uint8_t tmp[NS_INADDRSZ], *tp;
+ uint8_t tmp[NS_INADDRSZ], *tp;
- int saw_digit = 0;
- int octets = 0;
- *(tp = tmp) = 0;
+ int saw_digit = 0;
+ int octets = 0;
+ *(tp = tmp) = 0;
- int ch;
- while ((ch = *src++) != '\0')
- {
- if (ch >= '0' && ch <= '9')
- {
- uint32_t n = *tp * 10 + (ch - '0');
+ int ch;
+ while ((ch = *src++) != '\0')
+ {
+ if (ch >= '0' && ch <= '9')
+ {
+ uint32_t n = *tp * 10 + (ch - '0');
- if (saw_digit && *tp == 0)
- return 0;
+ if (saw_digit && *tp == 0)
+ return 0;
- if (n > 255)
- return 0;
+ if (n > 255)
+ return 0;
- *tp = n;
- if (!saw_digit)
- {
- if (++octets > 4)
- return 0;
- saw_digit = 1;
- }
- }
- else if (ch == '.' && saw_digit)
- {
- if (octets == 4)
- return 0;
- *++tp = 0;
- saw_digit = 0;
- }
- else
- return 0;
- }
- if (octets < 4)
- return 0;
+ *tp = n;
+ if (!saw_digit)
+ {
+ if (++octets > 4)
+ return 0;
+ saw_digit = 1;
+ }
+ }
+ else if (ch == '.' && saw_digit)
+ {
+ if (octets == 4)
+ return 0;
+ *++tp = 0;
+ saw_digit = 0;
+ }
+ else
+ return 0;
+ }
+ if (octets < 4)
+ return 0;
- memcpy(dst, tmp, NS_INADDRSZ);
+ memcpy(dst, tmp, NS_INADDRSZ);
- return 1;
+ return 1;
}
int inet_pton6(const char *src, void *dst)
{
- static const char xdigits[] = "0123456789abcdef";
- uint8_t tmp[NS_IN6ADDRSZ];
+ static const char xdigits[] = "0123456789abcdef";
+ uint8_t tmp[NS_IN6ADDRSZ];
- uint8_t *tp = (uint8_t*) memset(tmp, '\0', NS_IN6ADDRSZ);
- uint8_t *endp = tp + NS_IN6ADDRSZ;
- uint8_t *colonp = NULL;
+ uint8_t *tp = (uint8_t*) memset(tmp, '\0', NS_IN6ADDRSZ);
+ uint8_t *endp = tp + NS_IN6ADDRSZ;
+ uint8_t *colonp = NULL;
- /* Leading :: requires some special handling. */
- if (*src == ':')
- {
- if (*++src != ':')
- return 0;
- }
+ /* Leading :: requires some special handling. */
+ if (*src == ':')
+ {
+ if (*++src != ':')
+ return 0;
+ }
- const char *curtok = src;
- int saw_xdigit = 0;
- uint32_t val = 0;
- int ch;
- while ((ch = tolower(*src++)) != '\0')
- {
- const char *pch = strchr(xdigits, ch);
- if (pch != NULL)
- {
- val <<= 4;
- val |= (pch - xdigits);
- if (val > 0xffff)
- return 0;
- saw_xdigit = 1;
- continue;
- }
- if (ch == ':')
- {
- curtok = src;
- if (!saw_xdigit)
- {
- if (colonp)
- return 0;
- colonp = tp;
- continue;
- }
- else if (*src == '\0')
- {
- return 0;
- }
- if (tp + NS_INT16SZ > endp)
- return 0;
- *tp++ = (uint8_t) (val >> 8) & 0xff;
- *tp++ = (uint8_t) val & 0xff;
- saw_xdigit = 0;
- val = 0;
- continue;
- }
- if (ch == '.' && ((tp + NS_INADDRSZ) <= endp) &&
- inet_pton4(curtok, (char*) tp) > 0)
- {
- tp += NS_INADDRSZ;
- saw_xdigit = 0;
- break; /* '\0' was seen by inet_pton4(). */
- }
- return 0;
- }
- if (saw_xdigit)
- {
- if (tp + NS_INT16SZ > endp)
- return 0;
- *tp++ = (uint8_t) (val >> 8) & 0xff;
- *tp++ = (uint8_t) val & 0xff;
- }
- if (colonp != NULL)
- {
- /*
- * Since some memmove()'s erroneously fail to handle
- * overlapping regions, we'll do the shift by hand.
- */
- const int n = tp - colonp;
+ const char *curtok = src;
+ int saw_xdigit = 0;
+ uint32_t val = 0;
+ int ch;
+ while ((ch = tolower(*src++)) != '\0')
+ {
+ const char *pch = strchr(xdigits, ch);
+ if (pch != NULL)
+ {
+ val <<= 4;
+ val |= (pch - xdigits);
+ if (val > 0xffff)
+ return 0;
+ saw_xdigit = 1;
+ continue;
+ }
+ if (ch == ':')
+ {
+ curtok = src;
+ if (!saw_xdigit)
+ {
+ if (colonp)
+ return 0;
+ colonp = tp;
+ continue;
+ }
+ else if (*src == '\0')
+ {
+ return 0;
+ }
+ if (tp + NS_INT16SZ > endp)
+ return 0;
+ *tp++ = (uint8_t) (val >> 8) & 0xff;
+ *tp++ = (uint8_t) val & 0xff;
+ saw_xdigit = 0;
+ val = 0;
+ continue;
+ }
+ if (ch == '.' && ((tp + NS_INADDRSZ) <= endp) &&
+ inet_pton4(curtok, (char*) tp) > 0)
+ {
+ tp += NS_INADDRSZ;
+ saw_xdigit = 0;
+ break; /* '\0' was seen by inet_pton4(). */
+ }
+ return 0;
+ }
+ if (saw_xdigit)
+ {
+ if (tp + NS_INT16SZ > endp)
+ return 0;
+ *tp++ = (uint8_t) (val >> 8) & 0xff;
+ *tp++ = (uint8_t) val & 0xff;
+ }
+ if (colonp != NULL)
+ {
+ /*
+ * Since some memmove()'s erroneously fail to handle
+ * overlapping regions, we'll do the shift by hand.
+ */
+ const int n = tp - colonp;
- if (tp == endp)
- return 0;
+ if (tp == endp)
+ return 0;
- for (int i = 1; i <= n; i++)
- {
- endp[-i] = colonp[n - i];
- colonp[n - i] = 0;
- }
- tp = endp;
- }
- if (tp != endp)
- return 0;
+ for (int i = 1; i <= n; i++)
+ {
+ endp[-i] = colonp[n - i];
+ colonp[n - i] = 0;
+ }
+ tp = endp;
+ }
+ if (tp != endp)
+ return 0;
- memcpy(dst, tmp, NS_IN6ADDRSZ);
+ memcpy(dst, tmp, NS_IN6ADDRSZ);
- return 1;
+ return 1;
}
int inet_pton(int af, const char *src, void *dst)
{
- switch (af)
- {
- case AF_INET:
- return inet_pton4(src, dst);
- case AF_INET6:
- return inet_pton6(src, dst);
- default:
- return -1;
- }
+ switch (af)
+ {
+ case AF_INET:
+ return inet_pton4(src, dst);
+ case AF_INET6:
+ return inet_pton6(src, dst);
+ default:
+ return -1;
+ }
}
#endif
@@ -254,5 +254,5 @@ char *beautify_eth_proto_nums(int proto)
void mac2str(char *macbuf, int len, unsigned char* addr)
{
snprintf(macbuf, len, "%02x:%02x:%02x:%02x:%02x:%02x",
- addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]);
+ addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]);
}