Windows to Linux Porting - timeCreated and timeLastAccessed

Vino vino.bheeman at hotmail.com
Fri May 4 11:49:24 UTC 2018


Hi All,

   Request your help, I have a D program written on Windows 
platform and the program is working as expected, now i am trying 
to port the same program to Linux, my program use the function 
"timeCreated" from std.file for Windows hugely where as in Linux 
we do not have the same function hence planned to use the 
function "timeLastAccessed" from std.file, so what is the best 
approach to port the program. I tried the below code but not 
working, so can you one please guide me on the right method to 
port the program to linux, below is the example code.

Example Code:
import std.stdio: writeln;
import std.container.array;
import std.file: dirEntries,isFile, SpanMode;
import std.algorithm: filter, map;
import std.typecons: Tuple, tuple;
import std.datetime.systime: SysTime;


version (Windows) { alias sTimeStamp = timeCreated; } else 
version (linux) { alias sTimeStamp = timeLastAccessed; }

auto clogClean (string LogDir ) {
Array!(Tuple!(string, SysTime)) dFiles;
  dFiles.insert(dirEntries(LogDir, SpanMode.shallow).filter!(a => 
a.isFile).map!(a => tuple(a.name, a.sTimeStamp)));
  return dFiles;
}

void main () {
string LogDir;
LogDir = "//DScript/Test";       //  Error: undefined identifier 
timeLastAccessed on Linux
LogDir = "C:\\DScript\\Others";  //  Error: undefined identifier 
timeCreated on Windows.
writeln(clogClean(LogDir));
}

From,
Vino.B




More information about the Digitalmars-d-learn mailing list