Ignore:
Timestamp:
Dec 19, 2002, 1:55:27 PM (23 years ago)
Author:
sandervl
Message:

DT: GetFileTime & SetFileTime fixes; need to convert between UTC and local file time

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/hmfile.cpp

    r9453 r9530  
    1 /* $Id: hmfile.cpp,v 1.36 2002-12-03 11:29:27 sandervl Exp $ */
     1/* $Id: hmfile.cpp,v 1.37 2002-12-19 12:55:27 sandervl Exp $ */
    22
    33/*
     
    141141 * Result    :
    142142 * Remark    : TODO: Check if this implementation is complete and 100% correct
     143 *                           UTC Time or Localtime ?
     144 *                   GetFileTime is changed, Returns UTC-time yet !!!!!
    143145 * Status    : NO_ERROR - API succeeded
    144146 *             other    - what is to be set in SetLastError
     
    220222                    &filetime );
    221223
     224                /* UTC Time or Localtime ? GetFileTime Returns UTC-time yet ? !!!!! */
    222225        FileTimeToDosDateTime(&filetime,
    223226                              &filedatetime[0],
     
    674677}
    675678
    676 
     679//******************************************************************************
    677680/*****************************************************************************
    678681 * Name      : BOOL HMDeviceFileClass::SetFileTime
     
    687690 * Status    :
    688691 *
    689  * Author    : Patrick Haller [Wed, 1999/06/17 20:44]
     692 * Author    : Patrick Haller [Wed, 1999/06/17 20:44] mod. DT
    690693 *****************************************************************************/
    691694
     
    695698                                    LPFILETIME pFT3)
    696699{
    697  WORD creationdate = 0, creationtime = 0;
    698  WORD lastaccessdate = 0, lastaccesstime = 0;
    699  WORD lastwritedate = 0, lastwritetime = 0;
    700 
    701700    dprintfl(("KERNEL32: HMDeviceFileClass::SetFileTime %s(%08xh,%08xh,%08xh,%08xh)\n",
    702701              lpHMDeviceName, pHMHandleData, pFT1, pFT2, pFT3));
    703702
    704     if(pFT1 && pFT1->dwLowDateTime && pFT1->dwHighDateTime) {
    705         FileTimeToDosDateTime(pFT1, &creationdate, &creationtime);
    706     }
    707 
    708     if(pFT2 && pFT2->dwLowDateTime && pFT2->dwHighDateTime) {
    709         FileTimeToDosDateTime(pFT2, &lastaccessdate, &lastaccesstime);
    710     }
    711 
    712     if(pFT3 && pFT3->dwLowDateTime && pFT3->dwHighDateTime) {
    713         FileTimeToDosDateTime(pFT3, &lastwritedate, &lastwritetime);
    714     }
    715 
    716     if(OSLibDosSetFileTime(pHMHandleData->hHMHandle,
    717                            creationdate, creationtime,
    718                            lastaccessdate, lastaccesstime,
    719                            lastwritedate, lastwritetime))
    720     {
    721         return TRUE;
    722     }
     703    if(OSLibDosSetFileTime(pHMHandleData->hHMHandle, pFT1, pFT2, pFT3)) return TRUE;
     704
    723705    dprintf(("SetFileTime failed with error %d", GetLastError()));
    724706    return FALSE;
     
    737719 * Status    :
    738720 *
    739  * Author    : SvL
     721 * Author    : SvL mod. DT
    740722 *****************************************************************************/
    741723
     
    745727                                    LPFILETIME pFT3)
    746728{
    747  WORD creationdate, creationtime;
    748  WORD lastaccessdate, lastaccesstime;
    749  WORD lastwritedate, lastwritetime;
    750  BOOL rc;
    751 
    752729  if(!pFT1 && !pFT2 && !pFT3) {//TODO: does NT do this?
    753730    dprintf(("ERROR: GetFileTime: invalid parameter!"));
     
    756733  }
    757734
    758   if(OSLibDosGetFileTime(pHMHandleData->hHMHandle,
    759                          &creationdate, &creationtime,
    760                          &lastaccessdate, &lastaccesstime,
    761                          &lastwritedate, &lastwritetime))
    762   {
    763     if(pFT1) {
    764         DosDateTimeToFileTime(creationdate, creationtime, pFT1);
    765     }
    766     if(pFT2) {
    767         DosDateTimeToFileTime(lastaccessdate, lastaccesstime, pFT2);
    768     }
    769     if(pFT3) {
    770         DosDateTimeToFileTime(lastwritedate, lastwritetime, pFT3);
    771     }
    772     return TRUE;
    773   }
     735  if(OSLibDosGetFileTime(pHMHandleData->hHMHandle, pFT1, pFT2, pFT3)) return TRUE;
    774736  dprintf(("GetFileTime failed with error %d", GetLastError()));
    775737  return FALSE;
Note: See TracChangeset for help on using the changeset viewer.