summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJulien Massot <jmassot@aldebaran-robotics.com>2012-06-15 13:15:31 +0000
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-06-25 09:49:30 +0300
commita802b6f66cd572d532cc4d1f3e589beee58ed0e7 (patch)
tree23a49fcdb0d6615b5f441c4fc346b1020444b42c /src
parent513387fe71c00202f2e73703cbb7beef0150d9a7 (diff)
downloadconnman-a802b6f66cd572d532cc4d1f3e589beee58ed0e7.tar.gz
connman-a802b6f66cd572d532cc4d1f3e589beee58ed0e7.tar.bz2
connman-a802b6f66cd572d532cc4d1f3e589beee58ed0e7.zip
ipconfig: Save prefixlen only if not cleared
This commit fixes a bug when using manual ipv4 addressing. The first time it works, but once the service is reconnected it uses an invalid netmask: 255.255.255.255.
Diffstat (limited to 'src')
-rw-r--r--src/ipconfig.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/ipconfig.c b/src/ipconfig.c
index b401c236..5e34ac07 100644
--- a/src/ipconfig.c
+++ b/src/ipconfig.c
@@ -2344,8 +2344,9 @@ int __connman_ipconfig_save(struct connman_ipconfig *ipconfig,
}
key = g_strdup_printf("%snetmask_prefixlen", prefix);
- g_key_file_set_integer(keyfile, identifier,
- key, ipconfig->address->prefixlen);
+ if (ipconfig->address->prefixlen != 0)
+ g_key_file_set_integer(keyfile, identifier,
+ key, ipconfig->address->prefixlen);
g_free(key);
key = g_strdup_printf("%slocal_address", prefix);