Changeset 1686 for trunk/dll/worker.c


Ignore:
Timestamp:
Mar 10, 2013, 7:34:34 PM (12 years ago)
Author:
Gregg Young
Message:

GKY Improvrd readonly check on delete to allow cancel and don't ask again options; Added saymsg2 for this purpose; Fixes to snapshot file. cs 1685 contained the COMP.C changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/worker.c

    r1682 r1686  
    5353  04 Aug 12 GKY Changes to allow copy and move over readonly files with a warning dialog; also added a warning dialog
    5454                for delete of readonly files
     55  10 Mar 13 GKY Improvrd readonly check on delete to allow cancel and don't ask again options
     56                Added saymsg2 for this purpose
    5557
    5658***********************************************************************/
     
    874876                    rc = docopyf(type, wk->li->list[x], newname);
    875877                    if (rc == ERROR_ACCESS_DENIED || rc == ERROR_SHARING_VIOLATION) {
    876                       if (rc == ERROR_ACCESS_DENIED && noreadonlywarn)
    877                         rc = -1;
    878                       ret = make_deleteable(newname, rc);
     878                      ret = make_deleteable(newname, rc, noreadonlywarn);
    879879                      rc = docopyf(type, wk->li->list[x], newname);
    880880                    }
    881                     if (!ret && (rc == ERROR_ACCESS_DENIED || (rc == ERROR_SHARING_VIOLATION && fUnlock)))
     881                    if (rc == ERROR_ACCESS_DENIED || (rc == ERROR_SHARING_VIOLATION && fUnlock))
    882882                      rc = NO_ERROR;
    883883                    if (fResetVerify) {
     
    15881588              HOBJECT hObjectdest, hObjectofObject;
    15891589              BYTE G_abSupportedDrives[24] = {0};
    1590               ULONG cbSupportedDrives = sizeof(G_abSupportedDrives);
     1590              ULONG cbSupportedDrives = sizeof(G_abSupportedDrives);
     1591              BOOL ignorereadonly = FALSE;
    15911592
    15921593              for (x = 0; wk->li->list[x]; x++) {
     
    17321733                    error = DosForceDelete(wk->li->list[x]); ;
    17331734                  }
    1734                   if (error) {
     1735                  if (error) {
     1736                    INT retrn = 0;
     1737
    17351738                    DosError(FERR_DISABLEHARDERR);
    1736                     make_deleteable(wk->li->list[x], error);
     1739                    retrn = make_deleteable(wk->li->list[x], error, ignorereadonly);
     1740                    if (retrn == 2)
     1741                      break;
     1742                    if (retrn == 1)
     1743                      ignorereadonly = TRUE;
     1744                    if (retrn == 3)
     1745                      continue;
    17371746                    if (wk->li->type == IDM_DELETE){
    17381747                      hObjectdest = WinQueryObject("<XWP_TRASHCAN>");
     
    17911800                            UM_UPDATERECORD,
    17921801                            MPFROMP(wk->li->list[x]), MPVOID);
    1793                 }
     1802                } ;
    17941803              } // for
    17951804            }
Note: See TracChangeset for help on using the changeset viewer.