factoids: safer DB writes
This commit is contained in:
		@@ -58,10 +58,13 @@ sub db_load {
 | 
				
			|||||||
sub db_save {
 | 
					sub db_save {
 | 
				
			||||||
	local $\ = "\n";
 | 
						local $\ = "\n";
 | 
				
			||||||
	my ($path, $ref) = @_;
 | 
						my ($path, $ref) = @_;
 | 
				
			||||||
	open my $db, ">", $path or die "db save failed: $!";
 | 
						my $path_new = "$path.new";
 | 
				
			||||||
 | 
						open my $db, ">", $path_new or die "db save failed: $!";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	my %entries = %$ref;
 | 
						my %entries = %$ref;
 | 
				
			||||||
	print $db join "\r", ($_, @{$entries{$_}}) for keys %entries;
 | 
						print $db join "\r", ($_, @{$entries{$_}}) for keys %entries;
 | 
				
			||||||
 | 
						close $db;
 | 
				
			||||||
 | 
						rename $path_new, $path or die "db save failed: $!";
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# --- Factoids -----------------------------------------------------------------
 | 
					# --- Factoids -----------------------------------------------------------------
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user