summaryrefslogtreecommitdiff
path: root/libnm-core/nm-keyfile.c
diff options
context:
space:
mode:
Diffstat (limited to 'libnm-core/nm-keyfile.c')
-rw-r--r--libnm-core/nm-keyfile.c30
1 files changed, 20 insertions, 10 deletions
diff --git a/libnm-core/nm-keyfile.c b/libnm-core/nm-keyfile.c
index b0c7a13478..9b032c4cd8 100644
--- a/libnm-core/nm-keyfile.c
+++ b/libnm-core/nm-keyfile.c
@@ -248,15 +248,16 @@ static gpointer
build_route (KeyfileReaderInfo *info,
const char *property_name,
int family,
- const char *dest_str, guint32 plen,
- const char *gateway_str, const char *metric_str)
+ const char *dest_str,
+ guint32 plen,
+ const char *gateway_str,
+ const char *metric_str)
{
NMIPRoute *route;
guint32 u32;
gint64 metric = -1;
GError *error = NULL;
- g_return_val_if_fail (plen, NULL);
g_return_val_if_fail (dest_str, NULL);
/* Next hop */
@@ -294,7 +295,10 @@ build_route (KeyfileReaderInfo *info,
metric = u32;
}
- route = nm_ip_route_new (family, dest_str, plen, gateway_str,
+ route = nm_ip_route_new (family,
+ dest_str,
+ plen,
+ gateway_str,
metric,
&error);
if (!route) {
@@ -517,8 +521,7 @@ read_one_ip_address_or_route (KeyfileReaderInfo *info,
/* parse plen, fallback to defaults */
if (plen_str) {
- if ( !get_one_int (info, property_name, plen_str, ipv6 ? 128 : 32, &plen)
- || (route && plen == 0)) {
+ if (!get_one_int (info, property_name, plen_str, ipv6 ? 128 : 32, &plen)) {
plen = DEFAULT_PREFIX (route, ipv6);
if ( info->error
|| !handle_warn (info, property_name, NM_KEYFILE_WARN_SEVERITY_WARN,
@@ -536,12 +539,19 @@ read_one_ip_address_or_route (KeyfileReaderInfo *info,
/* build the appropriate data structure for NetworkManager settings */
if (route) {
- result = build_route (info, property_name,
+ result = build_route (info,
+ property_name,
ipv6 ? AF_INET6 : AF_INET,
- address_str, plen, gateway_str, metric_str);
+ address_str,
+ plen,
+ gateway_str,
+ metric_str);
} else {
- result = build_address (info, ipv6 ? AF_INET6 : AF_INET,
- address_str, plen, property_name);
+ result = build_address (info,
+ ipv6 ? AF_INET6 : AF_INET,
+ address_str,
+ plen,
+ property_name);
if (!result)
return NULL;
if (gateway_str)