Changeset 787 for trunk/dll/seeall.c


Ignore:
Timestamp:
Aug 19, 2007, 11:02:37 PM (18 years ago)
Author:
Steven Levine
Message:

Rework UM_FILLSETUPLIST IDM_SAVEDIRCNRSTATE and ..._setups() logic for ticket# 109 and #31
Add GetMSecTimer()
Use GetMSecTimer in DbgMsg
Tweak notebook.ipf scanning page
Move more #pragma alloc_text statements to end of files for OpenWatcom
Delete obsoletes
Revert ExpandAll() ShowTreeRec() DosSleeps to 0 - DosSleep(1) was slowing down inner loops
Drop afFilesToGet - use FilesToGet directly
Optimze ShowTreeRec() collapse logic - was really slow

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/seeall.c

    r783 r787  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2001, 2006 Steven H. Levine
     9  Copyright (c) 2001, 2007 Steven H. Levine
    1010
    1111  16 Oct 02 SHL Handle large partitions
     
    2727  13 Aug 07 SHL Sync code with other FilesToGet usage
    2828  13 Aug 07 SHL Move #pragma alloc_text to end for OpenWatcom compat
     29  14 Aug 07 SHL Revert to DosSleep(0) to speed up inner loops
     30  14 Aug 07 SHL Drop afFilesToGet
    2931
    3032***********************************************************************/
     
    108110  ULONG affiles;
    109111  ULONG afalloc;
    110   ULONG afFilesToGet;
    111112  ULONG longest;
    112113  ULONG longestw;
     
    433434                         FM3ModHandle,
    434435                         ASEL_FRAME, (PVOID) & ad.info) || !ad.info) {
    435             /* we blew it */
     436            // we blew it
    436437            FreeList(list);
    437438            break;
     
    441442              !ad.info->createwdirs &&
    442443              !ad.info->movewdirs && !ad.info->createrecurse) {
     444            // 14 Aug 07 SHL fixme to tell user why we failed
    443445            FreeList(list);
    444446            break;
     
    448450            break;
    449451          }
    450           /* build the sucker */
     452          // Build archiver command line
    451453          strcpy(szBuffer, ad.command);
    452454          strcat(szBuffer, " ");
     
    489491                      HWND_DESKTOP, NULL, NULL,
    490492                      "%s", szBuffer);
    491               DosSleep(1);
     493              DosSleep(1);              // Let archiver get started
    492494              *p = 0;
    493495            }
    494496            strcat(szBuffer, " ");
    495           }
     497          } // while
    496498          AddToList(ad.arcname, &files, &numfiles, &numalloc);
    497499        }
     
    10621064        sprintf(message,
    10631065                GetPString(IDS_OPSCOMPLETETEXT),
    1064                 (SHORT1FROMMP(mp1) == IDM_MOVE) ?
    1065                 GetPString(IDS_MOVETEXT) :
    1066                 (SHORT1FROMMP(mp1) == IDM_COPY) ?
    1067                 GetPString(IDS_COPYTEXT) :
    1068                 (SHORT1FROMMP(mp1) == IDM_WPSMOVE) ?
    1069                 GetPString(IDS_WPSMOVETEXT) :
    1070                 (SHORT1FROMMP(mp1) == IDM_WPSCOPY) ?
    1071                 GetPString(IDS_WPSCOPYTEXT) :
    1072                 GetPString(IDS_RENAMETEXT),
     1066                SHORT1FROMMP(mp1) == IDM_MOVE ?
     1067                  GetPString(IDS_MOVETEXT) :
     1068                  SHORT1FROMMP(mp1) == IDM_COPY ?
     1069                    GetPString(IDS_COPYTEXT) :
     1070                    SHORT1FROMMP(mp1) == IDM_WPSMOVE ?
     1071                      GetPString(IDS_WPSMOVETEXT) :
     1072                      SHORT1FROMMP(mp1) == IDM_WPSCOPY ?
     1073                        GetPString(IDS_WPSCOPYTEXT) :
     1074                        GetPString(IDS_RENAMETEXT),
    10731075                &"s"[x == 1],
    1074                 (SHORT1FROMMP(mp1) == IDM_MOVE ||
    1075                  SHORT1FROMMP(mp1) == IDM_COPY ||
    1076                  SHORT1FROMMP(mp1) == IDM_WPSMOVE ||
    1077                  SHORT1FROMMP(mp1) == IDM_WPSCOPY) ?
    1078                 GetPString(IDS_TOTEXT) :
    1079                 NullStr,
    1080                 (SHORT1FROMMP(mp1) == IDM_MOVE ||
    1081                  SHORT1FROMMP(mp1) == IDM_COPY ||
    1082                  SHORT1FROMMP(mp1) == IDM_WPSMOVE ||
    1083                  SHORT1FROMMP(mp1) == IDM_WPSCOPY) ?
    1084                 path :
    1085                 NullStr,
    1086                 (x != 1) ? GetPString(IDS_ARETEXT) : GetPString(IDS_ISTEXT));
     1076                SHORT1FROMMP(mp1) == IDM_MOVE ||
     1077                SHORT1FROMMP(mp1) == IDM_COPY ||
     1078                SHORT1FROMMP(mp1) == IDM_WPSMOVE ||
     1079                SHORT1FROMMP(mp1) == IDM_WPSCOPY ?
     1080                  GetPString(IDS_TOTEXT) : NullStr,
     1081                SHORT1FROMMP(mp1) == IDM_MOVE ||
     1082                SHORT1FROMMP(mp1) == IDM_COPY ||
     1083                SHORT1FROMMP(mp1) == IDM_WPSMOVE ||
     1084                SHORT1FROMMP(mp1) == IDM_WPSCOPY ?
     1085                  path : NullStr,
     1086                x != 1 ? GetPString(IDS_ARETEXT) : GetPString(IDS_ISTEXT));
    10871087        WinSetWindowText(WinWindowFromID(hwndFrame, SEEALL_STATUS), message);
    10881088        if (toupper(*path) < 'C')
    10891089          DosBeep(1000, 25);
    1090         DosSleep(16);//05 Aug 07 GKY 33
     1090        DosSleep(16);                   // 05 Aug 07 GKY 33
    10911091        break;
    10921092
     
    16231623}
    16241624
    1625 VOID FindDupes(VOID * args)
     1625VOID FindDupesThread(VOID * args)
    16261626{
    16271627  register ULONG x, z;
     
    16541654              }
    16551655              for (z = 0; z < ad->affiles && !ad->stopflag; z++) {
    1656                 if (x != z
    1657                     && !(ad->afhead[z].flags & (AF_DUPE | AF_FILTERED))) {
     1656                if (x != z &&
     1657                    !(ad->afhead[z].flags & (AF_DUPE | AF_FILTERED)))
     1658                {
    16581659                  if (ad->dupeflags & DP_SIZES) {
    16591660                    if (ad->afhead[x].cbFile != ad->afhead[z].cbFile)
     
    17131714                        goto SkipNonDupe;
    17141715                    }
    1715                     DosSleep(1);
     1716                    DosSleep(0);
    17161717                  }
    17171718                  ad->afhead[x].flags |= AF_DUPE;
     
    17201721                  ;
    17211722                }
    1722               }
    1723               DosSleep(1);
    1724             }
    1725           }
     1723              } // for
     1724              DosSleep(0);
     1725            }
     1726          } // for
    17261727          for (x = 0; x < ad->affiles && !ad->stopflag; x++) {
    17271728            if (!(ad->afhead[x].flags & AF_DUPE))
     
    17351736    PostMsg(hwnd, UM_RESCAN, MPVOID, MPVOID);
    17361737    DosReleaseMutexSem(ad->hmtxScan);
    1737   }                                     // if got sem
     1738  } // if got sem
    17381739  if (hmq2) {
    17391740    PostMsg(hwnd, UM_CONTAINER_FILLED, MPVOID, MPVOID);
     
    18981899    return;
    18991900
    1900   ulFindMax = ad->afFilesToGet;
     1901  ulFindMax = FilesToGet;
    19011902  if (fRemoteBug && isalpha(*pathname) && pathname[1] == ':' &&
    19021903      pathname[2] == '\\' &&
     
    20252026        WinCancelShutdown(hmq2, TRUE);
    20262027        IncrThreadUsage();
    2027         ad->afFilesToGet = FilesToGet;
    20282028        if (!*ad->szFindPath) {
    20292029          DosError(FERR_DISABLEHARDERR);
     
    38353835                                            MPFROM2SHORT(pAD->dupeflags, 0));
    38363836        if (pAD->dupeflags) {
    3837           if (_beginthread(FindDupes, NULL, 65536, (PVOID) hwnd) == -1)
     3837          if (_beginthread(FindDupesThread, NULL, 65536, (PVOID) hwnd) == -1)
    38383838            Runtime_Error(pszSrcFile, __LINE__,
    38393839                          GetPString(IDS_COULDNTSTARTTHREADTEXT));
     
    42944294#pragma alloc_text(SEEALL,UpdateList,CollectList,ReSort,Mark)
    42954295#pragma alloc_text(SEEALL,BuildAList,RemoveDeleted,SeeFrameWndProc,FilterList)
    4296 #pragma alloc_text(SEEALL2,SeeObjWndProc,MakeSeeObjWinThread,FindDupes,DupeDlgProc)
     4296#pragma alloc_text(SEEALL2,SeeObjWndProc,MakeSeeObjWinThread,FindDupesThread,DupeDlgProc)
    42974297#pragma alloc_text(SEEALL3,FreeAllFilesList,DoADir,FindAllThread,AFDrvsWndProc)
    42984298#pragma alloc_text(SEEALL3,StartSeeAll)
Note: See TracChangeset for help on using the changeset viewer.