svn commit: r316002 - in head/usr.bin/diff: . tests
Jilles Tjoelker
jilles at FreeBSD.org
Sun Mar 26 19:47:45 UTC 2017
Author: jilles
Date: Sun Mar 26 19:47:43 2017
New Revision: 316002
URL: https://svnweb.freebsd.org/changeset/base/316002
Log:
diff: Show nanoseconds in -u/-c header line.
Show nanoseconds in the -u/-c header line.
The present portability conditionals cannot handle the POSIX standard
st_mtim, so remove them and unconditionally use st_mtim.
PR: 218018
Reported by: jbeich
Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D10145
Added:
head/usr.bin/diff/tests/header_ns.out (contents, props changed)
Modified:
head/usr.bin/diff/diffreg.c
head/usr.bin/diff/tests/Makefile
head/usr.bin/diff/tests/diff_test.sh
Modified: head/usr.bin/diff/diffreg.c
==============================================================================
--- head/usr.bin/diff/diffreg.c Sun Mar 26 18:46:35 2017 (r316001)
+++ head/usr.bin/diff/diffreg.c Sun Mar 26 19:47:43 2017 (r316002)
@@ -94,12 +94,6 @@ __FBSDID("$FreeBSD$");
#define _PATH_PR "/usr/bin/pr"
-#ifdef ST_MTIM_NSEC
-# define TIMESPEC_NS(timespec) ((timespec).ST_MTIM_NSEC)
-#else
-# define TIMESPEC_NS(timespec) 0
-#endif
-
/*
* diff - compare two files.
*/
@@ -1615,14 +1609,10 @@ print_header(const char *file1, const ch
char end1[10];
char end2[10];
struct tm tm1, tm2, *tm_ptr1, *tm_ptr2;
- int nsec1 = TIMESPEC_NS (stb1.st_mtime);
- int nsec2 = TIMESPEC_NS (stb2.st_mtime);
+ int nsec1 = stb1.st_mtim.tv_nsec;
+ int nsec2 = stb2.st_mtim.tv_nsec;
-#ifdef ST_MTIM_NSEC
- time_format = "%Y-%m-%d %H:%M:%S.%N";
-#else
- time_format = "%Y-%m-%d %H:%M:%S";
-#endif
+ time_format = "%Y-%m-%d %H:%M:%S";
if (cflag)
time_format = "%c";
Modified: head/usr.bin/diff/tests/Makefile
==============================================================================
--- head/usr.bin/diff/tests/Makefile Sun Mar 26 18:46:35 2017 (r316001)
+++ head/usr.bin/diff/tests/Makefile Sun Mar 26 19:47:43 2017 (r316002)
@@ -20,7 +20,8 @@ ${PACKAGE}FILES+= \
unified_p.out \
unified_c9999.out \
unified_9999.out \
- header.out
+ header.out \
+ header_ns.out
NETBSD_ATF_TESTS_SH+= netbsd_diff_test
Modified: head/usr.bin/diff/tests/diff_test.sh
==============================================================================
--- head/usr.bin/diff/tests/diff_test.sh Sun Mar 26 18:46:35 2017 (r316001)
+++ head/usr.bin/diff/tests/diff_test.sh Sun Mar 26 19:47:43 2017 (r316002)
@@ -3,6 +3,7 @@
atf_test_case simple
atf_test_case unified
atf_test_case header
+atf_test_case header_ns
simple_body()
{
@@ -58,9 +59,21 @@ header_body()
diff -u empty hello
}
+header_ns_body()
+{
+ export TZ=UTC
+ : > empty
+ echo hello > hello
+ touch -d 2015-04-03T01:02:03.123456789 empty
+ touch -d 2016-12-22T11:22:33.987654321 hello
+ atf_check -o "file:$(atf_get_srcdir)/header_ns.out" -s eq:1 \
+ diff -u empty hello
+}
+
atf_init_test_cases()
{
atf_add_test_case simple
atf_add_test_case unified
atf_add_test_case header
+ atf_add_test_case header_ns
}
Added: head/usr.bin/diff/tests/header_ns.out
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/usr.bin/diff/tests/header_ns.out Sun Mar 26 19:47:43 2017 (r316002)
@@ -0,0 +1,4 @@
+--- empty 2015-04-03 01:02:03.123456789 +0000
++++ hello 2016-12-22 11:22:33.987654321 +0000
+@@ -0,0 +1 @@
++hello
More information about the svn-src-head
mailing list