bug-wget
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-wget] Download files and preserve their data and time


From: Giuseppe Scrivano
Subject: Re: [Bug-wget] Download files and preserve their data and time
Date: Sat, 20 Aug 2011 17:21:31 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

"David H. Lipman" <address@hidden> writes:

> WinXP/Vista -- Win32
>
> Y:\>wget --version
> GNU Wget 1.12-2504 built on mingw32.

the change introduced by the revision
address@hidden could be the reason of
the problem you have reported.

If it is possible for you to compile wget, could you try to revert this
patch?  Does it solve the problem for you?
If you have problems to re-build wget then I'll try to setup the
environment here.

Thanks,
Giuseppe



=== modified file 'bootstrap.conf'
--- bootstrap.conf      2011-04-19 09:31:25 +0000
+++ bootstrap.conf      2011-04-19 10:33:46 +0000
@@ -30,9 +30,11 @@
 announce-gen
 bind
 c-ctype
+clock-time
 close
 connect
 fcntl
+futimens
 getaddrinfo
 getopt-gnu
 getpass-gnu

=== modified file 'src/Makefile.am'
--- src/Makefile.am     2011-04-03 22:13:53 +0000
+++ src/Makefile.am     2011-04-19 10:33:46 +0000
@@ -37,7 +37,7 @@
 
 # The following line is losing on some versions of make!
 DEFS     = @DEFS@ -DSYSTEM_WGETRC=\"$(sysconfdir)/wgetrc\" 
-DLOCALEDIR=\"$(localedir)\"
-LIBS     = @LIBICONV@ @LIBINTL@ @LIBS@
+LIBS     = @LIBICONV@ @LIBINTL@ @LIBS@ $(LIB_CLOCK_GETTIME)
 
 bin_PROGRAMS = wget
 wget_SOURCES = cmpt.c connect.c convert.c cookies.c ftp.c                \

=== modified file 'src/utils.c'
--- src/utils.c 2011-04-18 12:37:42 +0000
+++ src/utils.c 2011-04-19 10:33:46 +0000
@@ -51,8 +51,7 @@
 #include <stdarg.h>
 #include <locale.h>
 
-#include <sys/time.h>
-
+#include <sys/stat.h>
 
 /* For TIOCGWINSZ and friends: */
 #ifdef HAVE_SYS_IOCTL_H
@@ -488,15 +487,25 @@
 void
 touch (const char *file, time_t tm)
 {
-  struct timeval timevals[2];
-
-  timevals[0].tv_sec = time (NULL);
-  timevals[0].tv_usec = 0L;
-  timevals[1].tv_sec = tm;
-  timevals[1].tv_usec = 0L;
-
-  if (utimes (file, timevals) == -1)
-    logprintf (LOG_NOTQUIET, "utimes(%s): %s\n", file, strerror (errno));
+  struct timespec timespecs[2];
+  int fd;
+
+  fd = open (file, O_WRONLY);
+  if (fd < 0)
+    {
+      logprintf (LOG_NOTQUIET, "open(%s): %s\n", file, strerror (errno));
+      return;
+    }
+
+  timespecs[0].tv_sec = time (NULL);
+  timespecs[0].tv_nsec = 0L;
+  timespecs[1].tv_sec = tm;
+  timespecs[1].tv_nsec = 0L;
+
+  if (futimens (fd, timespecs) == -1)
+    logprintf (LOG_NOTQUIET, "futimens(%s): %s\n", file, strerror (errno));
+
+  close (fd);
 }
 
 /* Checks if FILE is a symbolic link, and removes it if it is.  Does

=== modified file 'tests/Makefile.am'
--- tests/Makefile.am   2011-04-03 22:13:53 +0000
+++ tests/Makefile.am   2011-04-19 10:33:46 +0000
@@ -34,7 +34,7 @@
 PERL     = perl
 PERLRUN = $(PERL) -I$(srcdir)
 
-LIBS     = @LIBICONV@ @LIBINTL@ @LIBS@
+LIBS     = @LIBICONV@ @LIBINTL@ @LIBS@ $(LIB_CLOCK_GETTIME)
 
 .PHONY: test run-unit-tests run-px-tests
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]