home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 February / PCWK0296.iso / sharewar / os2 / inne / unrar100 / patches.emx < prev    next >
Text File  |  1995-01-06  |  1KB  |  56 lines

  1. *** unrar.h~    Fri Jan 06 13:59:38 1995
  2. --- unrar.h    Fri Jan 06 14:10:08 1995
  3. ***************
  4. *** 68,78 ****
  5.   
  6.   #define MEMALLOC(Size)                malloc(Size)
  7.   #define MEMFREE(Ptr)                  free(Ptr)
  8. - #define MAKEDIR(Name)                 mkdir(Name)
  9. - #define SETFILETIME(FPtr,DosTimePtr)  setftime(fileno(FPtr),DosTimePtr)
  10.   #define PATHDIV                       '\\'
  11.   
  12.   extern int _fmode=O_BINARY;
  13.   #endif
  14.   
  15.   
  16. --- 68,106 ----
  17.   
  18.   #define MEMALLOC(Size)                malloc(Size)
  19.   #define MEMFREE(Ptr)                  free(Ptr)
  20.   #define PATHDIV                       '\\'
  21.   
  22. + #ifndef __EMX__
  23. + #define MAKEDIR(Name)                 mkdir(Name)
  24. + #define SETFILETIME(FPtr,DosTimePtr)  setftime(fileno(FPtr),DosTimePtr)
  25.   extern int _fmode=O_BINARY;
  26. + #else
  27. + #define MAKEDIR(Name)                 mkdir(Name, 0755)
  28. + #define SETFILETIME(FPtr,DosTimePtr)  setfiletime(fileno(FPtr),DosTimePtr)
  29. + #define INCL_DOS
  30. + #include <os2.h>
  31. + void setfiletime(int handle, void *timedate)
  32. + {
  33. +   FILESTATUS fs;
  34. +   struct {
  35. +     FTIME ft;
  36. +     FDATE fd;
  37. +   } s;
  38. +   memcpy(&s, timedate, sizeof(s));
  39. +   if ( DosQueryFileInfo(handle, FIL_STANDARD, (PBYTE) &fs, sizeof(fs)) )
  40. +     return;
  41. +   fs.fdateLastWrite = fs.fdateCreation = s.fd;
  42. +   fs.ftimeLastWrite = fs.ftimeCreation = s.ft;
  43. +   DosSetFileInfo(handle, FIL_STANDARD, (PBYTE) &fs, sizeof(fs));
  44. + }
  45. + #endif
  46.   #endif
  47.   
  48.   
  49.