From a0f6dd935c69682916d26dccb9675c00ea32f9c7 Mon Sep 17 00:00:00 2001 From: Ilia Ross Date: Sat, 1 Jun 2024 15:31:50 +0300 Subject: [PATCH] Fix to favour lexically scoped variable over global --- webmincron/webmincron-lib.pl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/webmincron/webmincron-lib.pl b/webmincron/webmincron-lib.pl index df5e10eaf..2be391d82 100644 --- a/webmincron/webmincron-lib.pl +++ b/webmincron/webmincron-lib.pl @@ -6,11 +6,11 @@ Functions for creating and listing Webmin scheduled functions. BEGIN { push(@INC, ".."); }; use WebminCore; +use feature 'state'; &init_config(); $webmin_crons_directory = "$module_config_directory/crons"; @special_modes = ( 'hourly', 'daily', 'weekly', 'monthly', 'yearly' ); -$save_webmin_cron_count = 0; =head2 list_webmin_crons @@ -73,11 +73,12 @@ Create or update a webmin cron function. Also locks the file being written to. sub save_webmin_cron { my ($cron) = @_; +state $cnt = 0; if (!-d $webmin_crons_directory) { &make_dir($webmin_crons_directory, 0700); } if (!$cron->{'id'}) { - $cron->{'id'} = time().'_'.$$.'_'.($save_webmin_cron_count++); + $cron->{'id'} = time().'_'.$$.'_'.($cnt++); } my $file = "$webmin_crons_directory/$cron->{'id'}.cron"; my %wcron = %$cron;