From 3711c5e17dcb4ab5c4215ab33797565e7f9fbf03 Mon Sep 17 00:00:00 2001 From: in2 Date: Fri, 10 Jun 2005 08:16:37 +0000 Subject: skip wrong datetime git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2819 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- util/waterball.pl | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'util') diff --git a/util/waterball.pl b/util/waterball.pl index 2258356a..a003d1c6 100644 --- a/util/waterball.pl +++ b/util/waterball.pl @@ -68,10 +68,16 @@ sub parse($) $cmode ? $str =~ m|กน(\w+?)\[37;45m\s*(.*).*?\[(\w+)/(\w+)/(\w+) (\w+):(\w+):(\w+)\]| : $str =~ m|^To (\w+):\s*(.*)\[(\d+)/(\d+)/(\d+) (\d+):(\d+):(\d+)\]|; - return (!$month ? () : - ($cmode, $who, - timelocal($sec, $min, $hour, $day, $month - 1, $year), - $say, $_[0])); + return ( !(1 <= $month && $month <= 12 && + 1 <= $day && $day <= 31 && + 0 <= $hour && $hour <= 23 && + 0 <= $min && $min <= 59 && + 0 <= $sec && $sec <= 59 && + 1970 <= $year && $year <= 2038) ? + () : + ($cmode, $who, + timelocal($sec, $min, $hour, $day, $month - 1, $year), + $say, $_[0]) ); } sub output -- cgit v1.2.3