1 |
qiaomuf 11/02/25 09:54:43 |
2 |
|
3 |
Added: networkmanager-0.8.2-ifnet-smarter-write.patch |
4 |
Log: |
5 |
Won't write to /etc/conf.d/net when nothing changed |
6 |
|
7 |
(Portage version: 2.1.9.41/cvs/Linux x86_64) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 net-misc/networkmanager/files/networkmanager-0.8.2-ifnet-smarter-write.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/networkmanager/files/networkmanager-0.8.2-ifnet-smarter-write.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/networkmanager/files/networkmanager-0.8.2-ifnet-smarter-write.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: networkmanager-0.8.2-ifnet-smarter-write.patch |
16 |
=================================================================== |
17 |
From ad30f01d6108a7e8e05e5e90c93b2a750b7be240 Mon Sep 17 00:00:00 2001 |
18 |
From: Mu Qiao <qiaomuf@g.o> |
19 |
Date: Fri, 25 Feb 2011 16:25:07 +0000 |
20 |
Subject: [PATCH 3/3] Won't write when nothing changed |
21 |
Signed-off-by: Mu Qiao <qiaomuf@g.o> |
22 |
|
23 |
--- |
24 |
system-settings/plugins/ifnet/net_parser.c | 14 ++++++++++---- |
25 |
system-settings/plugins/ifnet/wpa_parser.c | 3 ++- |
26 |
2 files changed, 12 insertions(+), 5 deletions(-) |
27 |
|
28 |
diff --git a/system-settings/plugins/ifnet/net_parser.c b/system-settings/plugins/ifnet/net_parser.c |
29 |
index de2db8a..e01b092 100644 |
30 |
--- a/system-settings/plugins/ifnet/net_parser.c |
31 |
+++ b/system-settings/plugins/ifnet/net_parser.c |
32 |
@@ -413,10 +413,16 @@ ifnet_set_data (gchar * conn_name, gchar * key, gchar * value) |
33 |
if (g_hash_table_lookup_extended (conn, key, &orin_key, &orin_value)) { |
34 |
if (new_value && !strcmp (orin_value, new_value)) |
35 |
return; |
36 |
- g_hash_table_remove (conn, orin_key); |
37 |
- g_free (orin_key); |
38 |
- g_free (orin_value); |
39 |
- } |
40 |
+ /* Won't remove dns_servers wrt bug #356339 */ |
41 |
+ if (strcmp (orin_key, "dns_servers")){ |
42 |
+ g_hash_table_remove (conn, orin_key); |
43 |
+ g_free (orin_key); |
44 |
+ g_free (orin_value); |
45 |
+ } else |
46 |
+ return; |
47 |
+ /* old key/value doesn't exist but new value is NULL */ |
48 |
+ } else if (!value) |
49 |
+ return; |
50 |
if (new_value) |
51 |
g_hash_table_insert (conn, g_strdup (key), new_value); |
52 |
net_parser_data_changed = TRUE; |
53 |
diff --git a/system-settings/plugins/ifnet/wpa_parser.c b/system-settings/plugins/ifnet/wpa_parser.c |
54 |
index 42c52c3..2c3869e 100644 |
55 |
--- a/system-settings/plugins/ifnet/wpa_parser.c |
56 |
+++ b/system-settings/plugins/ifnet/wpa_parser.c |
57 |
@@ -468,7 +468,8 @@ wpa_set_data (gchar * ssid, gchar * key, gchar * value) |
58 |
g_hash_table_remove (security, orig_key); |
59 |
g_free (orig_key); |
60 |
g_free (orig_value); |
61 |
- } |
62 |
+ } else if (!value) |
63 |
+ return; |
64 |
|
65 |
/* Add new key value */ |
66 |
if (new_value) |
67 |
-- |
68 |
1.7.3.4 |