From 36c480ec4b3c6f5b1acb49e8245899c6f455e7a1 Mon Sep 17 00:00:00 2001
From: "Mirar (Pontus Hagland)" <pike@sort.mirar.org>
Date: Sun, 30 Mar 2003 14:53:21 +0200
Subject: [PATCH] Applied patch from Mirar.

Rev: lib/modules/Calendar.pmod/YMD.pike:1.4
---
 lib/modules/Calendar.pmod/YMD.pike | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/lib/modules/Calendar.pmod/YMD.pike b/lib/modules/Calendar.pmod/YMD.pike
index bf4d93e6f0..560fe06055 100644
--- a/lib/modules/Calendar.pmod/YMD.pike
+++ b/lib/modules/Calendar.pmod/YMD.pike
@@ -2486,8 +2486,17 @@ static TimeRange dwim_tod(TimeRange origin,string whut,int h,int m,int s)
    TimeRange tr;
    if (catch {
       tr=origin[whut](h,m,s);
-   } && h==24 && m==0 && s==0) // special case
-      return origin->end()->second();
+   }) {
+      if (h==24 && m==0 && s==0) // special case
+         return origin->end()->second();
+      else {
+	 object d=origin->day();
+	 array(cHour) ha=origin->hours();
+	 int n=search(ha->hour_no(),h);
+	 if (n!=-1) tr=ha[n]->minute(m)->second(s);
+	 else return 0; // no such hour
+      }
+   }
 
    if (tr->hour_no()!=h || tr->minute_no()!=m)
    {
-- 
GitLab