Changeset 751 for trunk/dll/update.c


Ignore:
Timestamp:
Aug 2, 2007, 11:05:48 PM (13 years ago)
Author:
Steven Levine
Message:

Sync rest of code with CNRITEM mods
Sync code with ARCITEM mods
Get compare dialog working
Still some issues with status display
Still some issues with directory sizes tree display
Heap check diagnostic code mostly enabled

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/update.c

    r730 r751  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2003, 2006 Steven H. Levine
     9  Copyright (c) 2003, 2007 Steven H. Levine
    1010
    1111  12 Feb 03 SHL Standardize EA math
     
    1717  20 Feb 07 GKY Add SelectDriveIcon()
    1818  09 Mar 07 GKY Cleanup SelectDriveIcon using "driveflag =" from Steven
     19  02 Aug 07 SHL Sync with CNRITEM mods
    1920
    2021***********************************************************************/
     
    4243    UINT driveflag = driveflags[toupper(*pci->pszFileName) - 'A'];
    4344    *pci->pszFileName = toupper(*pci->pszFileName);
    44               if (isalpha(*pci->pszFileName) &&
    45                   toupper(*pci->pszFileName) > 'B') {
    46                 if (driveflag & DRIVE_CDROM)
     45              if (isalpha(*pci->pszFileName) &&
     46                  toupper(*pci->pszFileName) > 'B') {
     47                if (driveflag & DRIVE_CDROM)
    4748                  pci->rc.hptrIcon = hptrCDROM;
    4849                else
    4950                  pci->rc.hptrIcon =
    5051                     (driveflag & DRIVE_REMOVABLE) ? hptrRemovable
    51                     :(driveflag & DRIVE_VIRTUAL) ? hptrVirtual
    52                     :(driveflag & DRIVE_REMOTE) ? hptrRemote
    53                     :(driveflag & DRIVE_RAMDISK) ? hptrRamdisk
     52                    :(driveflag & DRIVE_VIRTUAL) ? hptrVirtual
     53                    :(driveflag & DRIVE_REMOTE) ? hptrRemote
     54                    :(driveflag & DRIVE_RAMDISK) ? hptrRamdisk
    5455                    :(driveflag & DRIVE_ZIPSTREAM) ? hptrZipstrm : hptrDrive;
    5556              }
    5657              else
    57                 pci->rc.hptrIcon = hptrFloppy;
    58                 return pci->rc.hptrIcon;
     58                pci->rc.hptrIcon = hptrFloppy;
     59                return pci->rc.hptrIcon;
    5960}
    6061PCNRITEM UpdateCnrRecord(HWND hwndCnr, CHAR * filename, BOOL partial,
     
    6465  FILEFINDBUF4 ffb;
    6566  HDIR hDir = HDIR_CREATE;
    66   ULONG nm = 1L;
     67  ULONG nm = 1;
    6768  ULONG oldemphasis = 0;
    6869  APIRET status;
     
    128129#endif
    129130      if ((!fForceUpper && !fForceLower && strcmp(pci->pszFileName, filename)) ||
    130           pci->cbFile != ffb.cbFile || pci->attrFile != ffb.attrFile ||
    131           pci->easize != CBLIST_TO_EASIZE(ffb.cbList) || pci->date.day !=
    132           ffb.fdateLastWrite.day || pci->date.month != ffb.fdateLastWrite.month ||
    133           pci->date.year != ffb.fdateLastWrite.year + 1980 || pci->time.seconds !=
    134           ffb.ftimeLastWrite.twosecs * 2 || pci->time.minutes != ffb.ftimeLastWrite.minutes ||
    135           pci->time.hours != ffb.ftimeLastWrite.hours || pci->ladate.day !=
    136           ffb.fdateLastAccess.day || pci->ladate.month != ffb.fdateLastAccess.month ||
    137           pci->ladate.year != ffb.fdateLastAccess.year + 1980 || pci->latime.seconds !=
    138           ffb.ftimeLastAccess.twosecs * 2 || pci->latime.minutes !=
    139           ffb.ftimeLastAccess.minutes || pci->latime.hours != ffb.ftimeLastAccess.hours) {      /* changed; update */
     131          pci->cbFile != ffb.cbFile || pci->attrFile != ffb.attrFile ||
     132          pci->easize != CBLIST_TO_EASIZE(ffb.cbList) || pci->date.day !=
     133          ffb.fdateLastWrite.day || pci->date.month != ffb.fdateLastWrite.month ||
     134          pci->date.year != ffb.fdateLastWrite.year + 1980 || pci->time.seconds !=
     135          ffb.ftimeLastWrite.twosecs * 2 || pci->time.minutes != ffb.ftimeLastWrite.minutes ||
     136          pci->time.hours != ffb.ftimeLastWrite.hours || pci->ladate.day !=
     137          ffb.fdateLastAccess.day || pci->ladate.month != ffb.fdateLastAccess.month ||
     138          pci->ladate.year != ffb.fdateLastAccess.year + 1980 || pci->latime.seconds !=
     139          ffb.ftimeLastAccess.twosecs * 2 || pci->latime.minutes !=
     140          ffb.ftimeLastAccess.minutes || pci->latime.hours != ffb.ftimeLastAccess.hours) {      /* changed; update */
    140141#ifdef DEBUG
    141142        updated = TRUE;
     
    144145        ffb.cchName = 0;
    145146        FillInRecordFromFFB(hwndCnr, pci, filename, &ffb, partial, dcd);
    146         if (strlen(pci->pszFileName) < 4)
    147         SelectDriveIcon(pci);
     147        if (strlen(pci->pszFileName) < 4)
     148        SelectDriveIcon(pci);
    148149        oldemphasis = pci->rc.flRecordAttr & (CRA_SELECTED | CRA_CURSORED);
    149150        if (oldemphasis)
     
    174175        pci = WinSendMsg(hwndCnr,
    175176                         CM_ALLOCRECORD,
    176                          MPFROMLONG(EXTRA_RECORD_BYTES), MPFROMLONG(1L));
     177                         MPFROMLONG(EXTRA_RECORD_BYTES), MPFROMLONG(1));
    177178        if (pci) {
    178179          *ffb.achName = 0;
     
    180181                                              pci,
    181182                                              filename, &ffb, partial, dcd);
    182           if (strlen(pci->pszFileName) < 4)
    183           SelectDriveIcon(pci);
     183          if (strlen(pci->pszFileName) < 4)
     184          SelectDriveIcon(pci);
    184185          memset(&ri, 0, sizeof(RECORDINSERT));
    185186          ri.cb = sizeof(RECORDINSERT);
     
    187188          ri.pRecordParent = (PRECORDCORE) NULL;
    188189          ri.zOrder = (USHORT) CMA_TOP;
    189           ri.cRecordsInsert = 1L;
     190          ri.cRecordsInsert = 1;
    190191          ri.fInvalidateRecord = TRUE;
    191192          if (WinSendMsg(hwndCnr,
     
    218219                               CM_ALLOCRECORD,
    219220                               MPFROMLONG(EXTRA_RECORD_BYTES),
    220                                MPFROMLONG(1L));
     221                               MPFROMLONG(1));
    221222              if (pci) {
    222223
     
    226227                FillInRecordFromFFB(hwndCnr,
    227228                                    pci, filename, &ffb, partial, dcd);
    228                 if (strlen(pci->pszFileName) < 4)
    229                 SelectDriveIcon(pci);
     229                if (strlen(pci->pszFileName) < 4)
     230                SelectDriveIcon(pci);
    230231                memset(&ri, 0, sizeof(RECORDINSERT));
    231232                ri.cb = sizeof(RECORDINSERT);
     
    233234                ri.pRecordParent = (PRECORDCORE) pciParent;
    234235                ri.zOrder = (USHORT) CMA_TOP;
    235                 ri.cRecordsInsert = 1L;
     236                ri.cRecordsInsert = 1;
    236237                ri.fInvalidateRecord = TRUE;
    237238                if (WinSendMsg(hwndCnr,
     
    263264        pci = WinSendMsg(hwndCnr,
    264265                         CM_ALLOCRECORD,
    265                          MPFROMLONG(EXTRA_RECORD_BYTES), MPFROMLONG(1L));
     266                         MPFROMLONG(EXTRA_RECORD_BYTES), MPFROMLONG(1));
    266267        if (pci) {
    267268
     
    273274                                              pci,
    274275                                              filename, &ffb, partial, dcd);
    275           if (strlen(pci->pszFileName) < 4)
    276           SelectDriveIcon(pci);
     276          if (strlen(pci->pszFileName) < 4)
     277          SelectDriveIcon(pci);
    277278          memset(&ri, 0, sizeof(RECORDINSERT));
    278279          ri.cb = sizeof(RECORDINSERT);
     
    280281          ri.pRecordParent = (PRECORDCORE) pciParent;
    281282          ri.zOrder = (USHORT) CMA_TOP;
    282           ri.cRecordsInsert = 1L;
     283          ri.cRecordsInsert = 1;
    283284          ri.fInvalidateRecord = TRUE;
    284285          if (WinSendMsg(hwndCnr,
     
    314315    if (dcd->type == DIR_FRAME)
    315316      dcd->ullTotalBytes -= pci->cbFile + pci->easize;
    316     WinSendMsg(hwndCnr,
    317                CM_REMOVERECORD,
    318                MPFROMP(&pci), MPFROM2SHORT(1, CMA_FREE | CMA_INVALIDATE));
    319     pci = (PCNRITEM) NULL;
     317    RemoveCnrItems(hwndCnr, pci, 1, CMA_FREE | CMA_INVALIDATE);
     318    pci = NULL;
    320319    PostMsg(hwndCnr, UM_RESCAN, MPVOID, MPVOID);
    321320  }
     
    339338  FILEFINDBUF4 ffb;
    340339  HDIR hDir;
    341   ULONG nm = 1L;
     340  ULONG nm = 1;
    342341  INT x;
    343342  INT numlist = 0;
     
    431430            FillInRecordFromFFB(hwndCnr,
    432431                                pci, filename[x], &ffb, partial, dcd);
    433             if (IsRoot(pci->pszFileName))
    434             SelectDriveIcon(pci);
     432            if (IsRoot(pci->pszFileName))
     433            SelectDriveIcon(pci);
    435434            WinSendMsg(hwndCnr,
    436435                       CM_SETRECORDEMPHASIS,
     
    447446            pci = WinSendMsg(hwndCnr,
    448447                             CM_ALLOCRECORD,
    449                              MPFROMLONG(EXTRA_RECORD_BYTES), MPFROMLONG(1L));
     448                             MPFROMLONG(EXTRA_RECORD_BYTES), MPFROMLONG(1));
    450449            if (pci) {
    451450              ret = TRUE;
     
    455454                                                  filename[x],
    456455                                                  &ffb, partial, dcd);
    457               if (strlen(pci->pszFileName) < 4)
    458               SelectDriveIcon(pci);
     456              if (strlen(pci->pszFileName) < 4)
     457              SelectDriveIcon(pci);
    459458              memset(&ri, 0, sizeof(RECORDINSERT));
    460459              ri.cb = sizeof(RECORDINSERT);
     
    462461              ri.pRecordParent = (PRECORDCORE) NULL;
    463462              ri.zOrder = (USHORT) CMA_TOP;
    464               ri.cRecordsInsert = 1L;
     463              ri.cRecordsInsert = 1;
    465464              ri.fInvalidateRecord = FALSE;
    466465              if (WinSendMsg(hwndCnr,
     
    475474              }
    476475              else
    477                 WinSendMsg(hwndCnr,
    478                            CM_FREERECORD, MPFROMP(&pci), MPFROMSHORT(1));
     476                FreeCnrItem(hwndCnr, pci);
    479477            }
    480478          }
     
    497495                                   CM_ALLOCRECORD,
    498496                                   MPFROMLONG(EXTRA_RECORD_BYTES),
    499                                    MPFROMLONG(1L));
     497                                   MPFROMLONG(1));
    500498                  if (pci) {
    501499
     
    509507                                                        filename[x],
    510508                                                        &ffb, partial, dcd);
    511                     if (strlen(pci->pszFileName) < 4)
    512                     SelectDriveIcon(pci);
     509                    if (strlen(pci->pszFileName) < 4)
     510                    SelectDriveIcon(pci);
    513511                    memset(&ri, 0, sizeof(RECORDINSERT));
    514512                    ri.cb = sizeof(RECORDINSERT);
     
    516514                    ri.pRecordParent = (PRECORDCORE) pciParent;
    517515                    ri.zOrder = (USHORT) CMA_TOP;
    518                     ri.cRecordsInsert = 1L;
     516                    ri.cRecordsInsert = 1;
    519517                    ri.fInvalidateRecord = FALSE;
    520518                    if (WinSendMsg(hwndCnr,
     
    529527                    }
    530528                    else
    531                       WinSendMsg(hwndCnr,
    532                                  CM_FREERECORD,
    533                                  MPFROMP(&pci), MPFROMSHORT(1));
     529                      FreeCnrItem(hwndCnr, pci);
    534530                  }
    535531                }
     
    544540                               CM_ALLOCRECORD,
    545541                               MPFROMLONG(EXTRA_RECORD_BYTES),
    546                                MPFROMLONG(1L));
     542                               MPFROMLONG(1));
    547543              if (pci) {
    548544
     
    556552                                                    filename[x],
    557553                                                    &ffb, partial, dcd);
    558                 if (strlen(pci->pszFileName) < 4)
    559                 SelectDriveIcon(pci);
     554                if (strlen(pci->pszFileName) < 4)
     555                SelectDriveIcon(pci);
    560556                memset(&ri, 0, sizeof(RECORDINSERT));
    561557                ri.cb = sizeof(RECORDINSERT);
     
    563559                ri.pRecordParent = (PRECORDCORE) pciParent;
    564560                ri.zOrder = (USHORT) CMA_TOP;
    565                 ri.cRecordsInsert = 1L;
     561                ri.cRecordsInsert = 1;
    566562                ri.fInvalidateRecord = FALSE;
    567563                if (WinSendMsg(hwndCnr,
     
    576572                }
    577573                else
    578                   WinSendMsg(hwndCnr,
    579                              CM_FREERECORD, MPFROMP(&pci), MPFROMSHORT(1));
     574                  FreeCnrItem(hwndCnr, pci);
    580575              }
    581576            }
     
    597592        if (dcd->type == DIR_FRAME)
    598593          dcd->ullTotalBytes -= (pci->cbFile + pci->easize);
    599         if (WinSendMsg(hwndCnr,
    600                        CM_REMOVERECORD,
    601                        MPFROMP(&pci),
    602                        MPFROM2SHORT(1,
    603                                     CMA_FREE | (numremain ==
    604                                                 1 ? CMA_INVALIDATE : 0)))) {
     594        // 02 Aug 07 SHL rc check was wrong
     595        if (RemoveCnrItems(hwndCnr, pci, 1,
     596                           CMA_FREE |
     597                             numremain == 1 ? CMA_INVALIDATE : 0) != -1) {
    605598          numremain--;
    606599          repos = TRUE;
    607600        }
    608601      }
    609     }                                   // for
     602    } // for x
    610603  }
    611604  if (repos || (pciList && numlist)) {
Note: See TracChangeset for help on using the changeset viewer.