- Set the time of the copied file to the time of the source file.

svn path=/trunk/; revision=12236
This commit is contained in:
Hartmut Birr 2004-12-19 21:49:13 +00:00
parent 7e6f1ac93b
commit 427f167cae

View file

@ -2,6 +2,7 @@
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/utime.h>
#ifdef WIN32 #ifdef WIN32
#include <io.h> #include <io.h>
#include <dos.h> #include <dos.h>
@ -85,6 +86,8 @@ copy_file(char* path1, char* path2)
char* buf; char* buf;
int n_in; int n_in;
int n_out; int n_out;
struct _stat st_buffer;
struct _utimbuf ut_buffer;
in = fopen(path1, "rb"); in = fopen(path1, "rb");
if (in == NULL) if (in == NULL)
@ -115,6 +118,21 @@ copy_file(char* path1, char* path2)
exit(1); exit(1);
} }
} }
free(buf);
fclose(in);
fclose(out);
if (_stat(path2, &st_buffer) >= 0)
{
ut_buffer.actime = st_buffer.st_atime;
if (_stat(path1, &st_buffer) >= 0)
{
ut_buffer.modtime = st_buffer.st_mtime;
_utime(path2, &ut_buffer);
}
}
} }
#ifdef WIN32 #ifdef WIN32