Commit e99da818 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

db-iris: Add input validation for --date and --time

DateTime also validates these parameters, but forwarding its exceptions
to the user isn't exactly user friendly
parent 53d29534
Loading
Loading
Loading
Loading
+26 −2
Original line number Diff line number Diff line
@@ -69,7 +69,18 @@ if ($track_via) {
}

if ($date) {
	my ( $day, $month, $year ) = split( qr{ [.] }ox, $date );
	my ( $day, $month, $year ) = split( qr{ [.] }x, $date );

	if (   not( defined $day and defined $month )
		or ( $day < 1 )
		or ( $day > 31 )
		or ( $month < 1 )
		or ( $month > 12 ) )
	{
		say STDERR "-d/--date: Please specify a valid date";
		exit(3);
	}

	$datetime->set(
		day   => $day,
		month => $month,
@@ -77,7 +88,20 @@ if ($date) {
	);
}
if ($time) {
	my ( $hour, $minute, $second ) = split( qr{ : }ox, $time );
	my ( $hour, $minute, $second ) = split( qr{ : }x, $time );

	if (   not defined $hour
		or not defined $minute
		or ( $hour < 0 )
		or ( $hour > 23 )
		or ( $minute < 0 )
		or ( $minute > 59 )
		or ( defined $second and ( ( $second < 0 ) or ( $second > 59 ) ) ) )
	{
		say STDERR "-t/--time: Please specify a valid time";
		exit(3);
	}

	$datetime->set(
		hour   => $hour,
		minute => $minute,