fix improper utimes usage
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
		@@ -374,12 +374,12 @@ int FAST_FUNC copy_file(const char *source, const char *dest, int flags)
 | 
			
		||||
	/* Cannot happen: */
 | 
			
		||||
	/* && !(flags & (FILEUTILS_MAKE_SOFTLINK|FILEUTILS_MAKE_HARDLINK)) */
 | 
			
		||||
	) {
 | 
			
		||||
		struct timeval times;
 | 
			
		||||
		struct timeval times[2];
 | 
			
		||||
 | 
			
		||||
		times.tv_sec = source_stat.st_mtime;
 | 
			
		||||
		times.tv_usec = 0;
 | 
			
		||||
		times[1].tv_sec = times[0].tv_sec = source_stat.st_mtime;
 | 
			
		||||
		times[1].tv_usec = times[0].tv_usec = 0;
 | 
			
		||||
		/* BTW, utimes sets usec-precision time - just FYI */
 | 
			
		||||
		if (utimes(dest, ×) < 0)
 | 
			
		||||
		if (utimes(dest, times) < 0)
 | 
			
		||||
			bb_perror_msg("can't preserve %s of '%s'", "times", dest);
 | 
			
		||||
		if (chown(dest, source_stat.st_uid, source_stat.st_gid) < 0) {
 | 
			
		||||
			source_stat.st_mode &= ~(S_ISUID | S_ISGID);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user