summaryrefslogtreecommitdiffstats
path: root/perl-install/timezone.pm
diff options
context:
space:
mode:
authorMartin Whitaker <mageia@martin-whitaker.me.uk>2026-01-15 13:56:07 +0000
committerMartin Whitaker <mageia@martin-whitaker.me.uk>2026-01-16 22:43:55 +0000
commit8b146d6547ee5cf8049a7566efd75cd1df8314e7 (patch)
tree3fd9c79d2946e17839820d591aee919c735424ed /perl-install/timezone.pm
parent25f74ddb44213151a7547149e37b0b69a8308ff8 (diff)
downloaddrakx-8b146d6547ee5cf8049a7566efd75cd1df8314e7.tar
drakx-8b146d6547ee5cf8049a7566efd75cd1df8314e7.tar.gz
drakx-8b146d6547ee5cf8049a7566efd75cd1df8314e7.tar.bz2
drakx-8b146d6547ee5cf8049a7566efd75cd1df8314e7.tar.xz
drakx-8b146d6547ee5cf8049a7566efd75cd1df8314e7.zip
Fix timezone::ntp_servers() when it is called more than once.
The old implementation of get_ntp_server_tree() would add entries to %timezone for each leaf node it visited. So if ntp_servers() was called a second time, it would list those spurious entries. Fixed by stopping recursion immediately when a leaf node was found.
Diffstat (limited to 'perl-install/timezone.pm')
-rw-r--r--perl-install/timezone.pm15
1 files changed, 7 insertions, 8 deletions
diff --git a/perl-install/timezone.pm b/perl-install/timezone.pm
index faf769054..a18914755 100644
--- a/perl-install/timezone.pm
+++ b/perl-install/timezone.pm
@@ -150,14 +150,13 @@ our %ntp_servers;
sub get_ntp_server_tree {
my ($zone) = @_;
map {
- $ntp_servers{$zone}{$_} => (
- exists $ntp_servers{$_} ?
- $zone ?
- translate($_) . "|" . N("All servers") :
- N("All servers") :
- translate($zone) . "|" . translate($_)
- ),
- get_ntp_server_tree($_);
+ my $key = $ntp_servers{$zone}{$_};
+ if (exists $ntp_servers{$_}) {
+ ( $key => $zone ? translate($_) . "|" . N("All servers") : N("All servers"),
+ get_ntp_server_tree($_) );
+ } else {
+ ( $key => translate($zone) . "|" . translate($_) );
+ }
} keys %{$ntp_servers{$zone}};
}