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) { if ($param && $value) {
printf("$PROGRAM_NAME: $param = $value\n"); printf("$PROGRAM_NAME: $param = $value\n");
if ($param eq 'latitude') { 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; $LATITUDE = $value;
next; next;
} }
if ($param eq 'longitude') { 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; $LONGITUDE = $value;
next; next;
} }
if ($param eq 'timezone') { if ($param eq 'timezone') {
if (!DateTime::TimeZone->is_valid_name($value)) {
die ("$PROGRAM_NAME: Invalid timezone\n");
}
$TIMEZONE = $value; $TIMEZONE = $value;
next; next;
} }