~ chicken-core (chicken-5) a77e710902d1bd6bd4a7e40fa3e72cd03529801b
commit a77e710902d1bd6bd4a7e40fa3e72cd03529801b Author: Peter Bex <peter@more-magic.net> AuthorDate: Tue Jun 6 21:06:57 2017 +0200 Commit: Evan Hanson <evhan@foldling.org> CommitDate: Thu Jun 8 11:31:56 2017 +1200 Do not truncate file times to 32 bits on 32-bit or LLP platforms in setter Signed-off-by: Evan Hanson <evhan@foldling.org> diff --git a/posixunix.scm b/posixunix.scm index 54bfe7e4..f20623ec 100644 --- a/posixunix.scm +++ b/posixunix.scm @@ -370,12 +370,12 @@ static int set_file_mtime(char *filename, C_word atime, C_word mtime) if (atime == C_SCHEME_FALSE) { tb.actime = sb.st_atime; } else { - tb.actime = C_num_to_int(atime); + tb.actime = C_num_to_int64(atime); } if (mtime == C_SCHEME_FALSE) { tb.modtime = sb.st_mtime; } else { - tb.modtime = C_num_to_int(mtime); + tb.modtime = C_num_to_int64(mtime); } return utime(filename, &tb); } diff --git a/posixwin.scm b/posixwin.scm index 735504c5..c0a2cf88 100644 --- a/posixwin.scm +++ b/posixwin.scm @@ -648,12 +648,12 @@ static int set_file_mtime(char *filename, C_word atime, C_word mtime) if (atime == C_SCHEME_FALSE) { tb.actime = sb.st_atime; } else { - tb.actime = C_num_to_int(atime); + tb.actime = C_num_to_int64(atime); } if (mtime == C_SCHEME_FALSE) { tb.modtime = sb.st_mtime; } else { - tb.modtime = C_num_to_int(mtime); + tb.modtime = C_num_to_int64(mtime); } return _utime(filename, &tb); }Trap