To whom it may concern:

I have since discovered a bug in my "fix" for creation times. If INT 21h  
AH=3Ch is called and the file is truncated (not created), its creation  
time will be replaced with the modification time. This is because dos_open  
calls init_direntry when creating or truncating a file, which with my  
modification just copies the modification time to the creation time. This  
is not what Windows does, and not what I want (but others might disagree).

One way to fix this is to save the creation date and time before calling  
init_direntry in dos_open:

     UWORD crtime = fnp->f_dir.dir_crtime;
     UWORD crdate = fnp->f_dir.dir_crdate;

And then restore it:

     if (status == S_REPLACED)
     {
       fnp->f_dir.dir_crtime = crtime;
       fnp->f_dir.dir_crdate = crdate;
     }

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to