keep uci_set from saving things that have not changed
authorTravis Kemen <thepeople@openwrt.org>
Wed, 16 May 2007 14:46:23 +0000 (14:46 +0000)
committerTravis Kemen <thepeople@openwrt.org>
Wed, 16 May 2007 14:46:23 +0000 (14:46 +0000)
SVN-Revision: 7259

package/base-files/files/lib/config/uci.sh

index a76300f..e029336 100644 (file)
@@ -76,8 +76,11 @@ uci_set() {
 
        ( # spawn a subshell so you don't mess up the current environment
                uci_load "$PACKAGE"
 
        ( # spawn a subshell so you don't mess up the current environment
                uci_load "$PACKAGE"
-               config_get type "$CONFIG" TYPE
-               [ -z "$type" ]
+               config_get OLDVAL "$CONFIG" "$OPTION"
+               if [ "$OLDVAL" != "$VALUE" ]; then
+                       config_get type "$CONFIG" TYPE
+                       [ -z "$type" ]
+               fi
        ) || uci_add_update "$PACKAGE" "config_set '$CONFIG' '$OPTION' '$VALUE'"
 }
 
        ) || uci_add_update "$PACKAGE" "config_set '$CONFIG' '$OPTION' '$VALUE'"
 }