summaryrefslogtreecommitdiffstats
path: root/urpm/cfg.pm
diff options
context:
space:
mode:
Diffstat (limited to 'urpm/cfg.pm')
-rw-r--r--urpm/cfg.pm14
1 files changed, 8 insertions, 6 deletions
diff --git a/urpm/cfg.pm b/urpm/cfg.pm
index 47761fec..23eab196 100644
--- a/urpm/cfg.pm
+++ b/urpm/cfg.pm
@@ -222,11 +222,7 @@ sub dump_config_raw {
substitute_back($m->{$field}, $prev_block && $prev_block->{$field});
};
- open my $f, '>', $file or do {
- $err = N("unable to write config file [%s]", $file);
- return 0;
- };
-
+ my @lines;
foreach my $m (@$blocks) {
my @l = map {
if (/^(update|ignore|synthesis|noreconfigure|static|virtual)$/) {
@@ -241,8 +237,14 @@ sub dump_config_raw {
my $name_url = $m->{name} ?
join(' ', map { quotespace($_) } $m->{name}, $substitute_back->($m, 'url')) . ' ' : '';
- print $f $name_url . "{\n", (map { " $_\n" } @l), "}\n\n";
+ push @lines, join("\n", $name_url . '{', (map { " $_" } @l), "}\n");
}
+
+ output_safe($file, join("\n", @lines)) or do {
+ $err = N("unable to write config file [%s]", $file);
+ return 0;
+ };
+
1;
}