summaryrefslogtreecommitdiff
path: root/time.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-04-16 07:28:16 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-04-16 07:28:16 +0000
commit9cd678b72f86ed312321cf04fc83f5a10978485b (patch)
treec92c743b2c5ab35911971deaeb492ef2676d19c7 /time.c
parenta68a11dd3191755b4cc978b7479e191c2a69e531 (diff)
* time.c (time_arg): should allow to specify 24:00.
[ruby-core:10915] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'time.c')
-rw-r--r--time.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/time.c b/time.c
index 9fa37d7985..5a806ecab4 100644
--- a/time.c
+++ b/time.c
@@ -368,7 +368,8 @@ time_arg(int argc, VALUE *argv, struct tm *tm, time_t *usec)
#endif
tm->tm_mon < 0 || tm->tm_mon > 11
|| tm->tm_mday < 1 || tm->tm_mday > 31
- || tm->tm_hour < 0 || tm->tm_hour > 23
+ || tm->tm_hour < 0 || tm->tm_hour > 24
+ || (tm->tm_hour == 24 && (tm->tm_min > 0 || tm->tm_sec > 0))
|| tm->tm_min < 0 || tm->tm_min > 59
|| tm->tm_sec < 0 || tm->tm_sec > 60)
rb_raise(rb_eArgError, "argument out of range");