about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/unix/sysv/linux/futimes.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 2bf0a0ae1b..dddb6280ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-12-01  Andreas Schwab  <schwab@redhat.com>
+
+	* sysdeps/unix/sysv/linux/futimes.c: Truncate time values when
+	falling back to utime.
+
 2011-11-30  Andreas Schwab  <schwab@redhat.com>
 
 	* sysdeps/s390/fpu/libm-test-ulps: Relax cpow (2 + 3 i, 4 + 0 i)
diff --git a/sysdeps/unix/sysv/linux/futimes.c b/sysdeps/unix/sysv/linux/futimes.c
index 272b83eb05..cd3cce618c 100644
--- a/sysdeps/unix/sysv/linux/futimes.c
+++ b/sysdeps/unix/sysv/linux/futimes.c
@@ -1,5 +1,5 @@
 /* futimes -- change access and modification times of open file.  Linux version.
-   Copyright (C) 2002,2003,2005,2006,2007 Free Software Foundation, Inc.
+   Copyright (C) 2002,2003,2005,2006,2007,2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -95,8 +95,8 @@ __futimes (int fd, const struct timeval tvp[2])
       if (tvp != NULL)
 	{
 	  times = &buf;
-	  buf.actime = tvp[0].tv_sec + (tvp[0].tv_usec + 500000) / 1000000;
-	  buf.modtime = tvp[1].tv_sec + (tvp[1].tv_usec + 500000) / 1000000;
+	  buf.actime = tvp[0].tv_sec;
+	  buf.modtime = tvp[1].tv_sec;
 	}
       else
 	times = NULL;