Changeset 1722 for trunk/dll/copyf.c


Ignore:
Timestamp:
Feb 16, 2014, 9:17:15 PM (11 years ago)
Author:
Gregg Young
Message:

The rest of the files for CS 1721

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/copyf.c

    r1712 r1722  
    3636  09 Feb 14 GKY Modified wipeallf to allow suppression of the readonly warning on delete
    3737                of temporary files
     38  16 Feb 14 GKY Rework readonly check on delete code so it actually works in a logical way
     39                and so it works with move to trashcan inabled.
    3840
    3941***********************************************************************/
     
    544546          error = DosForceDelete(dir);
    545547          if (error) {
    546             make_deleteable(dir, error, FALSE);
     548            make_deleteable(dir, error, TRUE);
    547549            DosForceDelete(dir);
    548550          }
     
    691693    if (fsi.attrFile & 0x00000001) {
    692694      if (fWarnReadOnly && !Dontcheckreadonly) {
    693         retrn = saymsg2(NULL, 0,
    694                        HWND_DESKTOP,
    695                        GetPString(IDS_READONLYFILEWARNINGTITLE),
    696                        GetPString(IDS_READONLYFILEWARNING),
    697                        filename);
    698         if (retrn == 3)
    699           ret = 3;
    700         else if (retrn == 4)
    701           ret = 2;
    702         else {
    703           fsi.attrFile = 0;
    704           DosError(FERR_DISABLEHARDERR);
    705           if (!xDosSetPathInfo(filename, FIL_STANDARD, &fsi, sizeof(fsi), 0))
    706             if (retrn == 1)
    707               ret = 0;
    708             else
    709               ret = 1;
    710         }
    711       }
    712       else
     695      retrn = saymsg2(NULL, 3,
     696                     HWND_DESKTOP,
     697                     GetPString(IDS_READONLYFILEWARNINGTITLE),
     698                     GetPString(IDS_READONLYFILEWARNING),
     699                      filename);
     700      //DbgMsg(pszSrcFile, __LINE__, "retrn %x ", retrn);
     701      ret = retrn;
     702      if (retrn == SM2_YES || retrn == SM2_DONTASK)
     703        fsi.attrFile = 0;
     704        DosError(FERR_DISABLEHARDERR);
     705        if (xDosSetPathInfo(filename, FIL_STANDARD, &fsi, sizeof(fsi), 0))
     706          ret = -1; // failed
     707      }
     708      else {
    713709        fsi.attrFile = 0;
    714710        DosError(FERR_DISABLEHARDERR);
    715711        if (!xDosSetPathInfo(filename, FIL_STANDARD, &fsi, sizeof(fsi), 0))
    716712          ret = 0;
     713      }
    717714    }
    718715  }
     
    729726    }
    730727  }
    731 
     728  //DbgMsg(pszSrcFile, __LINE__, "retrn %x ", ret);
    732729  return ret;
    733730}
     
    839836
    840837          retrn = make_deleteable(ss, error, ignorereadonly);
    841           if (retrn == 3)
     838          if (retrn == SM2_NO)
    842839            continue;
    843           else if (retrn == 1)
     840          else if (retrn == SM2_DONTASK)
    844841            ignorereadonly = TRUE;
     842          else if (retrn == SM2_CANCEL)
     843            break;
    845844          DosError(FERR_DISABLEHARDERR);
    846845          rc = (INT) DosForceDelete(ss);
     
    953952  else {
    954953    APIRET error;
     954    INT ret;
    955955
    956956    DosError(FERR_DISABLEHARDERR);
    957957    error = DosForceDelete(string);
    958958    if (error) {
    959       make_deleteable(string, error, FALSE);
     959      ret = make_deleteable(string, error, FALSE);
     960      if (ret == SM2_CANCEL || ret == SM2_NO)
     961        return 0;
    960962      DosError(FERR_DISABLEHARDERR);
    961963      return DosForceDelete(string);
Note: See TracChangeset for help on using the changeset viewer.