Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: zsh 5.6.2-test-2



On Mon, Dec 24, 2018 at 06:40:22AM +0100, Axel Beckert wrote:
>And I suspect 5ad76492af8931added1ae9600309d915d1427a5 (43800: Add
>nanosecond support to strftime built-in) to be the cause as the
>nanosecond test is the one which fails (on i386 at least).

Yes, it's my fault, i'm sorry.

The test is wrong — 10 ** 9 is too many nanoseconds. I must not have been
paying attention, and just went with it because the built-in took it anyway.
I think it should probably not do that, to account for clever people like me

dana


diff --git a/Src/Modules/datetime.c b/Src/Modules/datetime.c
index 18c7fb58e..521c15a5b 100644
--- a/Src/Modules/datetime.c
+++ b/Src/Modules/datetime.c
@@ -148,7 +148,7 @@ output_strftime(char *nam, char **argv, Options ops, UNUSED(int func))
 	    } else if (*argv[2] == '\0' || *endptr != '\0') {
 		zwarnnam(nam, "%s: invalid decimal number", argv[2]);
 		return 1;
-	    } else if (ts.tv_nsec < 0) {
+	    } else if (ts.tv_nsec < 0 || ts.tv_nsec > 999999999) {
 		zwarnnam(nam, "%s: invalid nanosecond value", argv[2]);
 		return 1;
 	    }
diff --git a/Test/V09datetime.ztst b/Test/V09datetime.ztst
index 22d560750..da4dd4442 100644
--- a/Test/V09datetime.ztst
+++ b/Test/V09datetime.ztst
@@ -90,7 +90,7 @@
   strftime '%Y-%m-%d %H:%M:%S.%3.' 1012615322
   strftime '%Y-%m-%d %H:%M:%S.%3.' 1012615322 0
   strftime '%Y-%m-%d %H:%M:%S.%3.' 1012615322 2
-  strftime '%Y-%m-%d %H:%M:%S.%3.' 1012615322 $(( 222 * (10 ** 9) ))
+  strftime '%Y-%m-%d %H:%M:%S.%3.' 1012615322 $(( 222 * (10 ** 6) ))
 0:optional nanoseconds
 >2002-02-02 02:02:02.000
 >2002-02-02 02:02:02.000
@@ -103,6 +103,9 @@
   strftime '%Y' 1012615322 '' 2> /dev/null
 1:empty nanoseconds not allowed
 
+  strftime '%N' 1012615322 $(( 222 * (10 ** 9) )) 2> /dev/null
+1:too-large nanoseconds not allowed
+
   strftime '%N' 1012615322 ${(l<64><9>):-} 2> /dev/null
 1:overflowed nanoseconds not allowed
 



Messages sorted by: Reverse Date, Date, Thread, Author