From 2802e823fc6b8618aada9f52ccc93137dfd5d16d Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Sun, 15 Jan 2017 12:33:10 +0100 Subject: [PATCH] ip[46]-config: reorder fields in private struct and use bool bitfield bool:1 bitfields allow for tighter packing and are guaranteed to be strictly 0 or 1 (contrary to gboolean's typedef for int). Not that it matters too much, but it's favorable. Especially, because each device has several of these ip-config instances, we might save a few bytes for no(?) downsides. --- src/nm-ip4-config.c | 22 +++++++++++----------- src/nm-ip6-config.c | 14 +++++++------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c index 310ce41943..ea6468bbb3 100644 --- a/src/nm-ip4-config.c +++ b/src/nm-ip4-config.c @@ -59,25 +59,25 @@ NM_GOBJECT_PROPERTIES_DEFINE (NMIP4Config, ); typedef struct { - gboolean never_default; + bool never_default:1; + bool metered:1; + bool has_gateway:1; guint32 gateway; - gboolean has_gateway; + guint32 mss; + guint32 mtu; + int ifindex; + NMIPConfigSource mtu_source; + gint dns_priority; + gint64 route_metric; GArray *addresses; GArray *routes; GArray *nameservers; GPtrArray *domains; GPtrArray *searches; GPtrArray *dns_options; - guint32 mss; GArray *nis; char *nis_domain; GArray *wins; - guint32 mtu; - NMIPConfigSource mtu_source; - int ifindex; - gint64 route_metric; - gboolean metered; - gint dns_priority; GVariant *address_data_variant; GVariant *addresses_variant; } NMIP4ConfigPrivate; @@ -1382,7 +1382,7 @@ nm_ip4_config_set_never_default (NMIP4Config *config, gboolean never_default) { NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE (config); - priv->never_default = !!never_default; + priv->never_default = never_default; } gboolean @@ -2110,7 +2110,7 @@ nm_ip4_config_set_metered (NMIP4Config *config, gboolean metered) { NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE (config); - priv->metered = !!metered; + priv->metered = metered; } gboolean diff --git a/src/nm-ip6-config.c b/src/nm-ip6-config.c index 2e6faf5617..c90d04aa5e 100644 --- a/src/nm-ip6-config.c +++ b/src/nm-ip6-config.c @@ -38,7 +38,12 @@ /*****************************************************************************/ typedef struct { - gboolean never_default; + bool never_default:1; + guint32 mss; + int ifindex; + int dns_priority; + NMSettingIP6ConfigPrivacy privacy; + gint64 route_metric; struct in6_addr gateway; GArray *addresses; GArray *routes; @@ -46,13 +51,8 @@ typedef struct { GPtrArray *domains; GPtrArray *searches; GPtrArray *dns_options; - guint32 mss; - int ifindex; - gint64 route_metric; - gint dns_priority; GVariant *address_data_variant; GVariant *addresses_variant; - NMSettingIP6ConfigPrivacy privacy; } NMIP6ConfigPrivate; struct _NMIP6Config { @@ -1239,7 +1239,7 @@ nm_ip6_config_set_never_default (NMIP6Config *config, gboolean never_default) { NMIP6ConfigPrivate *priv = NM_IP6_CONFIG_GET_PRIVATE (config); - priv->never_default = !!never_default; + priv->never_default = never_default; } gboolean