about summary refs log tree commit diff
path: root/src/nmcli/connections.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nmcli/connections.c')
-rw-r--r--src/nmcli/connections.c1133
1 files changed, 573 insertions, 560 deletions
diff --git a/src/nmcli/connections.c b/src/nmcli/connections.c
index 5edd33f0..5a66b82f 100644
--- a/src/nmcli/connections.c
+++ b/src/nmcli/connections.c
@@ -45,13 +45,13 @@ typedef char *(*CompEntryFunc)(const char *, int);
 
 typedef struct _OptionInfo {
     const NMMetaSettingInfoEditor *setting_info;
-    const char *                   property;
-    const char *                   option;
-    gboolean (*check_and_set)(NmCli *                   nmc,
-                              NMConnection *            connection,
+    const char                    *property;
+    const char                    *option;
+    gboolean (*check_and_set)(NmCli                    *nmc,
+                              NMConnection             *connection,
                               const struct _OptionInfo *option,
-                              const char *              value,
-                              GError **                 error);
+                              const char               *value,
+                              GError                  **error);
     CompEntryFunc generator_func;
 } OptionInfo;
 
@@ -100,9 +100,9 @@ static NM_UTILS_LOOKUP_STR_DEFINE(
 
 typedef struct {
     NmCli *nmc;
-    char * orig_id;
-    char * orig_uuid;
-    char * new_id;
+    char  *orig_id;
+    char  *orig_uuid;
+    char  *new_id;
 } AddConnectionInfo;
 
 static AddConnectionInfo *
@@ -189,10 +189,10 @@ active_connection_get_state_ord(NMActiveConnection *active)
 int
 nmc_active_connection_cmp(NMActiveConnection *ac_a, NMActiveConnection *ac_b)
 {
-    NMSettingIPConfig * s_ip;
+    NMSettingIPConfig  *s_ip;
     NMRemoteConnection *conn;
-    NMIPConfig *        da_ip;
-    NMIPConfig *        db_ip;
+    NMIPConfig         *da_ip;
+    NMIPConfig         *db_ip;
     int                 da_num_addrs;
     int                 db_num_addrs;
     int                 cmp = 0;
@@ -254,7 +254,7 @@ nmc_active_connection_cmp(NMActiveConnection *ac_a, NMActiveConnection *ac_b)
 static char *
 get_ac_device_string(NMActiveConnection *active)
 {
-    GString *        dev_str;
+    GString         *dev_str;
     const GPtrArray *devices;
     guint            i;
 
@@ -265,7 +265,7 @@ get_ac_device_string(NMActiveConnection *active)
     dev_str = g_string_new(NULL);
     devices = nm_active_connection_get_devices(active);
     for (i = 0; i < devices->len; i++) {
-        NMDevice *  device    = g_ptr_array_index(devices, i);
+        NMDevice   *device    = g_ptr_array_index(devices, i);
         const char *dev_iface = nm_device_get_iface(device);
 
         if (dev_iface) {
@@ -288,7 +288,7 @@ static const char *
 get_vpn_connection_type(NMConnection *connection)
 {
     NMSettingVpn *s_vpn;
-    const char *  type, *p;
+    const char   *type, *p;
 
     s_vpn = nm_connection_get_setting_vpn(connection);
     if (!s_vpn)
@@ -387,9 +387,9 @@ get_vpn_data_item(NMConnection *connection, enum VpnDataItem vpn_data_item)
 /*****************************************************************************/
 
 typedef struct {
-    NMConnection *      connection;
+    NMConnection       *connection;
     NMActiveConnection *primary_active;
-    GPtrArray *         all_active;
+    GPtrArray          *all_active;
     bool                show_active_fields;
 } MetagenConShowRowData;
 
@@ -422,7 +422,7 @@ _metagen_con_show_row_data_new_for_active_connection(NMRemoteConnection *connect
 
 static void
 _metagen_con_show_row_data_add_active_connection(MetagenConShowRowData *row_data,
-                                                 NMActiveConnection *   active)
+                                                 NMActiveConnection    *active)
 {
     if (!row_data->primary_active) {
         row_data->primary_active = g_object_ref(active);
@@ -477,7 +477,7 @@ static const char *
 _con_show_fcn_get_id(NMConnection *c, NMActiveConnection *ac)
 {
     NMSettingConnection *s_con = NULL;
-    const char *         s;
+    const char          *s;
 
     if (c)
         s_con = nm_connection_get_setting_connection(c);
@@ -499,7 +499,7 @@ static const char *
 _con_show_fcn_get_type(NMConnection *c, NMActiveConnection *ac, NMMetaAccessorGetType get_type)
 {
     NMSettingConnection *s_con = NULL;
-    const char *         s;
+    const char          *s;
 
     if (c)
         s_con = nm_connection_get_setting_connection(c);
@@ -513,14 +513,15 @@ _con_show_fcn_get_type(NMConnection *c, NMActiveConnection *ac, NMMetaAccessorGe
     return connection_type_to_display(s, get_type);
 }
 
-static gconstpointer _metagen_con_show_get_fcn(NMC_META_GENERIC_INFO_GET_FCN_ARGS)
+static gconstpointer
+_metagen_con_show_get_fcn(NMC_META_GENERIC_INFO_GET_FCN_ARGS)
 {
     const MetagenConShowRowData *row_data = target;
-    NMConnection *               c        = row_data->connection;
-    NMActiveConnection *         ac       = row_data->primary_active;
-    NMSettingConnection *        s_con    = NULL;
-    const char *                 s;
-    char *                       s_mut;
+    NMConnection                *c        = row_data->connection;
+    NMActiveConnection          *ac       = row_data->primary_active;
+    NMSettingConnection         *s_con    = NULL;
+    const char                  *s;
+    char                        *s_mut;
 
     NMC_HANDLE_COLOR(nmc_active_connection_state_to_color(ac));
 
@@ -654,14 +655,15 @@ const NmcMetaGenericInfo *const metagen_con_show[_NMC_GENERIC_INFO_TYPE_CON_SHOW
 
 /*****************************************************************************/
 
-static gconstpointer _metagen_con_active_general_get_fcn(NMC_META_GENERIC_INFO_GET_FCN_ARGS)
+static gconstpointer
+_metagen_con_active_general_get_fcn(NMC_META_GENERIC_INFO_GET_FCN_ARGS)
 {
-    NMActiveConnection * ac = target;
-    NMConnection *       c;
+    NMActiveConnection  *ac = target;
+    NMConnection        *c;
     NMSettingConnection *s_con = NULL;
-    NMDevice *           dev;
+    NMDevice            *dev;
     guint                i;
-    const char *         s;
+    const char          *s;
 
     NMC_HANDLE_COLOR(NM_META_COLOR_NONE);
 
@@ -680,14 +682,14 @@ static gconstpointer _metagen_con_active_general_get_fcn(NMC_META_GENERIC_INFO_G
     case NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_DEVICES:
     case NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_IP_IFACE:
     {
-        GString *        str = NULL;
+        GString         *str = NULL;
         const GPtrArray *devices;
 
         s       = NULL;
         devices = nm_active_connection_get_devices(ac);
         if (devices) {
             for (i = 0; i < devices->len; i++) {
-                NMDevice *  device = g_ptr_array_index(devices, i);
+                NMDevice   *device = g_ptr_array_index(devices, i);
                 const char *iface;
 
                 if (info->info_type == NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_DEVICES) {
@@ -767,15 +769,16 @@ const NmcMetaGenericInfo
 
 /*****************************************************************************/
 
-static gconstpointer _metagen_con_active_vpn_get_fcn(NMC_META_GENERIC_INFO_GET_FCN_ARGS)
+static gconstpointer
+_metagen_con_active_vpn_get_fcn(NMC_META_GENERIC_INFO_GET_FCN_ARGS)
 {
-    NMActiveConnection * ac = target;
-    NMConnection *       c;
-    NMSettingVpn *       s_vpn = NULL;
+    NMActiveConnection  *ac = target;
+    NMConnection        *c;
+    NMSettingVpn        *s_vpn = NULL;
     NMVpnConnectionState vpn_state;
     guint                i;
-    const char *         s;
-    char **              arr = NULL;
+    const char          *s;
+    char               **arr = NULL;
 
     nm_assert(NM_IS_VPN_CONNECTION(ac));
 
@@ -909,12 +912,12 @@ static guint progress_id = 0; /* ID of event source for displaying progress */
 
 /* for readline TAB completion in editor */
 typedef struct {
-    NmCli *       nmc;
-    char *        con_type;
+    NmCli        *nmc;
+    char         *con_type;
     NMConnection *connection;
-    NMSetting *   setting;
-    const char *  property;
-    char **       words;
+    NMSetting    *setting;
+    const char   *property;
+    char        **words;
 } TabCompletionInfo;
 
 static TabCompletionInfo nmc_tab_completion;
@@ -1291,12 +1294,12 @@ get_ac_for_connection_cmp(gconstpointer pa, gconstpointer pb)
 
 static NMActiveConnection *
 get_ac_for_connection(const GPtrArray *active_cons,
-                      NMConnection *   connection,
-                      GPtrArray **     out_result)
+                      NMConnection    *connection,
+                      GPtrArray      **out_result)
 {
     guint               i;
     NMActiveConnection *best_candidate = NULL;
-    GPtrArray *         result         = out_result ? *out_result : NULL;
+    GPtrArray          *result         = out_result ? *out_result : NULL;
 
     for (i = 0; i < active_cons->len; i++) {
         NMActiveConnection *candidate = g_ptr_array_index(active_cons, i);
@@ -1323,16 +1326,16 @@ get_ac_for_connection(const GPtrArray *active_cons,
 }
 
 typedef struct {
-    GMainLoop *   loop;
+    GMainLoop    *loop;
     NMConnection *local;
-    const char *  setting_name;
+    const char   *setting_name;
 } GetSecretsData;
 
 static void
 got_secrets(GObject *source_object, GAsyncResult *res, gpointer user_data)
 {
-    NMRemoteConnection *remote         = NM_REMOTE_CONNECTION(source_object);
-    GetSecretsData *    data           = user_data;
+    NMRemoteConnection        *remote  = NM_REMOTE_CONNECTION(source_object);
+    GetSecretsData            *data    = user_data;
     gs_unref_variant GVariant *secrets = NULL;
 
     secrets = nm_remote_connection_get_secrets_finish(remote, res, NULL);
@@ -1384,13 +1387,13 @@ update_secrets_in_connection(NMRemoteConnection *remote, NMConnection *local)
 static gboolean
 nmc_connection_profile_details(NMConnection *connection, NmCli *nmc)
 {
-    GError *    error = NULL;
-    GArray *    print_settings_array;
-    GPtrArray * prop_array = NULL;
+    GError     *error = NULL;
+    GArray     *print_settings_array;
+    GPtrArray  *prop_array = NULL;
     guint       i;
-    char *      fields_str;
-    char *      fields_all    = NMC_FIELDS_SETTINGS_NAMES_ALL;
-    char *      fields_common = NMC_FIELDS_SETTINGS_NAMES_ALL;
+    char       *fields_str;
+    char       *fields_all    = NMC_FIELDS_SETTINGS_NAMES_ALL;
+    char       *fields_common = NMC_FIELDS_SETTINGS_NAMES_ALL;
     const char *base_hdr      = _("Connection profile details");
     gboolean    was_output    = FALSE;
 
@@ -1417,9 +1420,9 @@ nmc_connection_profile_details(NMConnection *connection, NmCli *nmc)
 
     /* Main header */
     {
-        gs_free char *header_name          = NULL;
-        gs_free NmcOutputField *row        = NULL;
-        gs_unref_array GArray *out_indices = NULL;
+        gs_free char           *header_name = NULL;
+        gs_free NmcOutputField *row         = NULL;
+        gs_unref_array GArray  *out_indices = NULL;
 
         header_name = construct_header_name(base_hdr, nm_connection_get_id(connection));
         out_indices = parse_output_fields(
@@ -1444,7 +1447,7 @@ nmc_connection_profile_details(NMConnection *connection, NmCli *nmc)
 
     /* Loop through the required settings and print them. */
     for (i = 0; i < print_settings_array->len; i++) {
-        NMSetting * setting;
+        NMSetting  *setting;
         int         section_idx = g_array_index(print_settings_array, int, i);
         const char *prop_name   = (const char *) g_ptr_array_index(prop_array, i);
 
@@ -1496,12 +1499,12 @@ nmc_active_connection_state_to_color(NMActiveConnection *ac)
 static gboolean
 nmc_active_connection_details(NMActiveConnection *acon, NmCli *nmc)
 {
-    GError *    error = NULL;
-    GArray *    print_groups;
-    GPtrArray * group_fields = NULL;
+    GError     *error = NULL;
+    GArray     *print_groups;
+    GPtrArray  *group_fields = NULL;
     int         i;
     const char *fields_str = NULL;
-    const char *base_hdr   = _("Activate connection details");
+    const char *base_hdr   = _("Active connection details");
     gboolean    was_output = FALSE;
 
     if (!nmc->required_fields || g_ascii_strcasecmp(nmc->required_fields, "common") == 0) {
@@ -1527,9 +1530,9 @@ nmc_active_connection_details(NMActiveConnection *acon, NmCli *nmc)
 
     /* Main header */
     {
-        gs_free char *header_name          = NULL;
-        gs_free NmcOutputField *row        = NULL;
-        gs_unref_array GArray *out_indices = NULL;
+        gs_free char           *header_name = NULL;
+        gs_free NmcOutputField *row         = NULL;
+        gs_unref_array GArray  *out_indices = NULL;
 
         header_name = construct_header_name(base_hdr, nm_active_connection_get_uuid(acon));
         out_indices = parse_output_fields(
@@ -1648,12 +1651,12 @@ nmc_active_connection_details(NMActiveConnection *acon, NmCli *nmc)
 
 static gboolean
 split_required_fields_for_con_show(const char *input,
-                                   char **     profile_flds,
-                                   char **     active_flds,
-                                   GError **   error)
+                                   char      **profile_flds,
+                                   char      **active_flds,
+                                   GError    **error)
 {
-    gs_free const char **fields = NULL;
-    const char *const *  iter;
+    gs_free const char          **fields = NULL;
+    const char *const            *iter;
     nm_auto_free_gstring GString *str1          = NULL;
     nm_auto_free_gstring GString *str2          = NULL;
     gboolean                      group_profile = FALSE;
@@ -1671,8 +1674,8 @@ split_required_fields_for_con_show(const char *input,
 
     fields = nm_strsplit_set_with_empty(input, ",");
     for (iter = fields; iter && *iter; iter++) {
-        char *   s_mutable = (char *) (*iter);
-        char *   dot;
+        char    *s_mutable = (char *) (*iter);
+        char    *dot;
         gboolean is_all;
         gboolean is_common;
         gboolean found;
@@ -1789,7 +1792,7 @@ typedef enum {
 } NmcSortOrder;
 
 typedef struct {
-    NmCli *       nmc;
+    NmCli        *nmc;
     const GArray *order;
     gboolean      show_active_fields;
 } ConShowSortInfo;
@@ -1797,15 +1800,15 @@ typedef struct {
 static int
 con_show_get_items_cmp(gconstpointer pa, gconstpointer pb, gpointer user_data)
 {
-    const ConShowSortInfo *      sort_info      = user_data;
+    const ConShowSortInfo       *sort_info      = user_data;
     const MetagenConShowRowData *row_data_a     = *((const MetagenConShowRowData *const *) pa);
     const MetagenConShowRowData *row_data_b     = *((const MetagenConShowRowData *const *) pb);
-    NMConnection *               c_a            = row_data_a->connection;
-    NMConnection *               c_b            = row_data_b->connection;
-    NMActiveConnection *         ac_a           = row_data_a->primary_active;
-    NMActiveConnection *         ac_b           = row_data_b->primary_active;
-    NMActiveConnection *         ac_a_effective = sort_info->show_active_fields ? ac_a : NULL;
-    NMActiveConnection *         ac_b_effective = sort_info->show_active_fields ? ac_b : NULL;
+    NMConnection                *c_a            = row_data_a->connection;
+    NMConnection                *c_b            = row_data_b->connection;
+    NMActiveConnection          *ac_a           = row_data_a->primary_active;
+    NMActiveConnection          *ac_b           = row_data_b->primary_active;
+    NMActiveConnection          *ac_a_effective = sort_info->show_active_fields ? ac_a : NULL;
+    NMActiveConnection          *ac_b_effective = sort_info->show_active_fields ? ac_b : NULL;
 
     /* first sort active-connections which are invisible, i.e. that have no connection */
     if (!c_a && c_b)
@@ -1815,7 +1818,7 @@ con_show_get_items_cmp(gconstpointer pa, gconstpointer pb, gpointer user_data)
 
     /* we have two connections... */
     if (c_a && c_b && c_a != c_b) {
-        const NmcSortOrder *  order_arr;
+        const NmcSortOrder   *order_arr;
         guint                 i, order_len;
         NMMetaAccessorGetType get_type =
             nmc_print_output_to_accessor_get_type(sort_info->nmc->nmc_config.print_output);
@@ -1892,15 +1895,15 @@ con_show_get_items(NmCli *nmc, gboolean active_only, gboolean show_active_fields
 {
     gs_unref_hashtable GHashTable *row_hash = NULL;
     GHashTableIter                 hiter;
-    GPtrArray *                    result;
-    const GPtrArray *              arr;
-    NMRemoteConnection *           c;
-    MetagenConShowRowData *        row_data;
+    GPtrArray                     *result;
+    const GPtrArray               *arr;
+    NMRemoteConnection            *c;
+    MetagenConShowRowData         *row_data;
     guint                          i;
     const ConShowSortInfo          sort_info = {
-        .nmc                = nmc,
-        .order              = order,
-        .show_active_fields = show_active_fields,
+                 .nmc                = nmc,
+                 .order              = order,
+                 .show_active_fields = show_active_fields,
     };
 
     row_hash = g_hash_table_new(nm_direct_hash, NULL);
@@ -2003,9 +2006,9 @@ static GArray *
 parse_preferred_connection_order(const char *order, GError **error)
 {
     gs_free const char **strv = NULL;
-    const char *const *  iter;
-    const char *         str;
-    GArray *             order_arr;
+    const char *const   *iter;
+    const char          *str;
+    GArray              *order_arr;
     NmcSortOrder         val;
     gboolean             inverse, unique;
     guint                i;
@@ -2057,17 +2060,17 @@ parse_preferred_connection_order(const char *order, GError **error)
 }
 
 static NMConnection *
-get_connection(NmCli *             nmc,
-               int *               argc,
+get_connection(NmCli              *nmc,
+               int                *argc,
                const char *const **argv,
-               const char **       out_selector,
-               const char **       out_value,
-               GPtrArray **        out_result,
-               GError **           error)
+               const char        **out_selector,
+               const char        **out_value,
+               GPtrArray         **out_result,
+               GError            **error)
 {
     const GPtrArray *connections;
-    NMConnection *   connection = NULL;
-    const char *     selector   = NULL;
+    NMConnection    *connection = NULL;
+    const char      *selector   = NULL;
 
     NM_SET_OUT(out_selector, NULL);
     NM_SET_OUT(out_value, NULL);
@@ -2121,11 +2124,11 @@ get_connection(NmCli *             nmc,
 static void
 do_connections_show(const NMCCommand *cmd, NmCli *nmc, int argc, const char *const *argv)
 {
-    gs_free_error GError *err          = NULL;
-    gs_free char *        profile_flds = NULL;
-    gs_free char *        active_flds  = NULL;
-    gboolean              active_only  = FALSE;
-    gs_unref_array GArray *order       = NULL;
+    gs_free_error GError  *err          = NULL;
+    gs_free char          *profile_flds = NULL;
+    gs_free char          *active_flds  = NULL;
+    gboolean               active_only  = FALSE;
+    gs_unref_array GArray *order        = NULL;
     guint                  i;
     int                    option;
 
@@ -2153,8 +2156,8 @@ do_connections_show(const NMCCommand *cmd, NmCli *nmc, int argc, const char *con
     }
 
     if (argc == 0) {
-        const char *      fields_str                          = NULL;
-        gs_unref_ptrarray GPtrArray *items                    = NULL;
+        const char                        *fields_str         = NULL;
+        gs_unref_ptrarray GPtrArray       *items              = NULL;
         gs_free NMMetaSelectionResultList *selection          = NULL;
         gboolean                           show_active_fields = TRUE;
 
@@ -2242,14 +2245,14 @@ do_connections_show(const NMCCommand *cmd, NmCli *nmc, int argc, const char *con
         }
 
         while (argc > 0) {
-            const GPtrArray *connections;
-            gboolean         res;
-            NMConnection *   con;
-            gs_unref_object NMActiveConnection *explicit_acon  = NULL;
-            const char *                        selector       = NULL;
-            gs_unref_ptrarray GPtrArray *found_cons            = NULL;
-            gboolean                     explicit_acon_handled = FALSE;
-            guint                        i_found_cons;
+            const GPtrArray                    *connections;
+            gboolean                            res;
+            NMConnection                       *con;
+            gs_unref_object NMActiveConnection *explicit_acon         = NULL;
+            const char                         *selector              = NULL;
+            gs_unref_ptrarray GPtrArray        *found_cons            = NULL;
+            gboolean                            explicit_acon_handled = FALSE;
+            guint                               i_found_cons;
 
             if (argc == 1 && nmc->complete)
                 nmc_complete_strings(*argv, "id", "uuid", "path", "filename", "apath");
@@ -2396,9 +2399,9 @@ static NMActiveConnection *
 get_default_active_connection(NmCli *nmc, NMDevice **device)
 {
     NMActiveConnection *default_ac         = NULL;
-    NMDevice *          non_default_device = NULL;
+    NMDevice           *non_default_device = NULL;
     NMActiveConnection *non_default_ac     = NULL;
-    const GPtrArray *   connections;
+    const GPtrArray    *connections;
     guint               i;
 
     g_return_val_if_fail(nmc, NULL);
@@ -2408,7 +2411,7 @@ get_default_active_connection(NmCli *nmc, NMDevice **device)
     connections = nm_client_get_active_connections(nmc->client);
     for (i = 0; i < connections->len; i++) {
         NMActiveConnection *candidate = g_ptr_array_index(connections, i);
-        const GPtrArray *   devices;
+        const GPtrArray    *devices;
 
         devices = nm_active_connection_get_devices(candidate);
         if (!devices->len)
@@ -2447,17 +2450,17 @@ get_default_active_connection(NmCli *nmc, NMDevice **device)
  * RETURNS: TRUE when a device is found, FALSE otherwise.
  */
 static gboolean
-find_device_for_connection(NmCli *       nmc,
+find_device_for_connection(NmCli        *nmc,
                            NMConnection *connection,
-                           const char *  iface,
-                           const char *  ap,
-                           const char *  nsp,
-                           NMDevice **   device,
-                           const char ** spec_object,
-                           GError **     error)
+                           const char   *iface,
+                           const char   *ap,
+                           const char   *nsp,
+                           NMDevice    **device,
+                           const char  **spec_object,
+                           GError      **error)
 {
     NMSettingConnection *s_con;
-    const char *         con_type;
+    const char          *con_type;
     guint                i, j;
 
     g_return_val_if_fail(nmc, FALSE);
@@ -2495,7 +2498,7 @@ find_device_for_connection(NmCli *       nmc,
         }
     } else {
         /* Other connections */
-        NMDevice *       found_device           = NULL;
+        NMDevice        *found_device           = NULL;
         const GPtrArray *devices                = nm_client_get_devices(nmc->client);
         gboolean         found_device_with_name = FALSE;
 
@@ -2524,14 +2527,14 @@ find_device_for_connection(NmCli *       nmc,
             found_device = dev;
             if (ap && nm_streq(con_type, NM_SETTING_WIRELESS_SETTING_NAME)
                 && NM_IS_DEVICE_WIFI(dev)) {
-                gs_free char *   bssid_up = g_ascii_strup(ap, -1);
+                gs_free char    *bssid_up = g_ascii_strup(ap, -1);
                 const GPtrArray *aps      = nm_device_wifi_get_access_points(NM_DEVICE_WIFI(dev));
                 found_device =
                     NULL; /* Mark as not found; set to the device again later, only if AP matches */
 
                 for (j = 0; j < aps->len; j++) {
                     NMAccessPoint *candidate_ap    = g_ptr_array_index(aps, j);
-                    const char *   candidate_bssid = nm_access_point_get_bssid(candidate_ap);
+                    const char    *candidate_bssid = nm_access_point_get_bssid(candidate_ap);
 
                     if (nm_streq0(bssid_up, candidate_bssid)) {
                         found_device = dev;
@@ -2575,17 +2578,17 @@ find_device_for_connection(NmCli *       nmc,
 }
 
 typedef struct {
-    NmCli *             nmc;
-    NMDevice *          device;
+    NmCli              *nmc;
+    NMDevice           *device;
     NMActiveConnection *active;
 } ActivateConnectionInfo;
 
 static void
 active_connection_hint(GString *return_text, NMActiveConnection *active, NMDevice *device)
 {
-    NMRemoteConnection * connection;
+    NMRemoteConnection           *connection;
     nm_auto_free_gstring GString *hint = NULL;
-    const GPtrArray *             devices;
+    const GPtrArray              *devices;
     guint                         i;
 
     if (!active)
@@ -2623,8 +2626,8 @@ static void
 check_activated(ActivateConnectionInfo *info)
 {
     NMActiveConnectionState ac_state;
-    NmCli *                 nmc    = info->nmc;
-    const char *            reason = NULL;
+    NmCli                  *nmc    = info->nmc;
+    const char             *reason = NULL;
 
     ac_state = nmc_activation_get_effective_state(info->active, info->device, &reason);
     switch (ac_state) {
@@ -2668,10 +2671,10 @@ device_state_cb(NMDevice *device, GParamSpec *pspec, ActivateConnectionInfo *inf
 }
 
 static void
-active_connection_state_cb(NMActiveConnection *          active,
+active_connection_state_cb(NMActiveConnection           *active,
                            NMActiveConnectionState       state,
                            NMActiveConnectionStateReason reason,
-                           ActivateConnectionInfo *      info)
+                           ActivateConnectionInfo       *info)
 {
     check_activated(info);
 }
@@ -2707,11 +2710,11 @@ progress_cb(gpointer user_data)
 static gboolean
 progress_active_connection_cb(gpointer user_data)
 {
-    NMActiveConnection *    active = user_data;
-    const char *            str;
-    NMDevice *              device;
+    NMActiveConnection     *active = user_data;
+    const char             *str;
+    NMDevice               *device;
     NMActiveConnectionState ac_state;
-    const GPtrArray *       ac_devs;
+    const GPtrArray        *ac_devs;
 
     ac_state = nm_active_connection_get_state(active);
 
@@ -2755,12 +2758,12 @@ static void
 activate_connection_cb(GObject *client, GAsyncResult *result, gpointer user_data)
 {
     ActivateConnectionInfo *info   = (ActivateConnectionInfo *) user_data;
-    NmCli *                 nmc    = info->nmc;
-    NMDevice *              device = info->device;
-    NMActiveConnection *    active;
+    NmCli                  *nmc    = info->nmc;
+    NMDevice               *device = info->device;
+    NMActiveConnection     *active;
     NMActiveConnectionState state;
-    const GPtrArray *       ac_devs;
-    GError *                error = NULL;
+    const GPtrArray        *ac_devs;
+    GError                 *error = NULL;
 
     info->active = active = nm_client_activate_connection_finish(NM_CLIENT(client), result, &error);
 
@@ -2820,19 +2823,19 @@ activate_connection_cb(GObject *client, GAsyncResult *result, gpointer user_data
 }
 
 static gboolean
-nmc_activate_connection(NmCli *             nmc,
-                        NMConnection *      connection,
-                        const char *        ifname,
-                        const char *        ap,
-                        const char *        nsp,
-                        const char *        pwds,
+nmc_activate_connection(NmCli              *nmc,
+                        NMConnection       *connection,
+                        const char         *ifname,
+                        const char         *ap,
+                        const char         *nsp,
+                        const char         *pwds,
                         GAsyncReadyCallback callback,
-                        GError **           error)
+                        GError            **error)
 {
     ActivateConnectionInfo *info;
 
     GHashTable *pwds_hash;
-    NMDevice *  device      = NULL;
+    NMDevice   *device      = NULL;
     const char *spec_object = NULL;
     gboolean    device_found;
 
@@ -2930,16 +2933,16 @@ nmc_activate_connection(NmCli *             nmc,
 static void
 do_connection_up(const NMCCommand *cmd, NmCli *nmc, int argc, const char *const *argv)
 {
-    NMConnection *connection      = NULL;
-    const char *  ifname          = NULL;
-    const char *  ap              = NULL;
-    const char *  nsp             = NULL;
-    const char *  pwds            = NULL;
-    gs_free_error GError *error   = NULL;
-    gs_strfreev char **   arg_arr = NULL;
+    NMConnection         *connection = NULL;
+    const char           *ifname     = NULL;
+    const char           *ap         = NULL;
+    const char           *nsp        = NULL;
+    const char           *pwds       = NULL;
+    gs_free_error GError *error      = NULL;
+    gs_strfreev char    **arg_arr    = NULL;
     int                   arg_num;
-    const char *const **  argv_ptr;
-    int *                 argc_ptr;
+    const char *const   **argv_ptr;
+    int                  *argc_ptr;
 
     /*
      * Set default timeout for connection activation.
@@ -3058,7 +3061,7 @@ typedef struct {
     NmCli *nmc;
     /* a list of object that is relevant for the callback. The object
      * type differs, and depends on the type of callback. */
-    GPtrArray *   obj_list;
+    GPtrArray    *obj_list;
     guint         timeout_id;
     GCancellable *cancellable;
 } ConnectionCbInfo;
@@ -3067,8 +3070,8 @@ static void
 connection_removed_cb(NMClient *client, NMConnection *connection, ConnectionCbInfo *info);
 
 static void down_active_connection_state_cb(NMActiveConnection *active,
-                                            GParamSpec *        pspec,
-                                            ConnectionCbInfo *  info);
+                                            GParamSpec         *pspec,
+                                            ConnectionCbInfo   *info);
 
 static void
 connection_cb_info_obj_list_destroy(ConnectionCbInfo *info, gpointer obj)
@@ -3165,8 +3168,8 @@ connection_removed_cb(NMClient *client, NMConnection *connection, ConnectionCbIn
 
 static void
 down_active_connection_state_cb(NMActiveConnection *active,
-                                GParamSpec *        pspec,
-                                ConnectionCbInfo *  info)
+                                GParamSpec         *pspec,
+                                ConnectionCbInfo   *info)
 {
     if (nm_active_connection_get_state(active) < NM_ACTIVE_CONNECTION_STATE_DEACTIVATED)
         return;
@@ -3194,13 +3197,13 @@ connection_op_timeout_cb(gpointer user_data)
 static void
 do_connection_down(const NMCCommand *cmd, NmCli *nmc, int argc, const char *const *argv)
 {
-    NMActiveConnection *active;
-    ConnectionCbInfo *  info = NULL;
-    const GPtrArray *   active_cons;
-    gs_strfreev char ** arg_arr = NULL;
-    const char *const * arg_ptr;
-    int                 arg_num;
-    guint               i;
+    NMActiveConnection          *active;
+    ConnectionCbInfo            *info = NULL;
+    const GPtrArray             *active_cons;
+    gs_strfreev char           **arg_arr = NULL;
+    const char *const           *arg_ptr;
+    int                          arg_num;
+    guint                        i;
     gs_unref_ptrarray GPtrArray *found_active_cons = NULL;
 
     if (nmc->timeout == -1)
@@ -3351,7 +3354,7 @@ get_valid_options_string(const NMMetaSettingValidPartItem *const *array,
                          const NMMetaSettingValidPartItem *const *array_slv)
 {
     const NMMetaSettingValidPartItem *const *iter = array;
-    GString *                                str;
+    GString                                 *str;
     int                                      i;
 
     str = g_string_sized_new(150);
@@ -3422,8 +3425,8 @@ get_valid_settings_array(const char *con_type)
 }
 
 static char *
-_construct_property_name(const char *           setting_name,
-                         const char *           property_name,
+_construct_property_name(const char            *setting_name,
+                         const char            *property_name,
                          NMMetaAccessorModifier modifier)
 {
     return g_strdup_printf("%s%s.%s\n",
@@ -3452,12 +3455,12 @@ static char *
 get_valid_properties_string(const NMMetaSettingValidPartItem *const *array,
                             const NMMetaSettingValidPartItem *const *array_slv,
                             NMMetaAccessorModifier                   modifier,
-                            const char *                             prefix,
-                            const char *                             postfix)
+                            const char                              *prefix,
+                            const char                              *postfix)
 {
     const NMMetaSettingValidPartItem *const *iter      = array;
-    const char *                             prop_name = NULL;
-    GString *                                str;
+    const char                              *prop_name = NULL;
+    GString                                 *str;
     guint                                    i, j;
     gboolean                                 full_match = FALSE;
 
@@ -3493,7 +3496,7 @@ get_valid_properties_string(const NMMetaSettingValidPartItem *const *array,
             /* Search the array with the arguments of the current property */
             for (j = 0; j < setting_info->properties_num; j++) {
                 gs_free char *ss1 = NULL;
-                const char *  arg_name;
+                const char   *arg_name;
 
                 arg_name = setting_info->properties[j]->property_name;
 
@@ -3526,16 +3529,16 @@ get_valid_properties_string(const NMMetaSettingValidPartItem *const *array,
  * The returned string must not be freed.
  */
 static const char *
-check_valid_name(const char *                             val,
+check_valid_name(const char                              *val,
                  const NMMetaSettingValidPartItem *const *array,
                  const NMMetaSettingValidPartItem *const *array_slv,
-                 GError **                                error)
+                 GError                                 **error)
 {
     const NMMetaSettingValidPartItem *const *iter;
-    gs_unref_ptrarray GPtrArray *tmp_arr = NULL;
-    const char *                 str;
-    GError *                     tmp_err = NULL;
-    int                          i;
+    gs_unref_ptrarray GPtrArray             *tmp_arr = NULL;
+    const char                              *str;
+    GError                                  *tmp_err = NULL;
+    int                                      i;
 
     g_return_val_if_fail(array, NULL);
 
@@ -3590,11 +3593,11 @@ check_valid_name(const char *                             val,
 static const char *
 check_valid_name_toplevel(const char *val, const char **slave_type, GError **error)
 {
-    gs_unref_ptrarray GPtrArray *  tmp_arr = NULL;
+    gs_unref_ptrarray GPtrArray   *tmp_arr = NULL;
     const NMMetaSettingInfoEditor *setting_info;
-    gs_free_error GError *tmp_err = NULL;
-    const char *          str;
-    int                   i;
+    gs_free_error GError          *tmp_err = NULL;
+    const char                    *str;
+    int                            i;
 
     NM_SET_OUT(slave_type, NULL);
 
@@ -3649,11 +3652,11 @@ check_valid_name_toplevel(const char *val, const char **slave_type, GError **err
 static gboolean
 is_setting_mandatory(NMConnection *connection, NMSetting *setting)
 {
-    NMSettingConnection *                    s_con;
-    const char *                             c_type;
+    NMSettingConnection                     *s_con;
+    const char                              *c_type;
     const NMMetaSettingValidPartItem *const *item;
-    const char *                             name;
-    const char *                             s_type;
+    const char                              *name;
+    const char                              *s_type;
     guint                                    i;
 
     s_con = nm_connection_get_setting_connection(connection);
@@ -3716,17 +3719,17 @@ _strip_master_prefix(const char *master, const char *(**func)(NMConnection *) )
  */
 static const char *
 normalized_master_for_slave(const GPtrArray *connections,
-                            const char *     master,
-                            const char *     type,
-                            const char **    out_type)
+                            const char      *master,
+                            const char      *type,
+                            const char     **out_type)
 {
-    NMConnection *       connection;
+    NMConnection        *connection;
     NMSettingConnection *s_con;
-    const char *         con_type = NULL, *id, *uuid, *ifname;
+    const char          *con_type = NULL, *id, *uuid, *ifname;
     guint                i;
-    const char *         found_by_id    = NULL;
-    const char *         out_type_by_id = NULL;
-    const char *         out_master     = NULL;
+    const char          *found_by_id    = NULL;
+    const char          *out_type_by_id = NULL;
+    const char          *out_master     = NULL;
     const char *(*func)(NMConnection *) = NULL;
 
     if (!master)
@@ -3806,10 +3809,10 @@ prompt_yes_no(gboolean default_yes, char *delim)
 }
 
 static NMSetting *
-is_setting_valid(NMConnection *                           connection,
+is_setting_valid(NMConnection                            *connection,
                  const NMMetaSettingValidPartItem *const *valid_settings_main,
                  const NMMetaSettingValidPartItem *const *valid_settings_slave,
-                 const char *                             setting)
+                 const char                              *setting)
 {
     const char *setting_name;
 
@@ -3823,7 +3826,7 @@ static char *
 is_property_valid(NMSetting *setting, const char *property, GError **error)
 {
     gs_strfreev char **valid_props = NULL;
-    const char *       prop_name;
+    const char        *prop_name;
 
     valid_props = nmc_setting_get_valid_properties(setting);
     prop_name   = nmc_string_is_valid(property, (const char **) valid_props, error);
@@ -3876,7 +3879,7 @@ set_default_interface_name(NmCli *nmc, NMSettingConnection *s_con)
 
     if (default_name) {
         const GPtrArray *connections;
-        gs_free char *   ifname = NULL;
+        gs_free char    *ifname = NULL;
 
         connections = nm_client_get_connections(nmc->client);
         ifname      = unique_master_iface_ifname(connections, default_name);
@@ -3932,10 +3935,10 @@ _meta_property_needs_bond_hack(const NMMetaPropertyInfo *property_info)
 static char **
 _meta_abstract_complete(const NMMetaAbstractInfo *abstract_info, const char *text)
 {
-    const char *const *          values;
-    char **                      values_to_free = NULL;
+    const char *const           *values;
+    char                       **values_to_free = NULL;
     const NMMetaOperationContext ctx            = {
-        .connection = nmc_tab_completion.connection,
+                   .connection = nmc_tab_completion.connection,
     };
 
     values = nm_meta_abstract_info_complete(abstract_info,
@@ -3961,14 +3964,14 @@ _meta_abstract_generator(const char *text, int state)
 }
 
 static void
-_meta_abstract_get(const NMMetaAbstractInfo *      abstract_info,
+_meta_abstract_get(const NMMetaAbstractInfo       *abstract_info,
                    const NMMetaSettingInfoEditor **out_setting_info,
-                   const char **                   out_setting_name,
-                   const char **                   out_property_name,
-                   const char **                   out_option,
-                   NMMetaPropertyInfFlags *        out_inf_flags,
-                   const char **                   out_prompt,
-                   const char **                   out_def_hint)
+                   const char                    **out_setting_name,
+                   const char                    **out_property_name,
+                   const char                    **out_option,
+                   NMMetaPropertyInfFlags         *out_inf_flags,
+                   const char                    **out_prompt,
+                   const char                    **out_def_hint)
 {
     const NMMetaPropertyInfo *info = (const NMMetaPropertyInfo *) abstract_info;
 
@@ -4031,7 +4034,7 @@ enable_options(const char *setting_name, const char *property, const char *const
 static void
 disable_options(const char *setting_name, const char *property)
 {
-    const NMMetaPropertyInfo *       property_infos_local[2];
+    const NMMetaPropertyInfo        *property_infos_local[2];
     const NMMetaPropertyInfo *const *property_infos;
     guint                            p;
 
@@ -4119,17 +4122,17 @@ reset_options(void)
 }
 
 static gboolean
-set_property(NMClient *             client,
-             NMConnection *         connection,
-             const char *           setting_name,
-             const char *           property,
-             const char *           value,
+set_property(NMClient              *client,
+             NMConnection          *connection,
+             const char            *setting_name,
+             const char            *property,
+             const char            *value,
              NMMetaAccessorModifier modifier,
-             GError **              error)
+             GError               **error)
 {
-    gs_free char *property_name = NULL;
-    gs_free_error GError *local = NULL;
-    NMSetting *           setting;
+    gs_free char         *property_name = NULL;
+    gs_free_error GError *local         = NULL;
+    NMSetting            *setting;
 
     nm_assert(setting_name && setting_name[0]);
     nm_assert(NM_IN_SET(modifier,
@@ -4182,15 +4185,15 @@ set_property(NMClient *             client,
 }
 
 static gboolean
-set_option(NmCli *                   nmc,
-           NMConnection *            connection,
+set_option(NmCli                    *nmc,
+           NMConnection             *connection,
            const NMMetaAbstractInfo *abstract_info,
-           const char *              value,
-           GError **                 error)
+           const char               *value,
+           GError                  **error)
 {
-    const char *           setting_name, *property_name, *option_name;
+    const char            *setting_name, *property_name, *option_name;
     NMMetaPropertyInfFlags inf_flags;
-    const OptionInfo *     option;
+    const OptionInfo      *option;
 
     option = _meta_abstract_get_option_info(abstract_info);
 
@@ -4227,12 +4230,12 @@ set_option(NmCli *                   nmc,
  * and slave type.
  */
 static gboolean
-con_settings(NMConnection *                            connection,
+con_settings(NMConnection                             *connection,
              const NMMetaSettingValidPartItem *const **type_settings,
              const NMMetaSettingValidPartItem *const **slv_settings,
-             GError **                                 error)
+             GError                                  **error)
 {
-    const char *         con_type;
+    const char          *con_type;
     NMSettingConnection *s_con;
 
     g_return_val_if_fail(type_settings, FALSE);
@@ -4332,17 +4335,17 @@ gen_func_bond_lacp_rate(const char *text, int state)
 /*****************************************************************************/
 
 static gboolean
-set_connection_type(NmCli *           nmc,
-                    NMConnection *    con,
+set_connection_type(NmCli            *nmc,
+                    NMConnection     *con,
                     const OptionInfo *option,
-                    const char *      value,
-                    GError **         error)
+                    const char       *value,
+                    GError          **error)
 {
     const NMMetaSettingValidPartItem *const *type_settings;
     const NMMetaSettingValidPartItem *const *slv_settings;
-    GError *                                 local      = NULL;
-    const char *                             master[]   = {"master", NULL};
-    const char *                             slave_type = NULL;
+    GError                                  *local      = NULL;
+    const char                              *master[]   = {"master", NULL};
+    const char                              *slave_type = NULL;
 
     value = check_valid_name_toplevel(value, &slave_type, &local);
     if (!value) {
@@ -4396,11 +4399,11 @@ set_connection_type(NmCli *           nmc,
 }
 
 static gboolean
-set_connection_iface(NmCli *           nmc,
-                     NMConnection *    con,
+set_connection_iface(NmCli            *nmc,
+                     NMConnection     *con,
                      const OptionInfo *option,
-                     const char *      value,
-                     GError **         error)
+                     const char       *value,
+                     GError          **error)
 {
     if (value) {
         /* Special value of '*' means no specific interface name */
@@ -4418,15 +4421,15 @@ set_connection_iface(NmCli *           nmc,
 }
 
 static gboolean
-set_connection_master(NmCli *           nmc,
-                      NMConnection *    con,
+set_connection_master(NmCli            *nmc,
+                      NMConnection     *con,
                       const OptionInfo *option,
-                      const char *      value,
-                      GError **         error)
+                      const char       *value,
+                      GError          **error)
 {
-    const GPtrArray *    connections;
+    const GPtrArray     *connections;
     NMSettingConnection *s_con;
-    const char *         slave_type;
+    const char          *slave_type;
 
     s_con = nm_connection_get_setting_connection(con);
     g_return_val_if_fail(s_con, FALSE);
@@ -4463,16 +4466,16 @@ set_connection_master(NmCli *           nmc,
 }
 
 static gboolean
-set_bond_option(NmCli *           nmc,
-                NMConnection *    con,
+set_bond_option(NmCli            *nmc,
+                NMConnection     *con,
                 const OptionInfo *option,
-                const char *      value,
-                GError **         error)
+                const char       *value,
+                GError          **error)
 {
     NMSettingBond *s_bond;
     gboolean       success;
-    gs_free char * name = NULL;
-    char *         p;
+    gs_free char  *name = NULL;
+    char          *p;
 
     s_bond = nm_connection_get_setting_bond(con);
     g_return_val_if_fail(s_bond, FALSE);
@@ -4507,16 +4510,16 @@ set_bond_option(NmCli *           nmc,
 }
 
 static gboolean
-set_bond_monitoring_mode(NmCli *           nmc,
-                         NMConnection *    con,
+set_bond_monitoring_mode(NmCli            *nmc,
+                         NMConnection     *con,
                          const OptionInfo *option,
-                         const char *      value,
-                         GError **         error)
+                         const char       *value,
+                         GError          **error)
 {
     NMSettingBond *s_bond;
-    gs_free char * monitor_mode  = NULL;
-    const char *   miimon_opts[] = {"miimon", "downdelay", "updelay", NULL};
-    const char *   arp_opts[]    = {"arp-interval", "arp-ip-target", NULL};
+    gs_free char  *monitor_mode  = NULL;
+    const char    *miimon_opts[] = {"miimon", "downdelay", "updelay", NULL};
+    const char    *arp_opts[]    = {"arp-interval", "arp-ip-target", NULL};
 
     s_bond = nm_connection_get_setting_bond(con);
     g_return_val_if_fail(s_bond, FALSE);
@@ -4547,11 +4550,11 @@ set_bond_monitoring_mode(NmCli *           nmc,
 }
 
 static gboolean
-set_bluetooth_type(NmCli *           nmc,
-                   NMConnection *    con,
+set_bluetooth_type(NmCli            *nmc,
+                   NMConnection     *con,
                    const OptionInfo *option,
-                   const char *      value,
-                   GError **         error)
+                   const char       *value,
+                   GError          **error)
 {
     NMSetting *setting;
 
@@ -4595,11 +4598,11 @@ set_bluetooth_type(NmCli *           nmc,
 }
 
 static gboolean
-set_ip4_address(NmCli *           nmc,
-                NMConnection *    con,
+set_ip4_address(NmCli            *nmc,
+                NMConnection     *con,
                 const OptionInfo *option,
-                const char *      value,
-                GError **         error)
+                const char       *value,
+                GError          **error)
 {
     NMSettingIPConfig *s_ip4;
 
@@ -4622,11 +4625,11 @@ set_ip4_address(NmCli *           nmc,
 }
 
 static gboolean
-set_ip6_address(NmCli *           nmc,
-                NMConnection *    con,
+set_ip6_address(NmCli            *nmc,
+                NMConnection     *con,
                 const OptionInfo *option,
-                const char *      value,
-                GError **         error)
+                const char       *value,
+                GError          **error)
 {
     NMSettingIPConfig *s_ip6;
 
@@ -4703,9 +4706,9 @@ _meta_abstract_get_option_info(const NMMetaAbstractInfo *abstract_info)
         OPTION_INFO(IP6_CONFIG, NM_SETTING_IP_CONFIG_ADDRESSES, "ip6", set_ip6_address, NULL),
         {0},
     };
-    const char *                   property_name, *option;
+    const char                    *property_name, *option;
     const NMMetaSettingInfoEditor *setting_info;
-    const OptionInfo *             candidate;
+    const OptionInfo              *candidate;
 
     _meta_abstract_get(abstract_info,
                        &setting_info,
@@ -4728,7 +4731,7 @@ _meta_abstract_get_option_info(const NMMetaAbstractInfo *abstract_info)
 static gboolean
 option_relevant(NMConnection *connection, const NMMetaAbstractInfo *abstract_info)
 {
-    const char *           setting_name;
+    const char            *setting_name;
     NMMetaPropertyInfFlags inf_flags;
 
     _meta_abstract_get(abstract_info, NULL, &setting_name, NULL, NULL, &inf_flags, NULL, NULL);
@@ -4746,18 +4749,18 @@ option_relevant(NMConnection *connection, const NMMetaAbstractInfo *abstract_inf
 /*****************************************************************************/
 
 static void
-complete_property_name(NmCli *                nmc,
-                       NMConnection *         connection,
+complete_property_name(NmCli                 *nmc,
+                       NMConnection          *connection,
                        NMMetaAccessorModifier modifier,
-                       const char *           prefix,
-                       const char *           postfix)
+                       const char            *prefix,
+                       const char            *postfix)
 {
-    NMSettingConnection *                    s_con;
+    NMSettingConnection                     *s_con;
     const NMMetaSettingValidPartItem *const *valid_settings_main;
     const NMMetaSettingValidPartItem *const *valid_settings_slave;
-    const char *                             connection_type = NULL;
-    const char *                             slave_type      = NULL;
-    gs_free char *                           word_list       = NULL;
+    const char                              *connection_type = NULL;
+    const char                              *slave_type      = NULL;
+    gs_free char                            *word_list       = NULL;
     NMMetaSettingType                        s;
 
     connection_type = nm_connection_get_connection_type(connection);
@@ -4831,17 +4834,17 @@ run_rl_generator(rl_compentry_func_t *generator_func, const char *prefix)
 }
 
 static gboolean
-complete_option(NmCli *                   nmc,
+complete_option(NmCli                    *nmc,
                 const NMMetaAbstractInfo *abstract_info,
-                const char *              prefix,
-                NMConnection *            context_connection)
+                const char               *prefix,
+                NMConnection             *context_connection)
 {
-    const OptionInfo *           candidate;
-    const char *const *          values;
-    gs_strfreev char **          values_to_free    = NULL;
+    const OptionInfo            *candidate;
+    const char *const           *values;
+    gs_strfreev char           **values_to_free    = NULL;
     gboolean                     complete_filename = FALSE;
     const NMMetaOperationContext ctx               = {
-        .connection = context_connection,
+                      .connection = context_connection,
     };
 
     values = nm_meta_abstract_info_complete(abstract_info,
@@ -4873,7 +4876,7 @@ complete_option(NmCli *                   nmc,
 static void
 complete_existing_setting(NmCli *nmc, NMConnection *connection, const char *prefix)
 {
-    gs_free NMSetting **           settings = NULL;
+    gs_free NMSetting            **settings = NULL;
     const NMMetaSettingInfoEditor *editor;
     guint                          i;
 
@@ -4892,10 +4895,10 @@ complete_existing_setting(NmCli *nmc, NMConnection *connection, const char *pref
 }
 
 static void
-complete_property(NmCli *       nmc,
-                  const char *  setting_name,
-                  const char *  property,
-                  const char *  prefix,
+complete_property(NmCli        *nmc,
+                  const char   *setting_name,
+                  const char   *property,
+                  const char   *prefix,
                   NMConnection *connection)
 {
     const NMMetaPropertyInfo *property_info;
@@ -4928,11 +4931,11 @@ connection_remove_setting(NMConnection *connection, NMSetting *setting, GError *
 }
 
 static gboolean
-get_value(const char **       value,
-          int *               argc,
+get_value(const char        **value,
+          int                *argc,
           const char *const **argv,
-          const char *        option,
-          GError **           error)
+          const char         *option,
+          GError            **error)
 {
     if (!**argv) {
         g_set_error(error,
@@ -4955,12 +4958,12 @@ get_value(const char **       value,
 }
 
 gboolean
-nmc_process_connection_properties(NmCli *             nmc,
-                                  NMConnection *      connection,
-                                  int *               argc,
+nmc_process_connection_properties(NmCli              *nmc,
+                                  NMConnection       *connection,
+                                  int                *argc,
                                   const char *const **argv,
                                   gboolean            allow_setting_removal,
-                                  GError **           error)
+                                  GError            **error)
 {
     /* First check if we have a slave-type, as this would mean we will not
      * have ip properties but possibly others, slave-type specific.
@@ -4970,13 +4973,13 @@ nmc_process_connection_properties(NmCli *             nmc,
         const NMMetaSettingValidPartItem *const *type_settings;
         const NMMetaSettingValidPartItem *const *slv_settings;
         NMMetaAccessorModifier                   modifier;
-        const char *                             option_orig;
-        const char *                             option;
-        const char *                             value = NULL;
-        const char *                             tmp;
-        const NMMetaAbstractInfo *               chosen              = NULL;
-        const char *                             chosen_setting_name = NULL;
-        const char *                             chosen_option       = NULL;
+        const char                              *option_orig;
+        const char                              *option;
+        const char                              *value = NULL;
+        const char                              *tmp;
+        const NMMetaAbstractInfo                *chosen              = NULL;
+        const char                              *chosen_setting_name = NULL;
+        const char                              *chosen_option       = NULL;
         NMMetaSettingType                        s;
 
         if (!con_settings(connection, &type_settings, &slv_settings, error))
@@ -5016,7 +5019,7 @@ nmc_process_connection_properties(NmCli *             nmc,
 
         if (allow_setting_removal && modifier == NM_META_ACCESSOR_MODIFIER_SET
             && nm_streq(option, "remove")) {
-            NMSetting * ss;
+            NMSetting  *ss;
             const char *setting_name;
 
             (*argc)--;
@@ -5060,9 +5063,9 @@ nmc_process_connection_properties(NmCli *             nmc,
 
         if ((tmp = strchr(option, '.'))) {
             gs_free char *option_sett = g_strndup(option, tmp - option);
-            const char *  option_prop = &tmp[1];
-            const char *  option_sett_expanded;
-            GError *      local = NULL;
+            const char   *option_prop = &tmp[1];
+            const char   *option_sett_expanded;
+            GError       *local = NULL;
 
             /* This seems like a <setting>.<property> (such as "connection.id" or "bond.mode"),
              * optionally prefixed with "+| or "-". */
@@ -5208,10 +5211,10 @@ static void
 add_connection_cb(GObject *client, GAsyncResult *result, gpointer user_data)
 {
     nm_auto_free_add_connection_info AddConnectionInfo *info = user_data;
-    NmCli *                                             nmc  = info->nmc;
-    NMRemoteConnection *                                connection;
-    GError *                                            error = NULL;
-    const GPtrArray *                                   connections;
+    NmCli                                              *nmc  = info->nmc;
+    NMRemoteConnection                                 *connection;
+    GError                                             *error = NULL;
+    const GPtrArray                                    *connections;
     guint                                               i, found;
 
     connection = nm_client_add_connection2_finish(NM_CLIENT(client), result, NULL, &error);
@@ -5266,8 +5269,8 @@ add_connection_cb(GObject *client, GAsyncResult *result, gpointer user_data)
 }
 
 static void
-add_connection(NMClient *          client,
-               NMConnection *      connection,
+add_connection(NMClient           *client,
+               NMConnection       *connection,
                gboolean            temporary,
                GAsyncReadyCallback callback,
                gpointer            user_data)
@@ -5311,10 +5314,10 @@ static char **
 nmcli_con_add_tab_completion(const char *text, int start, int end)
 {
     NMMetaSettingType         s;
-    char **                   match_array    = NULL;
-    rl_compentry_func_t *     generator_func = NULL;
-    gs_free char *            no             = g_strdup_printf("[%s]: ", _("no"));
-    gs_free char *            yes            = g_strdup_printf("[%s]: ", _("yes"));
+    char                    **match_array    = NULL;
+    rl_compentry_func_t      *generator_func = NULL;
+    gs_free char             *no             = g_strdup_printf("[%s]: ", _("no"));
+    gs_free char             *yes            = g_strdup_printf("[%s]: ", _("yes"));
     const NMMetaAbstractInfo *info;
 
     /* Disable readline's default filename completion */
@@ -5379,11 +5382,11 @@ next:
 static void
 ask_option(NmCli *nmc, NMConnection *connection, const NMMetaAbstractInfo *abstract_info)
 {
-    char *                 value;
-    GError *               error  = NULL;
-    gs_free char *         prompt = NULL;
+    char                  *value;
+    GError                *error  = NULL;
+    gs_free char          *prompt = NULL;
     gboolean               multi;
-    const char *           opt_prompt, *opt_def_hint;
+    const char            *opt_prompt, *opt_def_hint;
     NMMetaPropertyInfFlags inf_flags;
 
     _meta_abstract_get(abstract_info,
@@ -5420,8 +5423,8 @@ again:
 static NMMetaSettingType
 connection_get_base_meta_setting_type(NMConnection *connection)
 {
-    const char *                   connection_type;
-    NMSetting *                    base_setting;
+    const char                    *connection_type;
+    NMSetting                     *base_setting;
     const NMMetaSettingInfoEditor *editor;
 
     connection_type = nm_connection_get_connection_type(connection);
@@ -5438,7 +5441,7 @@ static void
 questionnaire_mandatory_ask_setting(NmCli *nmc, NMConnection *connection, NMMetaSettingType type)
 {
     const NMMetaSettingInfoEditor *editor;
-    const NMMetaPropertyInfo *     property_info;
+    const NMMetaPropertyInfo      *property_info;
     guint                          p;
 
     editor = &nm_meta_setting_infos_editor[type];
@@ -5516,7 +5519,7 @@ want_provide_opt_args(const NmcConfig *nmc_config, const char *type, guint num)
 static gboolean
 questionnaire_one_optional(NmCli *nmc, NMConnection *connection)
 {
-    NMMetaSettingType base;
+    NMMetaSettingType            base;
     gs_unref_ptrarray GPtrArray *infos = NULL;
     guint                        i, j;
     gboolean                     already_confirmed = FALSE;
@@ -5600,11 +5603,11 @@ static void
 do_connection_add(const NMCCommand *cmd, NmCli *nmc, int argc, const char *const *argv)
 {
     gs_unref_object NMConnection *connection = NULL;
-    NMSettingConnection *         s_con;
-    gs_free_error GError *error          = NULL;
-    gboolean              save_bool      = TRUE;
-    gboolean              seen_dash_dash = FALSE;
-    NMMetaSettingType     s;
+    NMSettingConnection          *s_con;
+    gs_free_error GError         *error          = NULL;
+    gboolean                      save_bool      = TRUE;
+    gboolean                      seen_dash_dash = FALSE;
+    NMMetaSettingType             s;
 
     next_arg(nmc, &argc, &argv, NULL);
 
@@ -5679,8 +5682,8 @@ read_properties:
         /* If only bother when there's a type, which is not guaranteed at this point.
          * Otherwise, the validation will fail anyway. */
         if (type) {
-            gs_free char *   try_name     = NULL;
-            gs_free char *   default_name = NULL;
+            gs_free char    *try_name     = NULL;
+            gs_free char    *default_name = NULL;
             const GPtrArray *connections;
 
             connections = nm_client_get_connections(nmc->client);
@@ -5769,10 +5772,10 @@ static void
 uuid_display_hook(char **array, int len, int max_len)
 {
     const GPtrArray *connections;
-    NMConnection *   con;
+    NMConnection    *con;
     int              i, max = 0;
-    char *           tmp;
-    const char *     id;
+    char            *tmp;
+    const char      *id;
     for (i = 1; i <= len; i++) {
         connections = nm_client_get_connections(nmc_tab_completion.nmc->client);
         con         = nmc_find_connection(connections, "uuid", array[i], NULL, FALSE);
@@ -5842,12 +5845,12 @@ static char *
 gen_cmd_print0(const char *text, int state)
 {
     static char **words = NULL;
-    char *        ret   = NULL;
+    char         *ret   = NULL;
 
     if (!state) {
-        GVariant *   settings;
+        GVariant    *settings;
         GVariantIter iter;
-        const char * setting_name;
+        const char  *setting_name;
         int          i = 0;
 
         settings = nm_connection_to_dbus(nmc_tab_completion.connection,
@@ -5888,9 +5891,9 @@ gen_cmd_save(const char *text, int state)
 static rl_compentry_func_t *
 gen_connection_types(const char *text)
 {
-    gs_free char **                values = NULL;
+    gs_free char                 **values = NULL;
     const NMMetaSettingInfoEditor *editor;
-    GPtrArray *                    array;
+    GPtrArray                     *array;
     int                            i;
 
     array = g_ptr_array_new();
@@ -5918,10 +5921,10 @@ static char *
 gen_setting_names(const char *text, int state)
 {
     static int                               list_idx, len, is_slv;
-    const char *                             s_name, *a_name;
+    const char                              *s_name, *a_name;
     const NMMetaSettingValidPartItem *const *valid_settings_arr;
-    NMSettingConnection *                    s_con;
-    const char *                             s_type = NULL;
+    NMSettingConnection                     *s_con;
+    const char                              *s_type = NULL;
 
     if (!state) {
         list_idx = 0;
@@ -5982,16 +5985,16 @@ gen_setting_names(const char *text, int state)
 static char *
 gen_property_names(const char *text, int state)
 {
-    NMSetting *                              setting     = NULL;
-    char **                                  valid_props = NULL;
-    char *                                   ret         = NULL;
-    const char *                             line        = rl_line_buffer;
-    const char *                             setting_name;
-    char **                                  strv = NULL;
+    NMSetting                               *setting     = NULL;
+    char                                   **valid_props = NULL;
+    char                                    *ret         = NULL;
+    const char                              *line        = rl_line_buffer;
+    const char                              *setting_name;
+    char                                   **strv = NULL;
     const NMMetaSettingValidPartItem *const *valid_settings_main;
     const NMMetaSettingValidPartItem *const *valid_settings_slave;
-    const char *                             p1;
-    const char *                             slv_type;
+    const char                              *p1;
+    const char                              *slv_type;
 
     /* Try to get the setting from 'line' - setting_name.property */
     p1 = strchr(line, '.');
@@ -6046,8 +6049,8 @@ gen_compat_devices(const char *text, int state)
 {
     guint            i, j = 0;
     const GPtrArray *devices;
-    const char **    compatible_devices;
-    char *           ret;
+    const char     **compatible_devices;
+    char            *ret;
 
     devices = nm_client_get_devices(nmc_tab_completion.nmc->client);
     if (devices->len == 0)
@@ -6055,9 +6058,9 @@ gen_compat_devices(const char *text, int state)
 
     compatible_devices = g_new(const char *, devices->len + 1);
     for (i = 0; i < devices->len; i++) {
-        NMDevice *  dev         = g_ptr_array_index(devices, i);
+        NMDevice   *dev         = g_ptr_array_index(devices, i);
         const char *ifname      = nm_device_get_iface(dev);
-        NMDevice *  device      = NULL;
+        NMDevice   *device      = NULL;
         const char *spec_object = NULL;
 
         if (find_device_for_connection(nmc_tab_completion.nmc,
@@ -6091,7 +6094,7 @@ _create_vpn_array(const GPtrArray *connections, gboolean uuid)
     array = g_new(const char *, connections->len + 1);
     for (c = 0; c < connections->len; c++) {
         NMConnection *connection = NM_CONNECTION(connections->pdata[c]);
-        const char *  type       = nm_connection_get_connection_type(connection);
+        const char   *type       = nm_connection_get_connection_type(connection);
 
         if (nm_streq0(type, NM_SETTING_VPN_SETTING_NAME))
             array[idx++] =
@@ -6105,8 +6108,8 @@ static char *
 gen_vpn_uuids(const char *text, int state)
 {
     const GPtrArray *connections;
-    const char **    uuids;
-    char *           ret;
+    const char     **uuids;
+    char            *ret;
 
     connections = nm_client_get_connections(nm_cli_global_readline->client);
     if (connections->len < 1)
@@ -6122,8 +6125,8 @@ static char *
 gen_vpn_ids(const char *text, int state)
 {
     const GPtrArray *connections;
-    const char **    ids;
-    char *           ret;
+    const char     **ids;
+    char            *ret;
 
     connections = nm_client_get_connections(nm_cli_global_readline->client);
     if (connections->len < 1)
@@ -6171,7 +6174,7 @@ get_gen_func_cmd_nmcli(const char *str)
 static gboolean
 should_complete_cmd(const char *line, int end, const char *cmd, int *cw_num, char **prev_word)
 {
-    char *      tmp;
+    char       *tmp;
     const char *word1, *word2, *word3;
     size_t      n1, n2, n3, n4, n5, n6;
     gboolean    word1_done, word2_done, word3_done;
@@ -6305,17 +6308,17 @@ static void
 get_setting_and_property(const char *prompt,
                          const char *line,
                          NMSetting **setting_out,
-                         char **     property_out)
+                         char      **property_out)
 {
     const NMMetaSettingValidPartItem *const *valid_settings_main;
     const NMMetaSettingValidPartItem *const *valid_settings_slave;
-    gs_unref_object NMSetting *setting  = NULL;
-    gs_free char *             property = NULL;
-    NMSettingConnection *      s_con;
-    gs_free char *             sett   = NULL;
-    gs_free char *             prop   = NULL;
-    const char *               s_type = NULL;
-    const char *               setting_name;
+    gs_unref_object NMSetting               *setting  = NULL;
+    gs_free char                            *property = NULL;
+    NMSettingConnection                     *s_con;
+    gs_free char                            *sett   = NULL;
+    gs_free char                            *prop   = NULL;
+    const char                              *s_type = NULL;
+    const char                              *setting_name;
 
     extract_setting_and_property(prompt, line, &sett, &prop);
 
@@ -6345,11 +6348,11 @@ get_setting_and_property(const char *prompt,
 }
 
 static gboolean
-_get_and_check_property(const char * prompt,
-                        const char * line,
+_get_and_check_property(const char  *prompt,
+                        const char  *line,
                         const char **array,
                         const char **array_multi,
-                        gboolean *   multi)
+                        gboolean    *multi)
 {
     gs_free char *prop  = NULL;
     gboolean      found = FALSE;
@@ -6398,8 +6401,8 @@ static const char *const *
 get_allowed_property_values(char ***out_to_free)
 {
     gs_unref_object NMSetting *setting  = NULL;
-    gs_free char *             property = NULL;
-    const char *const *        avals    = NULL;
+    gs_free char              *property = NULL;
+    const char *const         *avals    = NULL;
 
     get_setting_and_property(rl_prompt, rl_line_buffer, &setting, &property);
     if (setting && property)
@@ -6444,7 +6447,7 @@ static gboolean
 should_complete_boolean(const char *prompt, const char *line)
 {
     gs_unref_object NMSetting *setting  = NULL;
-    gs_free char *             property = NULL;
+    gs_free char              *property = NULL;
 
     get_setting_and_property(prompt, line, &setting, &property);
     return setting && property && _setting_property_is_boolean(setting, property);
@@ -6477,10 +6480,10 @@ static char **
 nmcli_editor_tab_completion(const char *text, int start, int end)
 {
     rl_compentry_func_t *generator_func = NULL;
-    const char *         line           = rl_line_buffer;
-    gs_free char *       prompt_tmp     = NULL;
-    gs_free char *       word           = NULL;
-    char **              match_array    = NULL;
+    const char          *line           = rl_line_buffer;
+    gs_free char        *prompt_tmp     = NULL;
+    gs_free char        *word           = NULL;
+    char               **match_array    = NULL;
     size_t               n1;
     int                  num;
 
@@ -6615,11 +6618,11 @@ static void
 load_history_cmds(const char *uuid)
 {
     GKeyFile *kf;
-    char *    filename;
-    char **   keys;
-    char *    line;
+    char     *filename;
+    char    **keys;
+    char     *line;
     size_t    i;
-    GError *  err = NULL;
+    GError   *err = NULL;
 
     filename = g_build_filename(g_get_home_dir(), NMCLI_EDITOR_HISTORY, NULL);
     kf       = g_key_file_new();
@@ -6645,13 +6648,13 @@ load_history_cmds(const char *uuid)
 static void
 save_history_cmds(const char *uuid)
 {
-    nm_auto_unref_keyfile GKeyFile *kf = NULL;
-    gs_free_error GError *error        = NULL;
-    gs_free char *        filename     = NULL;
-    gs_free char *        data         = NULL;
-    HIST_ENTRY **         hist;
-    gsize                 len;
-    gsize                 i;
+    nm_auto_unref_keyfile GKeyFile *kf       = NULL;
+    gs_free_error GError           *error    = NULL;
+    gs_free char                   *filename = NULL;
+    gs_free char                   *data     = NULL;
+    HIST_ENTRY                    **hist;
+    gsize                           len;
+    gsize                           i;
 
     hist = history_list();
     if (!hist)
@@ -6723,13 +6726,14 @@ typedef enum {
     NMC_EDITOR_MAIN_CMD_HELP,
     NMC_EDITOR_MAIN_CMD_NMCLI,
     NMC_EDITOR_MAIN_CMD_QUIT,
+    NMC_EDITOR_MAIN_CMD_ADD,
 } NmcEditorMainCmd;
 
 static void
 _split_cmd(const char *cmd, char **out_arg0, const char **out_argr)
 {
     gs_free char *arg0 = NULL;
-    const char *  argr = NULL;
+    const char   *argr = NULL;
     gsize         l;
 
     NM_SET_OUT(out_arg0, NULL);
@@ -6760,8 +6764,8 @@ static NmcEditorMainCmd
 parse_editor_main_cmd(const char *cmd, char **cmd_arg)
 {
     NmcEditorMainCmd editor_cmd = NMC_EDITOR_MAIN_CMD_UNKNOWN;
-    gs_free char *   cmd_arg0   = NULL;
-    const char *     cmd_argr;
+    gs_free char    *cmd_arg0   = NULL;
+    const char      *cmd_argr;
 
     _split_cmd(cmd, &cmd_arg0, &cmd_argr);
     if (!cmd_arg0)
@@ -6773,6 +6777,8 @@ parse_editor_main_cmd(const char *cmd, char **cmd_arg)
         editor_cmd = NMC_EDITOR_MAIN_CMD_REMOVE;
     else if (matches(cmd_arg0, "set"))
         editor_cmd = NMC_EDITOR_MAIN_CMD_SET;
+    else if (matches(cmd_arg0, "add"))
+        editor_cmd = NMC_EDITOR_MAIN_CMD_ADD;
     else if (matches(cmd_arg0, "describe"))
         editor_cmd = NMC_EDITOR_MAIN_CMD_DESCRIBE;
     else if (matches(cmd_arg0, "print"))
@@ -6854,6 +6860,11 @@ editor_main_help(const char *command)
                       "This command sets property value.\n\n"
                       "Example: nmcli> set con.id My connection\n"));
             break;
+        case NMC_EDITOR_MAIN_CMD_ADD:
+            g_print(_("add [<setting>.<prop> <value>]  :: add property value\n\n"
+                      "This command appends property value.\n\n"
+                      "Example: nmcli> add ipv4.addresses 192.168.1.1/24\n"));
+            break;
         case NMC_EDITOR_MAIN_CMD_DESCRIBE:
             g_print(_("describe [<setting>.<prop>]  :: describe property\n\n"
                       "Shows property description. You can consult nm-settings(5) "
@@ -6951,8 +6962,8 @@ static NmcEditorSubCmd
 parse_editor_sub_cmd(const char *cmd, char **cmd_arg)
 {
     NmcEditorSubCmd editor_cmd = NMC_EDITOR_SUB_CMD_UNKNOWN;
-    gs_free char *  cmd_arg0   = NULL;
-    const char *    cmd_argr;
+    gs_free char   *cmd_arg0   = NULL;
+    const char     *cmd_argr;
 
     _split_cmd(cmd, &cmd_arg0, &cmd_argr);
     if (!cmd_arg0)
@@ -7074,14 +7085,14 @@ editor_sub_usage(const char *command)
 /*****************************************************************************/
 
 typedef struct {
-    NMDevice *          device;
+    NMDevice           *device;
     NMActiveConnection *ac;
     guint               monitor_id;
-    NmCli *             nmc;
+    NmCli              *nmc;
 } MonitorACInfo;
 
 static gboolean       nmc_editor_cb_called;
-static GError *       nmc_editor_error;
+static GError        *nmc_editor_error;
 static MonitorACInfo *nmc_editor_monitor_ac;
 
 static void
@@ -7107,7 +7118,7 @@ static void
 add_connection_editor_cb(GObject *client, GAsyncResult *result, gpointer user_data)
 {
     gs_unref_object NMRemoteConnection *connection = NULL;
-    gs_free_error GError *error                    = NULL;
+    gs_free_error GError               *error      = NULL;
 
     connection = nm_client_add_connection2_finish(NM_CLIENT(client), result, NULL, &error);
     set_info_and_signal_editor_thread(error, NULL);
@@ -7126,9 +7137,9 @@ update_connection_editor_cb(GObject *connection, GAsyncResult *result, gpointer
 static gboolean
 progress_activation_editor_cb(gpointer user_data)
 {
-    MonitorACInfo *         info   = (MonitorACInfo *) user_data;
-    NMDevice *              device = info->device;
-    NMActiveConnection *    ac     = info->ac;
+    MonitorACInfo          *info   = (MonitorACInfo *) user_data;
+    NMDevice               *device = info->device;
+    NMActiveConnection     *ac     = info->ac;
     NMActiveConnectionState ac_state;
     NMDeviceState           dev_state;
 
@@ -7174,11 +7185,11 @@ static void
 activate_connection_editor_cb(GObject *client, GAsyncResult *result, gpointer user_data)
 {
     ActivateConnectionInfo *info   = (ActivateConnectionInfo *) user_data;
-    NMDevice *              device = info->device;
-    const GPtrArray *       ac_devs;
-    MonitorACInfo *         monitor_ac_info = NULL;
-    NMActiveConnection *    active;
-    GError *                error = NULL;
+    NMDevice               *device = info->device;
+    const GPtrArray        *ac_devs;
+    MonitorACInfo          *monitor_ac_info = NULL;
+    NMActiveConnection     *active;
+    GError                 *error = NULL;
 
     active = nm_client_activate_connection_finish(NM_CLIENT(client), result, &error);
 
@@ -7237,7 +7248,7 @@ static void
 editor_show_status_line(NMConnection *connection, gboolean dirty, gboolean temp)
 {
     NMSettingConnection *s_con;
-    const char *         con_type, *con_id, *con_uuid;
+    const char          *con_type, *con_id, *con_uuid;
 
     s_con = nm_connection_get_setting_connection(connection);
     g_assert(s_con);
@@ -7296,17 +7307,17 @@ confirm_quit(const NmcConfig *nmc_config)
  * Return: TRUE - continue;  FALSE - should quit
  */
 static gboolean
-property_edit_submenu(NmCli *              nmc,
-                      NMConnection *       connection,
+property_edit_submenu(NmCli               *nmc,
+                      NMConnection        *connection,
                       NMRemoteConnection **rem_con,
-                      GWeakRef *           rem_con_weak,
-                      NMSetting *          curr_setting,
-                      const char *         prop_name)
+                      GWeakRef            *rem_con_weak,
+                      NMSetting           *curr_setting,
+                      const char          *prop_name)
 {
     NmcEditorSubCmd cmdsub;
     gboolean        set_result;
-    GError *        tmp_err = NULL;
-    gs_free char *  prompt  = NULL;
+    GError         *tmp_err = NULL;
+    gs_free char   *prompt  = NULL;
     gboolean        temp_changes;
 
     /* Set global variable for use in TAB completion */
@@ -7467,8 +7478,8 @@ static void
 split_editor_main_cmd_args(const char *str, char **setting, char **property, char **value)
 {
     gs_free char *cmd_arg0 = NULL;
-    const char *  cmd_argr;
-    const char *  s;
+    const char   *cmd_argr;
+    const char   *s;
 
     NM_SET_OUT(setting, NULL);
     NM_SET_OUT(property, NULL);
@@ -7489,12 +7500,12 @@ split_editor_main_cmd_args(const char *str, char **setting, char **property, cha
 }
 
 static NMSetting *
-create_setting_by_name(const char *                             name,
+create_setting_by_name(const char                              *name,
                        const NMMetaSettingValidPartItem *const *valid_settings_main,
                        const NMMetaSettingValidPartItem *const *valid_settings_slave)
 {
     const char *setting_name;
-    NMSetting * setting = NULL;
+    NMSetting  *setting = NULL;
 
     /* Get a valid setting name */
     setting_name = check_valid_name(name, valid_settings_main, valid_settings_slave, NULL);
@@ -7508,15 +7519,15 @@ create_setting_by_name(const char *                             name,
 }
 
 static const char *
-ask_check_setting(const NmcConfig *                        nmc_config,
-                  const char *                             arg,
+ask_check_setting(const NmcConfig                         *nmc_config,
+                  const char                              *arg,
                   const NMMetaSettingValidPartItem *const *valid_settings_main,
                   const NMMetaSettingValidPartItem *const *valid_settings_slave,
-                  const char *                             valid_settings_str)
+                  const char                              *valid_settings_str)
 {
     gs_free char *setting_name_user = NULL;
-    const char *  setting_name;
-    GError *      err = NULL;
+    const char   *setting_name;
+    GError       *err = NULL;
 
     if (!arg) {
         g_print(_("Available settings: %s\n"), valid_settings_str);
@@ -7538,13 +7549,13 @@ ask_check_setting(const NmcConfig *                        nmc_config,
 
 static const char *
 ask_check_property(const NmcConfig *nmc_config,
-                   const char *     arg,
-                   const char **    valid_props,
-                   const char *     valid_props_str)
+                   const char      *arg,
+                   const char     **valid_props,
+                   const char      *valid_props_str)
 {
     gs_free_error GError *tmp_err        = NULL;
-    gs_free char *        prop_name_user = NULL;
-    const char *          prop_name;
+    gs_free char         *prop_name_user = NULL;
+    const char           *prop_name;
 
     if (!arg) {
         g_print(_("Available properties: %s\n"), valid_props_str);
@@ -7609,16 +7620,16 @@ confirm_connection_saving(const NmcConfig *nmc_config, NMConnection *local, NMCo
 
 typedef struct {
     guint      level;
-    char *     main_prompt;
+    char      *main_prompt;
     NMSetting *curr_setting;
-    char **    valid_props;
-    char *     valid_props_str;
+    char     **valid_props;
+    char      *valid_props_str;
 } NmcEditorMenuContext;
 
 static void
-menu_switch_to_level0(const NmcConfig *     nmc_config,
+menu_switch_to_level0(const NmcConfig      *nmc_config,
                       NmcEditorMenuContext *menu_ctx,
-                      const char *          prompt)
+                      const char           *prompt)
 {
     menu_ctx->level = 0;
     g_free(menu_ctx->main_prompt);
@@ -7631,10 +7642,10 @@ menu_switch_to_level0(const NmcConfig *     nmc_config,
 }
 
 static void
-menu_switch_to_level1(const NmcConfig *     nmc_config,
+menu_switch_to_level1(const NmcConfig      *nmc_config,
                       NmcEditorMenuContext *menu_ctx,
-                      NMSetting *           setting,
-                      const char *          setting_name)
+                      NMSetting            *setting,
+                      const char           *setting_name)
 {
     menu_ctx->level = 1;
     g_free(menu_ctx->main_prompt);
@@ -7660,19 +7671,19 @@ editor_save_timeout(gpointer user_data)
 static gboolean
 editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_type)
 {
-    gs_unref_object NMRemoteConnection *     rem_con = NULL;
-    NMSettingConnection *                    s_con;
-    NMRemoteConnection *                     con_tmp;
+    gs_unref_object NMRemoteConnection      *rem_con = NULL;
+    NMSettingConnection                     *s_con;
+    NMRemoteConnection                      *con_tmp;
     GWeakRef                                 weak = {{NULL}};
     gboolean                                 removed;
     NmcEditorMainCmd                         cmd;
     gboolean                                 cmd_loop = TRUE;
     const NMMetaSettingValidPartItem *const *valid_settings_main;
     const NMMetaSettingValidPartItem *const *valid_settings_slave;
-    gs_free char *                           valid_settings_str = NULL;
-    const char *                             s_type             = NULL;
+    gs_free char                            *valid_settings_str = NULL;
+    const char                              *s_type             = NULL;
     gboolean                                 temp_changes;
-    GError *                                 err1     = NULL;
+    GError                                  *err1     = NULL;
     NmcEditorMenuContext                     menu_ctx = {0};
 
     s_con = nm_connection_get_setting_connection(connection);
@@ -7724,15 +7735,16 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
 
         split_editor_main_cmd_args(cmd_arg, &cmd_arg_s, &cmd_arg_p, &cmd_arg_v);
         switch (cmd) {
+        case NMC_EDITOR_MAIN_CMD_ADD:
         case NMC_EDITOR_MAIN_CMD_SET:
             /* Set property value */
             if (!cmd_arg) {
                 if (menu_ctx.level == 1) {
                     gs_strfreev char **avals_to_free = NULL;
-                    gs_free char *     prop_val_user = NULL;
-                    const char *       prop_name;
+                    gs_free char      *prop_val_user = NULL;
+                    const char        *prop_name;
                     const char *const *avals;
-                    GError *           tmp_err = NULL;
+                    GError            *tmp_err = NULL;
 
                     prop_name = ask_check_property(&nmc->nmc_config,
                                                    cmd_arg,
@@ -7769,10 +7781,10 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
                     g_print(_("use 'goto <setting>' first, or 'set <setting>.<property>'\n"));
                 }
             } else {
-                gs_free char *  prop_name             = NULL;
+                gs_free char              *prop_name  = NULL;
                 gs_unref_object NMSetting *ss_created = NULL;
-                NMSetting *                ss         = NULL;
-                GError *                   tmp_err    = NULL;
+                NMSetting                 *ss         = NULL;
+                GError                    *tmp_err    = NULL;
 
                 if (cmd_arg_s) {
                     /* setting provided as "setting.property" */
@@ -7847,7 +7859,7 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
             if (menu_ctx.level == 0 || cmd_arg_s) {
                 /* in top level - no setting selected yet */
                 const char *setting_name;
-                NMSetting * setting;
+                NMSetting  *setting;
                 const char *user_arg = cmd_arg_s ?: cmd_arg_p;
 
                 setting_name = ask_check_setting(&nmc->nmc_config,
@@ -7920,7 +7932,7 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
             /* Remove setting from connection, or delete value of a property */
             if (!cmd_arg) {
                 if (menu_ctx.level == 1) {
-                    GError *    tmp_err = NULL;
+                    GError     *tmp_err = NULL;
                     const char *prop_name;
 
                     prop_name = ask_check_property(&nmc->nmc_config,
@@ -7946,7 +7958,7 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
             } else {
                 NMSetting *ss = NULL;
                 gboolean   descr_all;
-                char *     user_s;
+                char      *user_s;
 
                 /* cmd_arg_s != NULL means argument is "setting.property" */
                 descr_all = !cmd_arg_s && !menu_ctx.curr_setting;
@@ -7985,16 +7997,17 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
                         nmc_tab_completion.setting = NULL; /* for TAB completion */
                     }
                 } else {
-                    gs_free char *prop_name       = NULL;
-                    gs_free_error GError *tmp_err = NULL;
+                    gs_free char         *prop_name = NULL;
+                    gs_free_error GError *tmp_err   = NULL;
 
                     prop_name = is_property_valid(ss, cmd_arg_p, &tmp_err);
                     if (prop_name) {
                         if (!nmc_setting_set_property(nmc->client,
                                                       ss,
                                                       prop_name,
-                                                      NM_META_ACCESSOR_MODIFIER_SET,
-                                                      NULL,
+                                                      cmd_arg_v ? NM_META_ACCESSOR_MODIFIER_DEL
+                                                                : NM_META_ACCESSOR_MODIFIER_SET,
+                                                      cmd_arg_v ? cmd_arg_v : NULL,
                                                       &tmp_err)) {
                             g_print(_("Error: failed to remove value of '%s': %s\n"),
                                     prop_name,
@@ -8051,9 +8064,9 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
                 }
             } else {
                 gs_unref_object NMSetting *ss_free = NULL;
-                NMSetting *                ss      = NULL;
+                NMSetting                 *ss      = NULL;
                 gboolean                   descr_all;
-                char *                     user_s;
+                char                      *user_s;
 
                 /* cmd_arg_s != NULL means argument is "setting.property" */
                 descr_all = !cmd_arg_s && !menu_ctx.curr_setting;
@@ -8086,7 +8099,7 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
                     print_setting_description(ss);
                 } else {
                     gs_free_error GError *tmp_err   = NULL;
-                    gs_free char *        prop_name = NULL;
+                    gs_free char         *prop_name = NULL;
 
                     prop_name = is_property_valid(ss, cmd_arg_p, &tmp_err);
                     if (prop_name) {
@@ -8120,7 +8133,7 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
                 else {
                     NMSetting *ss = NULL;
                     gboolean   whole_setting;
-                    char *     user_s;
+                    char      *user_s;
 
                     /* cmd_arg_s != NULL means argument is "setting.property" */
                     whole_setting = !cmd_arg_s && !menu_ctx.curr_setting;
@@ -8150,7 +8163,7 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
                         editor_show_setting(ss, nmc);
                     } else {
                         gs_free char *prop_name = NULL;
-                        GError *      err       = NULL;
+                        GError       *err       = NULL;
 
                         prop_name = is_property_valid(ss, cmd_arg_p, &err);
                         if (prop_name) {
@@ -8220,8 +8233,8 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
         case NMC_EDITOR_MAIN_CMD_SAVE:
             /* Save the connection */
             if (nm_connection_verify(connection, &err1)) {
-                gboolean              temporary = FALSE;
-                gboolean              connection_changed;
+                gboolean                       temporary = FALSE;
+                gboolean                       connection_changed;
                 nm_auto_unref_gsource GSource *source     = NULL;
                 gboolean                       timeout    = FALSE;
                 gulong                         handler_id = 0;
@@ -8338,7 +8351,7 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
 
         case NMC_EDITOR_MAIN_CMD_ACTIVATE:
         {
-            GError *    tmp_err = NULL;
+            GError     *tmp_err = NULL;
             const char *ifname  = cmd_arg_p;
             const char *ap_nsp  = cmd_arg_v;
 
@@ -8421,7 +8434,7 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
 
         case NMC_EDITOR_MAIN_CMD_NMCLI:
             if (cmd_arg_p && matches(cmd_arg_p, "status-line")) {
-                GError * tmp_err = NULL;
+                GError  *tmp_err = NULL;
                 gboolean bb;
                 if (!nmc_string_to_bool(cmd_arg_v ? g_strstrip(cmd_arg_v) : "", &bb, &tmp_err)) {
                     g_print(_("Error: status-line: %s\n"), tmp_err->message);
@@ -8429,7 +8442,7 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
                 } else
                     nmc->editor_status_line = bb;
             } else if (cmd_arg_p && matches(cmd_arg_p, "save-confirmation")) {
-                GError * tmp_err = NULL;
+                GError  *tmp_err = NULL;
                 gboolean bb;
                 if (!nmc_string_to_bool(cmd_arg_v ? g_strstrip(cmd_arg_v) : "", &bb, &tmp_err)) {
                     g_print(_("Error: save-confirmation: %s\n"), tmp_err->message);
@@ -8437,7 +8450,7 @@ editor_menu_main(NmCli *nmc, NMConnection *connection, const char *connection_ty
                 } else
                     nmc->editor_save_confirmation = bb;
             } else if (cmd_arg_p && matches(cmd_arg_p, "show-secrets")) {
-                GError * tmp_err = NULL;
+                GError  *tmp_err = NULL;
                 gboolean bb;
                 if (!nmc_string_to_bool(cmd_arg_v ? g_strstrip(cmd_arg_v) : "", &bb, &tmp_err)) {
                     g_print(_("Error: show-secrets: %s\n"), tmp_err->message);
@@ -8508,9 +8521,9 @@ get_ethernet_device_name(NmCli *nmc)
 static void
 editor_init_new_connection(NmCli *nmc, NMConnection *connection, const char *slave_type)
 {
-    NMSetting *          setting, *base_setting;
+    NMSetting           *setting, *base_setting;
     NMSettingConnection *s_con;
-    const char *         con_type;
+    const char          *con_type;
 
     s_con = nm_connection_get_setting_connection(connection);
     g_assert(s_con);
@@ -8579,9 +8592,9 @@ editor_init_new_connection(NmCli *nmc, NMConnection *connection, const char *sla
 static void
 editor_init_existing_connection(NMConnection *connection)
 {
-    NMSettingIPConfig *  s_ip4, *s_ip6;
-    NMSettingProxy *     s_proxy;
-    NMSettingWireless *  s_wireless;
+    NMSettingIPConfig   *s_ip4, *s_ip6;
+    NMSettingProxy      *s_proxy;
+    NMSettingWireless   *s_wireless;
     NMSettingConnection *s_con;
 
     /* FIXME: this approach of connecting handlers to do something is fundamentally
@@ -8623,21 +8636,21 @@ nmc_complete_connection_type(const char *prefix)
 static void
 do_connection_edit(const NMCCommand *cmd, NmCli *nmc, int argc, const char *const *argv)
 {
-    const GPtrArray *connections;
+    const GPtrArray              *connections;
     gs_unref_object NMConnection *connection = NULL;
-    NMSettingConnection *         s_con;
-    const char *                  connection_type;
-    const char *                  type         = NULL;
-    const char *                  con_name     = NULL;
-    const char *                  con          = NULL;
-    const char *                  con_id       = NULL;
-    const char *                  con_uuid     = NULL;
-    const char *                  con_path     = NULL;
-    const char *                  con_filename = NULL;
-    const char *                  selector     = NULL;
-    gs_free_error GError *error                = NULL;
-    GError *              err1                 = NULL;
-    nmc_arg_t             exp_args[]           = {{"type", TRUE, &type, FALSE},
+    NMSettingConnection          *s_con;
+    const char                   *connection_type;
+    const char                   *type         = NULL;
+    const char                   *con_name     = NULL;
+    const char                   *con          = NULL;
+    const char                   *con_id       = NULL;
+    const char                   *con_uuid     = NULL;
+    const char                   *con_path     = NULL;
+    const char                   *con_filename = NULL;
+    const char                   *selector     = NULL;
+    gs_free_error GError         *error        = NULL;
+    GError                       *err1         = NULL;
+    nmc_arg_t                     exp_args[]   = {{"type", TRUE, &type, FALSE},
                             {"con-name", TRUE, &con_name, FALSE},
                             {"id", TRUE, &con_id, FALSE},
                             {"uuid", TRUE, &con_uuid, FALSE},
@@ -8731,7 +8744,7 @@ do_connection_edit(const NMCCommand *cmd, NmCli *nmc, int argc, const char *cons
 
         editor_init_existing_connection(connection);
     } else {
-        const char *  slave_type   = NULL;
+        const char   *slave_type   = NULL;
         gs_free char *uuid         = NULL;
         gs_free char *default_name = NULL;
         gs_free char *tmp_str      = NULL;
@@ -8825,7 +8838,7 @@ do_connection_edit(const NMCCommand *cmd, NmCli *nmc, int argc, const char *cons
 static void
 modify_connection_cb(GObject *connection, GAsyncResult *result, gpointer user_data)
 {
-    NmCli *       nmc           = user_data;
+    NmCli                *nmc   = user_data;
     gs_free_error GError *error = NULL;
 
     if (!nm_remote_connection_commit_changes_finish(NM_REMOTE_CONNECTION(connection),
@@ -8849,10 +8862,10 @@ modify_connection_cb(GObject *connection, GAsyncResult *result, gpointer user_da
 static void
 do_connection_modify(const NMCCommand *cmd, NmCli *nmc, int argc, const char *const *argv)
 {
-    NMConnection *      connection  = NULL;
-    NMRemoteConnection *rc          = NULL;
-    gs_free_error GError *error     = NULL;
-    gboolean              temporary = FALSE;
+    NMConnection         *connection = NULL;
+    NMRemoteConnection   *rc         = NULL;
+    gs_free_error GError *error      = NULL;
+    gboolean              temporary  = FALSE;
 
     if (next_arg(nmc, &argc, &argv, "--temporary", NULL) > 0) {
         temporary = TRUE;
@@ -8891,10 +8904,10 @@ do_connection_modify(const NMCCommand *cmd, NmCli *nmc, int argc, const char *co
 static void
 clone_connection_cb(GObject *client, GAsyncResult *result, gpointer user_data)
 {
-    nm_auto_free_add_connection_info AddConnectionInfo *info = user_data;
-    NmCli *                                             nmc  = info->nmc;
-    gs_unref_object NMRemoteConnection *connection           = NULL;
-    gs_free_error GError *error                              = NULL;
+    nm_auto_free_add_connection_info AddConnectionInfo *info       = user_data;
+    NmCli                                              *nmc        = info->nmc;
+    gs_unref_object NMRemoteConnection                 *connection = NULL;
+    gs_free_error GError                               *error      = NULL;
 
     connection = nm_client_add_connection2_finish(NM_CLIENT(client), result, NULL, &error);
     if (error) {
@@ -8917,17 +8930,17 @@ clone_connection_cb(GObject *client, GAsyncResult *result, gpointer user_data)
 static void
 do_connection_clone(const NMCCommand *cmd, NmCli *nmc, int argc, const char *const *argv)
 {
-    NMConnection *  connection                   = NULL;
+    NMConnection                 *connection     = NULL;
     gs_unref_object NMConnection *new_connection = NULL;
-    const char *                  new_name;
-    gs_free char *                new_name_free = NULL;
-    gs_free char *                uuid          = NULL;
+    const char                   *new_name;
+    gs_free char                 *new_name_free = NULL;
+    gs_free char                 *uuid          = NULL;
     gboolean                      temporary     = FALSE;
-    gs_strfreev char **           arg_arr       = NULL;
+    gs_strfreev char            **arg_arr       = NULL;
     int                           arg_num;
-    const char *const **          argv_ptr;
-    int *                         argc_ptr;
-    GError *                      error = NULL;
+    const char *const           **argv_ptr;
+    int                          *argc_ptr;
+    GError                       *error = NULL;
 
     if (next_arg(nmc, &argc, &argv, "--temporary", NULL) > 0) {
         temporary = TRUE;
@@ -8999,7 +9012,7 @@ static void
 delete_cb(GObject *con, GAsyncResult *result, gpointer user_data)
 {
     ConnectionCbInfo *info  = (ConnectionCbInfo *) user_data;
-    GError *          error = NULL;
+    GError           *error = NULL;
 
     if (!nm_remote_connection_delete_finish(NM_REMOTE_CONNECTION(con), result, &error)) {
         if (g_error_matches(error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
@@ -9018,15 +9031,15 @@ delete_cb(GObject *con, GAsyncResult *result, gpointer user_data)
 static void
 do_connection_delete(const NMCCommand *cmd, NmCli *nmc, int argc, const char *const *argv)
 {
-    NMConnection *       connection;
-    ConnectionCbInfo *   info    = NULL;
-    gs_strfreev char **  arg_arr = NULL;
-    const char *const *  arg_ptr;
-    guint                i;
-    int                  arg_num;
+    NMConnection                 *connection;
+    ConnectionCbInfo             *info    = NULL;
+    gs_strfreev char            **arg_arr = NULL;
+    const char *const            *arg_ptr;
+    guint                         i;
+    int                           arg_num;
     nm_auto_free_gstring GString *invalid_cons = NULL;
-    gs_unref_ptrarray GPtrArray *found_cons    = NULL;
-    GError *                     error         = NULL;
+    gs_unref_ptrarray GPtrArray  *found_cons   = NULL;
+    GError                       *error        = NULL;
 
     if (nmc->timeout == -1)
         nmc->timeout = 10;
@@ -9168,10 +9181,10 @@ connection_removed(NMClient *client, NMRemoteConnection *con, NmCli *nmc)
 static void
 do_connection_monitor(const NMCCommand *cmd, NmCli *nmc, int argc, const char *const *argv)
 {
-    GError *          error = NULL;
-    guint             i;
+    GError                      *error = NULL;
+    guint                        i;
     gs_unref_ptrarray GPtrArray *found_cons  = NULL;
-    const GPtrArray *            connections = NULL;
+    const GPtrArray             *connections = NULL;
 
     next_arg(nmc, &argc, &argv, NULL);
     if (argc == 0) {
@@ -9222,9 +9235,9 @@ do_connection_monitor(const NMCCommand *cmd, NmCli *nmc, int argc, const char *c
 static void
 connection_reload_cb(GObject *source, GAsyncResult *result, gpointer user_data)
 {
-    NmCli *       nmc              = user_data;
-    gs_free_error GError *error    = NULL;
-    gs_unref_variant GVariant *ret = NULL;
+    NmCli                     *nmc   = user_data;
+    gs_free_error GError      *error = NULL;
+    gs_unref_variant GVariant *ret   = NULL;
 
     ret = nm_dbus_call_finish(result, &error);
     if (error) {
@@ -9261,10 +9274,10 @@ do_connection_reload(const NMCCommand *cmd, NmCli *nmc, int argc, const char *co
 static void
 do_connection_load(const NMCCommand *cmd, NmCli *nmc, int argc, const char *const *argv)
 {
-    GError *           error       = NULL;
+    GError            *error       = NULL;
     gs_strfreev char **filenames   = NULL;
     gs_strfreev char **failures    = NULL;
-    gs_free char *     current_dir = NULL;
+    gs_free char      *current_dir = NULL;
     int                i;
 
     next_arg(nmc, &argc, &argv, NULL);
@@ -9318,13 +9331,13 @@ do_connection_load(const NMCCommand *cmd, NmCli *nmc, int argc, const char *cons
 static void
 do_connection_import(const NMCCommand *cmd, NmCli *nmc, int argc, const char *const *argv)
 {
-    gs_free_error GError *error = NULL;
-    const char *          type = NULL, *filename = NULL;
-    gs_free char *        type_ask           = NULL;
-    gs_free char *        filename_ask       = NULL;
-    gs_unref_object NMConnection *connection = NULL;
-    NMVpnEditorPlugin *           plugin;
-    gs_free char *                service_type = NULL;
+    gs_free_error GError         *error = NULL;
+    const char                   *type = NULL, *filename = NULL;
+    gs_free char                 *type_ask     = NULL;
+    gs_free char                 *filename_ask = NULL;
+    gs_unref_object NMConnection *connection   = NULL;
+    NMVpnEditorPlugin            *plugin;
+    gs_free char                 *service_type = NULL;
     gboolean                      temporary    = FALSE;
 
     /* Check --temporary */
@@ -9457,18 +9470,18 @@ do_connection_import(const NMCCommand *cmd, NmCli *nmc, int argc, const char *co
 static void
 do_connection_export(const NMCCommand *cmd, NmCli *nmc, int argc, const char *const *argv)
 {
-    NMConnection *     connection   = NULL;
-    const char *       out_name     = NULL;
-    gs_free char *     out_name_ask = NULL;
-    const char *       path         = NULL;
-    const char *       type         = NULL;
-    NMVpnEditorPlugin *plugin;
+    NMConnection         *connection   = NULL;
+    const char           *out_name     = NULL;
+    gs_free char         *out_name_ask = NULL;
+    const char           *path         = NULL;
+    const char           *type         = NULL;
+    NMVpnEditorPlugin    *plugin;
     gs_free_error GError *error     = NULL;
     char                  tmpfile[] = "/tmp/nmcli-export-temp-XXXXXX";
-    gs_strfreev char **   arg_arr   = NULL;
+    gs_strfreev char    **arg_arr   = NULL;
     int                   arg_num;
-    const char *const **  argv_ptr;
-    int *                 argc_ptr;
+    const char *const   **argv_ptr;
+    int                  *argc_ptr;
 
     next_arg(nmc, &argc, &argv, NULL);
     argv_ptr = &argv;
@@ -9577,8 +9590,8 @@ gen_func_connection_names(const char *text, int state)
 {
     guint            i;
     const GPtrArray *connections;
-    const char **    connection_names;
-    char *           ret;
+    const char     **connection_names;
+    char            *ret;
 
     connections = nm_client_get_connections(nm_cli_global_readline->client);
     if (connections->len == 0)
@@ -9600,8 +9613,8 @@ gen_func_active_connection_names(const char *text, int state)
 {
     guint            i;
     const GPtrArray *acs;
-    const char **    connections;
-    char *           ret;
+    const char     **connections;
+    char            *ret;
 
     if (!nm_cli_global_readline->client)
         return NULL;
@@ -9624,8 +9637,8 @@ gen_func_active_connection_names(const char *text, int state)
 static char **
 nmcli_con_tab_completion(const char *text, int start, int end)
 {
-    char **                   match_array    = NULL;
-    rl_compentry_func_t *     generator_func = NULL;
+    char                    **match_array    = NULL;
+    rl_compentry_func_t      *generator_func = NULL;
     const NMMetaAbstractInfo *info;
 
     /* Disable readline's default filename completion */