1.5.21: file timestamp not updated after editing

Corinna Vinschen corinna-cygwin@cygwin.com
Sun Jul 30 14:47:00 GMT 2006


On Jul 29 19:29, Alex Eng wrote:
> After editing a file, the timestamp on the file (according to ls -l)
> is unchanged. However if stat <filename> is executed, the change
> timestamp given in the output differs from that given in ls -l:
>> $ ls -l foo.c
> -rw-r--r-- 1 Alex 126 Jul 29 17:10 foo.c
> $ nano foo.c
> ### File is edited and saved ###
> $ ls -l foo.c
> -rw-r--r-- 1 Alex 289 Jul 29 17:10 foo.c
> $ stat foo.c
> File: `foo.c'
> Size: 289 Blocks: 1 IO Block: 1024 regular file
> Device: a8dc98beh/2833029310d Inode: 562949953426654 Links: 1
> Access: (0644/-rw-r--r--) Uid: ( 1004/ Alex) Gid: ( 513/ None)
> Access: 2006年07月29日 18:19:09.921875000 -0700
> Modify: 2006年07月29日 17:10:44.531250000 -0700
> Change: 2006年07月29日 18:19:15.828125000 -0700

I can't reproduce this problem at all. Assuming nano changes the file
in place, opposed to editors like vim, which recreate the file on write,
then a simple open/write/close like this:
 #include <stdio.h>
 #include <errno.h>
 #include <sys/fcntl.h>
 int
 main (int argc, char **argv)
 {
 int fd = open (argv[1], O_WRONLY);
 if (fd < 0)
 {
	fprintf (stderr, "open(%s): %d <%s>\n",
		 argv[1], errno, strerror (errno));
	return 1;
 }
 --argc; ++argv;
 while (--argc > 0)
 {
	++argv;
	write (fd, *argv, strlen (*argv));
 }
 close (fd);
 return 0;
 }
would have the same effect. It hasn't, at least not in my testing.
Is there a chance that you're suffering from a malice virus scanner?
Corinna
-- 
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /