diff options
author | João Valverde <j@v6e.pt> | 2022-06-23 16:27:44 +0100 |
---|---|---|
committer | João Valverde <j@v6e.pt> | 2022-06-23 16:58:07 +0100 |
commit | d7322e757e2665c6b9c0a9cbe3530020147f07a0 (patch) | |
tree | 093bdb0dba226a9fb52be998b6970961c7d17b67 /epan/address_types.c | |
parent | 00790588376848c382feab3151148aa9f4a85224 (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.c | 17 |
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; } /****************************************************************************** |