summaryrefslogtreecommitdiff
path: root/regen/keywords.pl
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2011-01-23 10:07:52 +0000
committerNicholas Clark <nick@ccl4.org>2011-01-23 10:07:52 +0000
commitf038801aea0ff24cf86511fa6679d7dcb859cd8d (patch)
tree8f46ea92b16a9121bab4ee0da59cdf219e43a254 /regen/keywords.pl
parent396ce246b9969d83ec11500def9604b58fb4c726 (diff)
downloadperl-f038801aea0ff24cf86511fa6679d7dcb859cd8d.tar.gz
In regen/*.pl, refactor the repeated code for close and rename if different.
Pass the final file name as an optional second argument of safer_open() and store it with the file handle. Add a function close_and_rename() which closes the file handle, then retrieves the final name, and renames the temporary file if the two differ.
Diffstat (limited to 'regen/keywords.pl')
-rwxr-xr-xregen/keywords.pl6
1 files changed, 2 insertions, 4 deletions
diff --git a/regen/keywords.pl b/regen/keywords.pl
index be87d9ef17..185d433f17 100755
--- a/regen/keywords.pl
+++ b/regen/keywords.pl
@@ -14,7 +14,7 @@ use strict;
require 'regen/regen_lib.pl';
-my $kw = safer_open("keywords.h-new");
+my $kw = safer_open('keywords.h-new', 'keywords.h');
select $kw;
print read_only_top(lang => 'C', by => 'regen/keywords.pl', from => 'its data',
@@ -34,9 +34,7 @@ while (<DATA>) {
print $kw "\n/* ex: set ro: */\n";
-safer_close($kw);
-
-rename_if_different("keywords.h-new", "keywords.h");
+close_and_rename($kw);
###########################################################################
sub tab {