diff options
| author | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2026-01-15 13:56:07 +0000 |
|---|---|---|
| committer | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2026-01-16 22:43:55 +0000 |
| commit | 8b146d6547ee5cf8049a7566efd75cd1df8314e7 (patch) | |
| tree | 3fd9c79d2946e17839820d591aee919c735424ed /perl-install/timezone.pm | |
| parent | 25f74ddb44213151a7547149e37b0b69a8308ff8 (diff) | |
| download | drakx-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.pm | 15 |
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}}; } |
