Changeset 841 for trunk/dll/valid.c


Ignore:
Timestamp:
Sep 23, 2007, 6:27:51 PM (18 years ago)
Author:
Gregg Young
Message:

This implements large file support; The wrappers to allow WARP3 compatibility are not done so this will not run on Warp3or Warp 4 pre fixpack 12(?)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/valid.c

    r793 r841  
    3131#define INCL_DOSDEVICES                 // DosDevIOCtl
    3232#define INCL_DOSDEVIOCTL                // DosDevIOCtl
     33#define INCL_LONGLONG
    3334#include <os2.h>
    3435
     
    8687
    8788  int comp = 0;
    88   FILESTATUS3 fs3o, fs3n;
     89  FILESTATUS3L fs3o, fs3n;
    8990
    9091  DosError(FERR_DISABLEHARDERR);
    91   if (!DosQueryPathInfo(file1, FIL_STANDARD, &fs3o, sizeof(fs3o))) {
    92     DosError(FERR_DISABLEHARDERR);
    93     if (!DosQueryPathInfo(file2, FIL_STANDARD, &fs3n, sizeof(fs3n))) {
     92  if (!DosQueryPathInfo(file1, FIL_STANDARDL, &fs3o, sizeof(fs3o))) {
     93    DosError(FERR_DISABLEHARDERR);
     94    if (!DosQueryPathInfo(file2, FIL_STANDARDL, &fs3n, sizeof(fs3n))) {
    9495      comp = (fs3n.fdateLastWrite.year >
    9596              fs3o.fdateLastWrite.year) ? 1 :
     
    299300
    300301  DosError(FERR_DISABLEHARDERR);
    301   rc = DosOpen(szPath, &hDev, &ulAction, 0, 0, FILE_OPEN,
    302                OPEN_ACCESS_READONLY | OPEN_SHARE_DENYNONE |
    303                OPEN_FLAGS_DASD | OPEN_FLAGS_FAIL_ON_ERROR, 0);
     302  rc = DosOpenL(szPath, &hDev, &ulAction, 0, 0, FILE_OPEN,
     303                OPEN_ACCESS_READONLY | OPEN_SHARE_DENYNONE |
     304                OPEN_FLAGS_DASD | OPEN_FLAGS_FAIL_ON_ERROR, 0);
    304305  if (rc) {
    305306    DosError(FERR_DISABLEHARDERR);
     
    352353  /* returns:  -1 (error), 0 (is a directory), or 1 (is a file) */
    353354
    354   FILESTATUS3 fsa1, fsa2;
     355  FILESTATUS3L fsa1, fsa2;
    355356  APIRET ret;
    356357
    357358  if (filename1 && filename2) {
    358359    DosError(FERR_DISABLEHARDERR);
    359     ret = DosQueryPathInfo(filename1, FIL_STANDARD, &fsa1,
     360    ret = DosQueryPathInfo(filename1, FIL_STANDARDL, &fsa1,
    360361                           (ULONG) sizeof(fsa1));
    361362    if (!ret) {
    362363      DosError(FERR_DISABLEHARDERR);
    363       ret = DosQueryPathInfo(filename2, FIL_STANDARD, &fsa2,
     364      ret = DosQueryPathInfo(filename2, FIL_STANDARDL, &fsa2,
    364365                             (ULONG) sizeof(fsa2));
    365366      if (!ret) {
     
    378379  /* returns:  -1 (error), 0 (is a directory), or 1 (is a file) */
    379380
    380   FILESTATUS3 fsa;
     381  FILESTATUS3L fsa;
    381382  APIRET ret;
    382383
    383384  if (filename && *filename) {
    384385    DosError(FERR_DISABLEHARDERR);
    385     ret = DosQueryPathInfo(filename, FIL_STANDARD, &fsa, (ULONG) sizeof(fsa));
     386    ret = DosQueryPathInfo(filename, FIL_STANDARDL, &fsa, (ULONG) sizeof(fsa));
    386387    if (!ret)
    387388      return ((fsa.attrFile & FILE_DIRECTORY) == 0);
     
    407408{
    408409  CHAR fullname[CCHMAXPATH];
    409   FILESTATUS3 fs;
     410  FILESTATUS3L fs;
    410411
    411412  if (path) {
     
    417418          DosError(FERR_DISABLEHARDERR);
    418419          if (!DosQueryPathInfo(fullname,
    419                                 FIL_STANDARD,
     420                                FIL_STANDARDL,
    420421                                &fs,
    421422                                sizeof(fs)) && (fs.attrFile & FILE_DIRECTORY))
     
    461462  ULONG ulDrv;
    462463  CHAR *p;
    463   FILESTATUS3 fs;
     464  FILESTATUS3L fs;
    464465  APIRET rc;
    465466
     
    471472          return path;
    472473        DosError(FERR_DISABLEHARDERR);
    473         rc = DosQueryPathInfo(path, FIL_STANDARD, &fs, sizeof(fs));
     474        rc = DosQueryPathInfo(path, FIL_STANDARDL, &fs, sizeof(fs));
    474475        if (!rc && (fs.attrFile & FILE_DIRECTORY))
    475476          return path;
     
    866867
    867868  if (filename) {
    868     if (!DosOpen(filename, &handle, &ulAction, 0, 0,
    869                  OPEN_ACTION_FAIL_IF_NEW | OPEN_ACTION_OPEN_IF_EXISTS,
    870                  OPEN_FLAGS_FAIL_ON_ERROR | OPEN_FLAGS_NOINHERIT |
    871                  OPEN_FLAGS_SEQUENTIAL | OPEN_SHARE_DENYNONE |
    872                  OPEN_ACCESS_READONLY, 0)) {
     869    if (!DosOpenL(filename, &handle, &ulAction, 0, 0,
     870                  OPEN_ACTION_FAIL_IF_NEW | OPEN_ACTION_OPEN_IF_EXISTS,
     871                  OPEN_FLAGS_FAIL_ON_ERROR | OPEN_FLAGS_NOINHERIT |
     872                  OPEN_FLAGS_SEQUENTIAL | OPEN_SHARE_DENYNONE |
     873                  OPEN_ACCESS_READONLY, 0)) {
    873874      len = 512;
    874875      rc = DosRead(handle, buff, len, &len);
Note: See TracChangeset for help on using the changeset viewer.