projects
/
perl-cwmp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
use Hash::Merge to correctly handle update, This might actually move to
[perl-cwmp.git]
/
lib
/
CWMP
/
Store
/
YAML.pm
diff --git
a/lib/CWMP/Store/YAML.pm
b/lib/CWMP/Store/YAML.pm
index
9805a50
..
160cbe8
100644
(file)
--- a/
lib/CWMP/Store/YAML.pm
+++ b/
lib/CWMP/Store/YAML.pm
@@
-6,6
+6,7
@@
use warnings;
use Data::Dump qw/dump/;
use YAML qw/LoadFile DumpFile/;
use Data::Dump qw/dump/;
use YAML qw/LoadFile DumpFile/;
+use Hash::Merge qw/merge/;
=head1 NAME
=head1 NAME
@@
-44,7
+45,13
@@
sub update_uid_state {
my $file = "$dir/$uid.yml";
my $file = "$dir/$uid.yml";
- DumpFile( $file, $state ) || die "can't write $file: $!";
+ my $old_state = $self->get_state( $uid );
+
+ my $combined = merge( $state, $old_state );
+
+# warn "## ",dump( $old_state, $state, $combined );
+
+ DumpFile( $file, $combined ) || die "can't write $file: $!";
}
}