From 16405d7d9241c87960a6ea5b5dce09d0e9650872 Mon Sep 17 00:00:00 2001 From: Xin Li Date: Thu, 30 May 2013 14:27:09 -0700 Subject: Use byte offset instead of rip_dest (a 32-bit field) to extract 16-bit field in order to avoid type punning. This fixes compile on IA64 platforms. --- print-rip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'print-rip.c') diff --git a/print-rip.c b/print-rip.c index 327f057a..e941947d 100644 --- a/print-rip.c +++ b/print-rip.c @@ -141,7 +141,7 @@ rip_entry_print_v2(register const struct rip_netinfo *ni, const unsigned remaini putchar (isprint(*p) ? *p : '.'); } else if (auth_type == 3) { printf("\n\t Auth header:"); - printf(" Packet Len %u,", EXTRACT_16BITS(&ni->rip_dest)); + printf(" Packet Len %u,", EXTRACT_16BITS((u_int8_t *)ni + 4)); printf(" Key-ID %u,", *((u_int8_t *)ni + 6)); printf(" Auth Data Len %u,", *((u_int8_t *)ni + 7)); printf(" SeqNo %u,", EXTRACT_32BITS(&ni->rip_dest_mask)); -- cgit v1.2.1