summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiří Klimeš <jklimes@redhat.com>2015-02-24 13:34:14 +0100
committerJiří Klimeš <jklimes@redhat.com>2015-02-24 13:34:14 +0100
commit90c1473f515ac0c0936b5c5b0267c43a6808069b (patch)
tree8375e217eb7f71242c41a59c644c34ea96a63a9d
parent1f5b9ffc3d89e1e87f256e0913b536577e1369a9 (diff)
downloadNetworkManager-jk/nmcli-order-warn.tar.gz
cli: only warn about duplicated categories in "--order" option (bgo #738613)jk/nmcli-order-warn
It was considered as a hard error before, but we can actually only ignore it and warn. Related commit: 40e98f5d685bc41da32f65e6ee3b5ad1b46cca3f
-rw-r--r--clients/cli/connections.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/clients/cli/connections.c b/clients/cli/connections.c
index 75ad308518..c6d8fa559b 100644
--- a/clients/cli/connections.c
+++ b/clients/cli/connections.c
@@ -9068,7 +9068,7 @@ parse_preferred_connection_order (const char *order, GError **error)
const char *str;
GArray *order_arr;
NmcSortOrder val;
- gboolean inverse;
+ gboolean inverse, unique;
int i;
strv = nmc_strsplit_set (order, ":", -1);
@@ -9103,21 +9103,22 @@ parse_preferred_connection_order (const char *order, GError **error)
_("incorrect item '%s' in '--order' option"), *iter);
break;
}
- /* Check duplicates*/
+ /* Check for duplicates and issue a warning for them. */
+ unique = TRUE;
for (i = 0; i < order_arr->len; i++) {
if (abs (g_array_index (order_arr, NmcSortOrder, i)) - abs (val) == 0) {
- g_array_unref (order_arr);
- order_arr = NULL;
- g_set_error (error, NMCLI_ERROR, 0,
- _("'%s' repeats in '--order' option"), str);
- goto end;
+ g_printerr (_("Warning: '%s' (%u. value) repeats in '--order' option; ignoring it\n"),
+ *iter, (unsigned) (iter - strv) + 1);
+ unique = FALSE;
+ break;
}
}
/* Value is ok and unique, add it to the array */
- g_array_append_val (order_arr, val);
+ if (unique)
+ g_array_append_val (order_arr, val);
}
-end:
+
g_strfreev (strv);
return order_arr;
}