diff options
-rw-r--r-- | epan/ftypes/ftype-ipv4.c | 6 | ||||
-rw-r--r-- | epan/proto.c | 18 | ||||
-rw-r--r-- | ui/gtk/packet_win.c | 5 |
3 files changed, 12 insertions, 17 deletions
diff --git a/epan/ftypes/ftype-ipv4.c b/epan/ftypes/ftype-ipv4.c index 6d45e2eb97..27276d2409 100644 --- a/epan/ftypes/ftype-ipv4.c +++ b/epan/ftypes/ftype-ipv4.c @@ -34,10 +34,10 @@ set_uinteger(fvalue_t *fv, guint32 value) fv->value.ipv4.nmask = ip_get_subnet_mask(32); } -static gpointer +static guint32 value_get(fvalue_t *fv) { - return &(fv->value.ipv4); + return g_htonl(fv->value.ipv4.addr); } static gboolean @@ -234,7 +234,7 @@ ftype_register_ipv4(void) val_repr_len, /* len_string_repr */ { .set_value_uinteger = set_uinteger }, /* union set_value */ - { .get_value_ptr = value_get }, /* union get_value */ + { .get_value_uinteger = value_get }, /* union get_value */ cmp_eq, cmp_ne, diff --git a/epan/proto.c b/epan/proto.c index 68e81afa64..57dcdaf537 100644 --- a/epan/proto.c +++ b/epan/proto.c @@ -5622,10 +5622,9 @@ proto_custom_set(proto_tree* tree, GSList *field_ids, gint occurrence, guint32 number; guint64 number64; guint8 *bytes; - ipv4_addr_and_mask *ipv4; - ws_in6_addr *ipv6; + guint32 ipv4; + ws_in6_addr *ipv6; address addr; - guint32 n_addr; /* network-order IPv4 address */ const true_false_string *tfstring; @@ -5944,9 +5943,8 @@ proto_custom_set(proto_tree* tree, GSList *field_ids, gint occurrence, break; case FT_IPv4: - ipv4 = (ipv4_addr_and_mask *)fvalue_get(&finfo->value); - n_addr = g_ntohl(ipv4->addr); - set_address (&addr, AT_IPv4, 4, &n_addr); + ipv4 = fvalue_get_uinteger(&finfo->value); + set_address (&addr, AT_IPv4, 4, &ipv4); address_to_str_buf(&addr, result+offset_r, size-offset_r); offset_r = (int)strlen(result); break; @@ -8130,9 +8128,8 @@ proto_item_fill_label(field_info *fi, gchar *label_str) guint8 *bytes; guint32 integer; guint64 integer64; - ipv4_addr_and_mask *ipv4; + guint32 ipv4; e_guid_t *guid; - guint32 n_addr; /* network-order IPv4 address */ gchar *name; address addr; char *addr_str; @@ -8365,12 +8362,11 @@ proto_item_fill_label(field_info *fi, gchar *label_str) break; case FT_IPv4: - ipv4 = (ipv4_addr_and_mask *)fvalue_get(&fi->value); - n_addr = g_htonl(ipv4->addr); + ipv4 = fvalue_get_uinteger(&fi->value); addr.type = AT_IPv4; addr.len = 4; - addr.data = &n_addr; + addr.data = &ipv4; if (hfinfo->display == BASE_NETMASK) { diff --git a/ui/gtk/packet_win.c b/ui/gtk/packet_win.c index 529e04f5e4..50cae431ae 100644 --- a/ui/gtk/packet_win.c +++ b/ui/gtk/packet_win.c @@ -615,14 +615,13 @@ new_finfo_window(GtkWidget *w, struct FieldinfoWinData *DataPtr) g_signal_connect(fvalue_edit, "toggled", G_CALLBACK(finfo_boolean_changed), DataPtr); } else if (finfo_type == FT_IPv4) { - ipv4_addr_and_mask *ipv4 = (ipv4_addr_and_mask *)fvalue_get(&finfo->value); - guint32 net_addr = g_htonl(ipv4->addr); + guint32 ipv4 = fvalue_get_uinteger(&finfo->value); #if GTK_CHECK_VERSION(3,0,0) GtkAdjustment *adj; #else GtkObject *adj; #endif - adj = gtk_adjustment_new((double) (GUINT32_FROM_BE(net_addr)), 0.0, 4294967295.0 /* (2^32)-1 */, 1.0, 256.0, 0); + adj = gtk_adjustment_new((double) (GUINT32_FROM_BE(ipv4)), 0.0, 4294967295.0 /* (2^32)-1 */, 1.0, 256.0, 0); /* XXX, create four gtk_spin_button_new which takes 0..255 */ fvalue_edit = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1.0, 0); |