aboutsummaryrefslogtreecommitdiffstats
path: root/epan/address_types.c
diff options
context:
space:
mode:
authorJoão Valverde <j@v6e.pt>2022-06-23 16:27:44 +0100
committerJoão Valverde <j@v6e.pt>2022-06-23 16:58:07 +0100
commitd7322e757e2665c6b9c0a9cbe3530020147f07a0 (patch)
tree093bdb0dba226a9fb52be998b6970961c7d17b67 /epan/address_types.c
parent00790588376848c382feab3151148aa9f4a85224 (diff)
epan: Use host byte order with AT_NUMERIC
Use host byte-order with AT_NUMERIC to make it more generic and practical. Change openSAFETY to pass addresses in host byte-order (the previous code assumed they were in little-endian). Plus a few cleanups.
Diffstat (limited to 'epan/address_types.c')
-rw-r--r--epan/address_types.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/epan/address_types.c b/epan/address_types.c
index aa0801771a..e4424ef817 100644
--- a/epan/address_types.c
+++ b/epan/address_types.c
@@ -532,7 +532,7 @@ const size_t MAX_UINT32_WIDTH = 11;
const size_t MAX_UINT16_WIDTH = 6;
const size_t MAX_UINT8_WIDTH = 4;
-static int numeric_addr_str_len(const address* addr _U_)
+static int numeric_addr_str_len(const address* addr)
{
if (addr->len == (int) sizeof(guint64)) {
return (int) MAX_UINT64_WIDTH;
@@ -545,22 +545,21 @@ static int numeric_addr_str_len(const address* addr _U_)
return (int) MAX_UINT8_WIDTH;
}
-static int numeric_addr_to_str(const address* addr, gchar *buf, int buf_len _U_)
+static int numeric_addr_to_str(const address* addr, gchar *buf, int buf_len)
{
- int len = numeric_addr_str_len(addr);
+ int ret;
- memset(buf, '\0', len);
if (addr->len == (int) sizeof(guint64)) {
- snprintf(buf, len, "%"PRIu64, pletoh64(addr->data));
+ ret = snprintf(buf, buf_len, "%"PRIu64, *(guint64 *)addr->data);
} else if (addr->len == (int) sizeof(guint32)) {
- snprintf(buf, len, "%u", pletoh32(addr->data));
+ ret = snprintf(buf, buf_len, "%"PRIu32, *(guint32 *)addr->data);
} else if (addr->len == (int) sizeof(guint16)) {
- snprintf(buf, len, "%u", pletoh16(addr->data));
+ ret = snprintf(buf, buf_len, "%"PRIu16, *(guint16 *)addr->data);
} else {
- snprintf(buf, len, "%u", *((guint8*) (addr->data)));
+ ret = snprintf(buf, buf_len, "%"PRIu8, *(guint8 *)addr->data);
}
- return len;
+ return ret + 1;
}
/******************************************************************************