Merged with master and am ready to merge back
[dbsrgits/DBM-Deep.git] / lib / DBM / Deep / Hash.pm
index 1671788..633e6d5 100644 (file)
@@ -104,8 +104,10 @@ sub next_key  { (shift)->NEXTKEY(@_)  }
 sub _clear {
     my $self = shift;
 
-    while ( defined( my $key = $self->first_key ) ) {
+    while ( defined(my $key = $self->first_key) ) {
+      do {
         $self->_engine->delete_key( $self, $key, $key );
+      } while defined($key = $self->next_key($key));
     }
 
     return;
@@ -116,7 +118,7 @@ sub _copy_node {
     my ($db_temp) = @_;
 
     my $key = $self->first_key();
-    while ($key) {
+    while (defined $key) {
         my $value = $self->get($key);
         $self->_copy_value( \$db_temp->{$key}, $value );
         $key = $self->next_key($key);