From 775179ee9714cc3c386005667bc2e0488adb9474 Mon Sep 17 00:00:00 2001 From: betateilchen <> Date: Wed, 4 Jul 2018 07:03:37 +0000 Subject: [PATCH] configDB.pm: fix rescue mode persistence git-svn-id: https://svn.fhem.de/fhem/trunk@16944 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/configDB.pm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/fhem/configDB.pm b/fhem/configDB.pm index 5250cc99b..cc02f78a5 100644 --- a/fhem/configDB.pm +++ b/fhem/configDB.pm @@ -231,9 +231,9 @@ if ($count > 1) { eval $configs[0]; } -my $cfgDB_dbconn = $dbconfig{connection}; -my $cfgDB_dbuser = $dbconfig{user}; -my $cfgDB_dbpass = $dbconfig{password}; +my $cfgDB_dbconn = $dbconfig{connection}; +my $cfgDB_dbuser = $dbconfig{user}; +my $cfgDB_dbpass = $dbconfig{password}; my $cfgDB_migrate = 0; $cfgDB_migrate = $dbconfig{migrate} if (defined($dbconfig{migrate}) && $dbconfig{migrate} == 1); my $cfgDB_dbtype; @@ -268,8 +268,8 @@ $count = undef; # initialize database, create tables if necessary sub cfgDB_Init() { ################################################## -# Create non-existing database tables -# Create default config entries if necessary +# Create non-existing database tables +# Create default config entries if necessary # my $fhem_dbh = _cfgDB_Connect; @@ -484,7 +484,8 @@ sub cfgDB_SaveCfg(;$) { my ($internal) = shift; $internal = defined($internal) ? $internal : 0; - + my @dontSave = qw(configdb:rescue configdb:nostate configdb:loadversion + global:configfile global:version); my (%devByNr, @rowList, %comments, $t, $out); map { $devByNr{$defs{$_}{NR}} = $_ } keys %defs; @@ -519,12 +520,11 @@ sub cfgDB_SaveCfg(;$) { } foreach my $a (sort { - return -1 if($a eq "userattr"); # userattr must be first - return 1 if($b eq "userattr"); - return $a cmp $b; - } keys %{$attr{$d}}) { - next if($d eq "global" && - ($a eq "configfile" || $a eq "version")); + return -1 if($a eq "userattr"); # userattr must be first + return 1 if($b eq "userattr"); + return $a cmp $b; + } keys %{$attr{$d}}) { + next if (grep { $_ eq "$d:$a" } @dontSave); my $val = $attr{$d}{$a}; $val =~ s/;/;;/g; push @rowList, "attr $d $a $val";