From a8ccfeed7133a39e71b4956d4fe467c098ec0477 Mon Sep 17 00:00:00 2001 From: "sgehani%netscape.com" Date: Mon, 27 Mar 2000 22:04:46 +0000 Subject: [PATCH] Fixing nsIFile::SetLastModificationDate for Unix. b = 12368 r = ssu git-svn-id: svn://10.0.0.236/trunk@64239 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/xpcom/io/nsLocalFileUnix.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mozilla/xpcom/io/nsLocalFileUnix.cpp b/mozilla/xpcom/io/nsLocalFileUnix.cpp index cb5c1a66b26..4db14768d44 100644 --- a/mozilla/xpcom/io/nsLocalFileUnix.cpp +++ b/mozilla/xpcom/io/nsLocalFileUnix.cpp @@ -794,9 +794,11 @@ nsLocalFile::SetLastModificationDate(PRInt64 aLastModificationDate) VALIDATE_STAT_CACHE(); struct utimbuf ut; ut.actime = mCachedStat.st_atime; - PRInt32 hi, lo; - mLL_L2II(aLastModificationDate, hi, lo); - ut.modtime = (time_t)lo; + + // convert PRTime microsecs to unix seconds since the epoch + double dTime; + LL_L2D(dTime, aLastModificationDate); + ut.modtime = (time_t)( (PRUint32)(dTime * 1e-6 + 0.5) ); result = utime(mPath, &ut); } else { result = utime(mPath, NULL);