delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/04/25/16:10:55

X-Spam-Check-By: sourceware.org
From: "Dave Korn" <dave DOT korn AT artimi DOT com>
To: <cygwin AT cygwin DOT com>
Subject: RE: [Patch] patch -Z not working if timestamp contains seconds >=59.5
Date: Tue, 25 Apr 2006 21:10:44 +0100
Message-ID: <054c01c668a4$554924e0$a501a8c0@CAM.ARTIMI.COM>
MIME-Version: 1.0
X-Mailer: Microsoft Office Outlook 11
In-Reply-To: <1FYLWN-0KKWBs0@fwd33.aul.t-online.de>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On 25 April 2006 12:16, Christian Franke wrote:

> Hi,
> 
> the patch 2.5.8-8 options -Z and -T do not set filetime if the seconds
> part
> of the timestamp is greater or equal 59.5
> This is because maketime() does not handle "denormalized" times and
> returns an error on tm_sec = 60.
> The attached patch is a quick fix (and a testcase ;-) for this issue.
> 
> Christian

diff -rup patch-2.5.8-8.orig/partime.c patch-2.5.8-8/partime.c
--- patch-2.5.8-8.orig/partime.c	2002-12-15 21:37:32.001000000 +0100
+++ patch-2.5.8-8/partime.c	2006-04-25 12:14:59.797168500 +0200
@@ -753,6 +753,8 @@ parse_pattern_letter (s, c, t)
 	int frac;
 	s = parse_decimal (s, 2, 0, 60, 1, &t->tm.tm_sec, &frac);
 	t->tm.tm_sec += frac;
+	if (t->tm.tm_sec > 59)
+	  t->tm.tm_sec = 59;
       }
       break;
 

  I'm not sure if rounding errors can be a good idea when makefiles might be
involved.  Why isn't your code propagating the carry, i.e. setting tm_sec to
zero and incrmenting the minutes? 


    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019