Changeset 42 for trunk/dll


Ignore:
Timestamp:
Oct 26, 2002, 6:51:33 AM (23 years ago)
Author:
root
Message:

Rework symbols to understand code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/filldir.c

    r31 r42  
    99  Copyright (c) 2001, 2002 Steven H.Levine
    1010
    11   Revisions     12 Sep 02 SHL - Minor edits
     11  Revisions     12 Sep 02 SHL - Rework symbols to understand code
    1212
    1313***********************************************************************/
     
    187187  }
    188188  else {
    189     if(!fNoIconsFiles && (!isalpha(*pci->szFileName) ||
     189    if (!fNoIconsFiles && (!isalpha(*pci->szFileName) ||
    190190       !(driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_NOLOADICONS)))
    191191      hptr = WinLoadFileIcon(pci->szFileName, FALSE);
    192     else {
     192    else
     193      hptr = (HPOINTER)0;
     194    if (!hptr || hptr == WinQuerySysPointer(HWND_DESKTOP,SPTR_FILE,FALSE)) {
    193195      p = strrchr(pci->szFileName,'.');
    194196      if(p && !p[4]) {
     
    511513   */
    512514
    513   PSZ            szFileSpec;
     515  PSZ            pszFileSpec;
    514516  INT            t;
    515   PFILEFINDBUF4  pffb,*ppffb,pffbFile,pfTotal = NULL,pfTemp;
     517  PFILEFINDBUF4  paffbFound,*papffbSelected,pffbFile,paffbTotal = NULL,paffbTemp;
    516518  HDIR           hdir = HDIR_CREATE;
    517519  ULONG          ulMaxFiles,ulExtraBytes,ulM = 1L,ulTotal = 0L;
     
    521523  PCNRITEM       pci,pciFirst,pcit;
    522524  RECORDINSERT   ri;
    523   register PBYTE fb,tb;
     525  register PBYTE pByte,pByte2;
    524526
    525527  if(foundany)
     
    545547
    546548  ulMaxFiles = ulM;
    547   szFileSpec = malloc(CCHMAXPATH + 2);
    548   pffb = malloc((ulM + 1L) * sizeof(FILEFINDBUF4));
    549   ppffb = malloc((ulM + 1L) * sizeof(PFILEFINDBUF4));
    550   if(pffb && ppffb && szFileSpec) {
     549  pszFileSpec = malloc(CCHMAXPATH + 2);
     550  paffbFound = malloc((ulM + 1L) * sizeof(FILEFINDBUF4));
     551  papffbSelected = malloc((ulM + 1L) * sizeof(PFILEFINDBUF4));
     552  if(paffbFound && papffbSelected && pszFileSpec) {
    551553    t = strlen(szDirBase);
    552     memcpy(szFileSpec,szDirBase,t + 1);
    553     pchEndPath = szFileSpec + t;
     554    memcpy(pszFileSpec,szDirBase,t + 1);
     555    pchEndPath = pszFileSpec + t;
    554556    if(*(pchEndPath - 1) != '\\') {
    555557      memcpy(pchEndPath,"\\",2);
     
    558560    memcpy(pchEndPath,"*",2);
    559561    DosError(FERR_DISABLEHARDERR);
    560     rc = DosFindFirst(szFileSpec, &hdir,
     562    rc = DosFindFirst(pszFileSpec, &hdir,
    561563                      FILE_NORMAL | ((filestoo) ? FILE_DIRECTORY :
    562564                      MUST_HAVE_DIRECTORY) | FILE_READONLY |
    563565                      FILE_ARCHIVED | FILE_SYSTEM | FILE_HIDDEN,
    564                       pffb, ulM * sizeof(FILEFINDBUF4),
     566                      paffbFound, ulM * sizeof(FILEFINDBUF4),
    565567                      &ulMaxFiles, FIL_QUERYEASIZE);
    566568    priority_normal();
     
    580582          if(stopflag && *stopflag)
    581583            goto Abort;
    582           fb = (PBYTE)pffb;
     584          pByte = (PBYTE)paffbFound;
    583585          x = 0L;
    584586          while(x < ulMaxFiles) {
    585             pffbFile = (PFILEFINDBUF4)fb;
     587            pffbFile = (PFILEFINDBUF4)pByte;
    586588            if(!*pffbFile->achName ||
    587589               (!filestoo && !(pffbFile->attrFile & FILE_DIRECTORY)) ||
     
    592594              ulMaxFiles--;
    593595            else
    594               ppffb[x++] = pffbFile;
     596              papffbSelected[x++] = pffbFile;
    595597            if(!pffbFile->oNextEntryOffset) {
    596598              ulMaxFiles = x;
    597599              break;
    598600            }
    599             fb += pffbFile->oNextEntryOffset;
     601            pByte += pffbFile->oNextEntryOffset;
    600602          }
    601603          if(ulMaxFiles) {
     
    613615                totalbytes = 0L;
    614616                for(i = 0; i < ulMaxFiles; i++) {
    615                   pffbFile = ppffb[i];
    616                   numbytes = FillInRecordFromFFB(hwndCnr,pci,szFileSpec,
     617                  pffbFile = papffbSelected[i];
     618                  numbytes = FillInRecordFromFFB(hwndCnr,pci,pszFileSpec,
    617619                                                 pffbFile,partial,dcd);
    618620                  if(numbytes > -1L) {
     
    696698            }
    697699            else {
    698               pfTemp = realloc(pfTotal,sizeof(FILEFINDBUF4) *
     700              paffbTemp = realloc(paffbTotal,sizeof(FILEFINDBUF4) *
    699701                                       (ulMaxFiles + ulTotal));
    700               if(pfTemp) {
    701                 pfTotal = pfTemp;
     702              if(paffbTemp) {
     703                paffbTotal = paffbTemp;
    702704                for(x = 0;x < ulMaxFiles;x++)
    703                   pfTotal[x + ulTotal] = *ppffb[x];
     705                  paffbTotal[x + ulTotal] = *papffbSelected[x];
    704706                ulTotal += ulMaxFiles;
    705707              }
     
    718720        ulMaxFiles = ulM;
    719721        DosError(FERR_DISABLEHARDERR);
    720         rc = DosFindNext(hdir, pffb, ulM * sizeof(FILEFINDBUF4),
     722        rc = DosFindNext(hdir, paffbFound, ulM * sizeof(FILEFINDBUF4),
    721723                         &ulMaxFiles);
    722724        priority_normal();
     
    726728      DosFindClose(hdir);
    727729
    728       if(pffb || ppffb) {
    729         if(pffb)
    730           free(pffb);
    731         if(ppffb)
    732           free(ppffb);
    733         ppffb = NULL;
    734         pffb = NULL;
    735       }
    736 
    737       if(ulTotal && pfTotal) {
     730      if(paffbFound || papffbSelected) {
     731        if(paffbFound)
     732          free(paffbFound);
     733        if(papffbSelected)
     734          free(papffbSelected);
     735        papffbSelected = NULL;
     736        paffbFound = NULL;
     737      }
     738
     739      if(ulTotal && paffbTotal) {
    738740        if(stopflag && *stopflag)
    739741          goto Abort;
     
    747749          pci = pciFirst;
    748750          totalbytes = 0L;
    749           tb = (PBYTE)pfTotal;
     751          pByte2 = (PBYTE)paffbTotal;
    750752          for(i = 0; i < ulTotal; i++) {
    751             pffbFile = (PFILEFINDBUF4)tb;
    752             numbytes = FillInRecordFromFFB(hwndCnr,pci,szFileSpec,
     753            pffbFile = (PFILEFINDBUF4)pByte2;
     754            numbytes = FillInRecordFromFFB(hwndCnr,pci,pszFileSpec,
    753755                                           pffbFile,partial,dcd);
    754756            if(numbytes > -1L) {
     
    765767              ulTotal--;
    766768            }
    767             tb += sizeof(FILEFINDBUF4);
     769            pByte2 += sizeof(FILEFINDBUF4);
    768770          }
    769771          if(ulTotal) {
     
    835837  }
    836838Abort:
    837   if(pfTotal || ppffb || pffb || szFileSpec) {
    838     if(pfTotal)
    839       free(pfTotal);
    840     if(szFileSpec)
    841       free(szFileSpec);
    842     if(pffb)
    843       free(pffb);
    844     if(ppffb)
    845       free(ppffb);
     839  if(paffbTotal || papffbSelected || paffbFound || pszFileSpec) {
     840    if(paffbTotal)
     841      free(paffbTotal);
     842    if(pszFileSpec)
     843      free(pszFileSpec);
     844    if(paffbFound)
     845      free(paffbFound);
     846    if(papffbSelected)
     847      free(papffbSelected);
    846848  }
    847849  if(recurse) {
Note: See TracChangeset for help on using the changeset viewer.