Added config file validation for longitude, latitude and timezone

This commit is contained in:
Anders Betnér 2008-02-23 20:44:58 +00:00
parent 489e8aaf88
commit f79cc13854

View file

@ -475,14 +475,29 @@ sub read_config
if ($param && $value) {
printf("$PROGRAM_NAME: $param = $value\n");
if ($param eq 'latitude') {
if ($value !~ /^-?[0-9\.]*$/) {
die ("$PROGRAM_NAME: Latitude must be a valid number\n");
}
if ($value < -90 || $value > 90) {
die ("$PROGRAM_NAME: Latitude must be between -90 and 90 degrees\n");
}
$LATITUDE = $value;
next;
}
if ($param eq 'longitude') {
if ($value !~ /^-?[0-9\.]*$/) {
die ("$PROGRAM_NAME: Longitude must be a valid number\n");
}
if ($value < -90 || $value > 90) {
die ("$PROGRAM_NAME: Longitude must be between -180 and 180 degrees\n");
}
$LONGITUDE = $value;
next;
}
if ($param eq 'timezone') {
if (!DateTime::TimeZone->is_valid_name($value)) {
die ("$PROGRAM_NAME: Invalid timezone\n");
}
$TIMEZONE = $value;
next;
}