I think that totime@ is not working correctly for 64bit ftn95. This is illustarted by the program
program timetest
character*8 totime@
integer(kind=2) mode,dev,rdev,nlink,error_code
integer(kind=3) size,atime,mtime,ctime
call fileinfo@('data.txt',mode,dev,rdev,nlink,size,atime,mtime, &
ctime,error_code)
write(*,\'(' atime,mtime,ctime ',3i11)\') atime,mtime,ctime
write(*,\'(' totime@(ctime) ',a)\') totime@(ctime)
stop
end
The information on file data.txt from a directory listing: 26/07/2023 11:20 5 data.txt
Running the 64bit executable: atime,mtime,ctime 1690366828 1690366828 1690366824 totime@(ctime) 15:13:40
Running the 32bit executable: atime,mtime,ctime 1690366828 1690366828 1690366824 totime@(ctime) 10:20:24
ctime, returned from fileinfo@ is the same for both executables. We are currently on British summer time. In the Win32 executable, totime@ converts this to GMT. In the Win64 executable totime@ seems incorrect.
Have I done something silly?
Is there a way, from within an ftn95 program (by accessing an environment variable?) to detect whether we are currently on daylight savings or not?