Changeset 162


Ignore:
Timestamp:
May 26, 2005, 4:24:41 AM (20 years ago)
Author:
root
Message:

Use ULONGLONG and CommaFmtULL

Location:
trunk/dll
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/datamin.c

    r136 r162  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2001, 2005 Steven H.Levine
     9  Copyright (c) 2001, 2005 Steven H. Levine
    1010
    1111  14 Sep 02 SHL Handle large partitions
     
    1313  23 May 05 SHL Use QWL_USER
    1414  23 May 05 SHL Avoid delays for inaccessible drives
     15  25 May 05 SHL Use ULONGLONG and CommaFmtULL
    1516
    1617***********************************************************************/
     
    2021#define INCL_WIN
    2122#define INCL_GPI
    22 
     23#define INCL_LONGLONG
    2324#include <os2.h>
     25
    2426#include <stdio.h>
    2527#include <stdlib.h>
     
    724726      CHAR s[90];
    725727      CHAR szFreeQty[38];
    726       CHAR *pszFreeUM;
    727728      CHAR szDrvLtr[] = " :";
    728729      CHAR *pszFSystem;
    729       float fltFreeQty;
     730      ULONGLONG ullFreeQty;
    730731      ULONG ulPercentFree;
    731732      ULONG wasx;
     
    748749        if (!pDM || pDM -> qfsi_rc)
    749750        {
    750           fltFreeQty = 0;
    751           pszFreeUM = "";
     751          ullFreeQty = 0;
    752752          ulPercentFree = 0;
    753753        }
    754754        else
    755755        {
    756           fltFreeQty = (float) pDM -> fsa.cUnitAvail *
     756          ullFreeQty = (ULONGLONG)pDM -> fsa.cUnitAvail *
    757757                       (pDM -> fsa.cSectorUnit * pDM -> fsa.cbSector);
    758           if (fltFreeQty >= (1024 * 1024))
    759           {
    760             fltFreeQty /= (1024 * 1024);
    761             pszFreeUM = "mb";
    762           }
    763           else if (fltFreeQty >= 1024)
    764           {
    765             fltFreeQty /= 1024;
    766             pszFreeUM = "kb";
    767           }
    768           else
    769             pszFreeUM = "b";
    770758
    771759          ulPercentFree = (pDM -> fsa.cUnit && pDM -> fsa.cUnitAvail) ?
     
    774762        }
    775763
    776         commafmt(szFreeQty, sizeof(szFreeQty), (ULONG)fltFreeQty);
     764        CommaFmtULL(szFreeQty, sizeof(szFreeQty), ullFreeQty,' ');
    777765        *szDrvLtr = (CHAR)(id - MINI_DRIVEA) + 'A';
    778766
     
    786774        }
    787775        sprintf(s,
    788                 " %s %s%s (%lu%%) %s [%s]",
     776                " %s %s (%lu%%) %s [%s]",
    789777                szDrvLtr,
    790778                szFreeQty,
    791                 pszFreeUM,
    792779                ulPercentFree,
    793780                GetPString(IDS_FREETEXT),
     
    978965      FILEFINDBUF3 ffb;
    979966      ULONG nm = 1L;
    980       float fltFreeQty;
     967      ULONGLONG ullFreeQty;
    981968      HDIR hdir = HDIR_CREATE;
    982969      FSALLOCATE fsa;
     
    991978          priority_bumped();
    992979          DosFindClose(hdir);
    993           *szFileQty = *szFreeQty = 0;
    994980          DosError(FERR_DISABLEHARDERR);
    995981          if (!DosQueryFSInfo(toupper(*SwapperDat) - '@', FSIL_ALLOC,
    996982                              &fsa, sizeof(FSALLOCATE)))
    997983          {
    998             fltFreeQty = fsa.cUnitAvail * (fsa.cSectorUnit * fsa.cbSector);
    999             if (fltFreeQty > 1024 * 1024)
    1000             {
    1001               pszFreeUM = "mb";
    1002               fltFreeQty /= (1024 * 1024);
    1003             }
    1004             else if (fltFreeQty > 1024)
    1005             {
    1006               pszFreeUM = "kb";
    1007               fltFreeQty /= 1024;
    1008             }
    1009             else
    1010             {
    1011               pszFreeUM = "b";
    1012             }
    1013             commafmt(szFreeQty, sizeof(szFreeQty), (ULONG) fltFreeQty);
    1014           }
    1015           if (ffb.cbFile > 1024 * 1024)
    1016           {
    1017             pszFileUM = "mb";
    1018             commafmt(szFileQty, sizeof(szFileQty), ffb.cbFile / (1024 * 1024));
    1019           }
    1020           else if (ffb.cbFile > 1024)
    1021           {
    1022             pszFileUM = "kb";
    1023             commafmt(szFileQty, sizeof(szFileQty), ffb.cbFile / 1024);
     984            ullFreeQty = (ULONGLONG)fsa.cUnitAvail * (fsa.cSectorUnit * fsa.cbSector);
     985            CommaFmtULL(szFreeQty, sizeof(szFreeQty), ullFreeQty,' ');
    1024986          }
    1025987          else
    1026           {
    1027             pszFileUM = "b";
    1028             commafmt(szFileQty, sizeof(szFileQty), ffb.cbFile);
    1029           }
    1030           sprintf(s, " %s %s%s%s%s%s",
     988            *szFreeQty = 0;
     989
     990          CommaFmtULL(szFileQty, sizeof(szFileQty), ffb.cbFile,' ');
     991          sprintf(s, " %s %s%s%s",
    1031992                  GetPString(IDS_SWAPTITLETEXT),
    1032993                  szFileQty,
    1033                   pszFileUM,
    1034                   (*szFreeQty) ? "/" : NullStr,
    1035                   szFreeQty,
    1036                   (*szFreeQty) ? pszFreeUM : NullStr);
    1037           WinSetDlgItemText(hwnd,
    1038                             MINI_SWAP,
    1039                             s);
     994                  *szFreeQty ? "/" : NullStr,
     995                  szFreeQty);
     996          WinSetDlgItemText(hwnd,MINI_SWAP,s);
    1040997        }
    1041998      }
     
    10451002  case UM_SETUP3:                       // Memory utilization
    10461003    {
    1047       CHAR s[134], tm[38], szQty[38], *pszUM, *tmk;
     1004      CHAR s[134], tm[38], szQty[38];
    10481005      ULONG amem = 0;
    10491006
     
    10511008                           (PVOID) & amem, (ULONG) sizeof(amem)))
    10521009      {
    1053         *tm = *szQty = 0;
    1054         if (amem > 1024 * 1024)
    1055         {
    1056           tmk = "mb";
    1057           commafmt(tm, sizeof(tm), amem / (1024 * 1024));
    1058         }
    1059         else if (amem > 1024)
    1060         {
    1061           tmk = "kb";
    1062           commafmt(tm, sizeof(tm), amem / 1024);
    1063         }
     1010        CommaFmtUL(tm, sizeof(tm), amem,'M');
     1011        if (!Dos16MemAvail(&amem))
     1012          CommaFmtUL(szQty, sizeof(szQty), amem,'M');
    10641013        else
    1065         {
    1066           tmk = "b";
    1067           commafmt(tm, sizeof(tm), amem);
    1068         }
    1069         if (!Dos16MemAvail(&amem))
    1070         {
    1071           if (amem > 1024 * 1024)
    1072           {
    1073             pszUM = "mb";
    1074             commafmt(szQty, sizeof(szQty), amem / (1024 * 1024));
    1075           }
    1076           else if (amem > 1024)
    1077           {
    1078             pszUM = "kb";
    1079             commafmt(szQty, sizeof(szQty), amem / 1024);
    1080           }
    1081           else
    1082           {
    1083             pszUM = "b";
    1084             commafmt(szQty, sizeof(szQty), amem);
    1085           }
    1086         }
    1087         sprintf(s, " %s%s%s%s%s%s",
     1014          *szQty = 0;
     1015        sprintf(s, " %s%s%s%s",
    10881016                GetPString(IDS_MEMTITLETEXT),
    10891017                szQty,
    1090                 (*szQty) ? pszUM : NullStr,
    10911018                (*szQty) ? "/" : NullStr,
    1092                 tm,
    1093                 tmk);
     1019                tm);
    10941020        WinSetDlgItemText(hwnd,
    10951021                          MINI_MEM,
     
    11291055              ppi = (PPROCESSINFO) (ppi -> ptiFirst + ppi -> usThreadCount);
    11301056            }
    1131             *szQty = *tm = 0;
    11321057            commafmt(szQty, sizeof(szQty), numprocs);
    11331058            commafmt(tm, sizeof(tm), numthreads);
     
    11491074      else
    11501075      {
    1151         *szQty = 0;
    11521076        commafmt(szQty, sizeof(szQty),
    11531077            WinQuerySwitchList(WinQueryAnchorBlock(hwnd), (PSWBLOCK) 0, 0));
  • trunk/dll/info.c

    r131 r162  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2001, 2005 Steven H.Levine
     9  Copyright (c) 2001, 2005 Steven H. Levine
    1010
    1111  16 Oct 02 SHL Handle large partitions
     
    1313  01 Aug 04 SHL Rework lstrip/rstrip usage
    1414  23 May 05 SHL Use QWL_USER
     15  25 May 05 SHL Use ULONGLONG and CommaFmtULL
    1516
    1617***********************************************************************/
     
    1920#define INCL_WIN
    2021#define INCL_GPI
    21 
     22#define INCL_LONGLONG
    2223#include <os2.h>
     24
    2325#include <stdio.h>
    2426#include <stdlib.h>
     
    2628#include <ctype.h>
    2729#include <share.h>
     30
    2831#include "fm3dll.h"
    2932#include "fm3dlg.h"
     
    7578
    7679
    77 MRESULT EXPENTRY DrvInfoProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    78 
    79   CHAR *filename;
    80 
    81   switch(msg) {
     80MRESULT EXPENTRY DrvInfoProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     81{
     82  CHAR *pszFileName;
     83  CHAR  szMB[20];
     84  CHAR  szKB[20];
     85  CHAR  szUnits[20];
     86
     87  switch(msg)
     88  {
    8289    case WM_INITDLG:
    8390      if(mp2) {
     
    8693        ULONG type;
    8794
    88         filename = (CHAR *)mp2;
    89         WinSetWindowPtr(hwnd,QWL_USER,(PVOID)filename);
     95        pszFileName = (CHAR *)mp2;
     96        WinSetWindowPtr(hwnd,QWL_USER,(PVOID)pszFileName);
    9097        WinSendDlgItemMsg(hwnd,
    9198                          INFO_LABEL,
     
    103110                          MPFROM2SHORT(SMA_SLIDERARMDIMENSIONS,0),
    104111                          MPFROM2SHORT(0,0));
    105         if(driveflags[toupper(*filename) - 'A'] & DRIVE_NOTWRITEABLE) {
     112        if(driveflags[toupper(*pszFileName) - 'A'] & DRIVE_NOTWRITEABLE) {
    106113          WinSendDlgItemMsg(hwnd,
    107114                            INFO_LABEL,
     
    112119                      WinWindowFromID(hwnd,DID_OK));
    113120        }
    114         if(IsFullName(filename)) {
     121        if(IsFullName(pszFileName)) {
    115122
    116123          CHAR FileSystem[CCHMAXPATH * 2];
     
    118125          sprintf(FileSystem,
    119126                  GetPString(IDS_DRIVEINFOTITLETEXT),
    120                   toupper(*filename));
     127                  toupper(*pszFileName));
    121128          WinSetWindowText(hwnd,
    122129                           FileSystem);
    123           if(CheckDrive(toupper(*filename),
     130          if(CheckDrive(toupper(*pszFileName),
    124131                        FileSystem,
    125132                        &type) != -1) {
     
    134141              PFSQBUFFER2 pfsq;
    135142
    136               Path[0] = toupper(*filename);
     143              Path[0] = toupper(*pszFileName);
    137144              Path[1] = ':';
    138145              Path[2] = 0;
     
    148155                pfsn = pfsq->szName + pfsq->cbName + 1;
    149156                pfsd = pfsn + pfsq->cbFSDName + 1;
    150                 if(pfsq->cbFSAData && pfsd && *pfsd) {
     157                if(pfsq->cbFSAData && pfsd && *pfsd)
     158                {
    151159                  sprintf(s,
    152160                          " (%s)",
     
    160168
    161169            DosError(FERR_DISABLEHARDERR);
    162             if(!DosQueryFSInfo(toupper(*filename) - '@',
     170            if(!DosQueryFSInfo(toupper(*pszFileName) - '@',
    163171               FSIL_ALLOC,&fsa,sizeof(FSALLOCATE))) {
    164172
     
    172180              memset(&volser,0,sizeof(volser));
    173181              DosError(FERR_DISABLEHARDERR);
    174               if(!DosQueryFSInfo(toupper(*filename) - '@',
     182              if(!DosQueryFSInfo(toupper(*pszFileName) - '@',
    175183                                 FSIL_VOLSER,
    176184                                 &volser,
     
    186194                        volser.
    187195                        serial);
    188                 WinSetDlgItemText(hwnd,
    189                                   INFO_SERIAL,
    190                                   s);
     196                WinSetDlgItemText(hwnd, INFO_SERIAL, s);
     197
     198                CommaFmtULL(szMB,sizeof(szMB),
     199                            (ULONGLONG)fsa.cUnit *
     200                             (fsa.cSectorUnit * fsa.cbSector),
     201                            'M');
     202                CommaFmtULL(szKB,sizeof(szKB),
     203                            (ULONGLONG)fsa.cUnit *
     204                             (fsa.cSectorUnit * fsa.cbSector),
     205                            'K');
     206                CommaFmtULL(szUnits,sizeof(szUnits),
     207                            (ULONGLONG)fsa.cUnit,
     208                            ' ');
    191209                sprintf(s,
    192                         "%lu mb, %lu kb, %lu %s%s",
    193                         (ULONG)(((float)fsa.cUnit *
    194                           (fsa.cSectorUnit * fsa.cbSector)) / (1024L * 1024L)),
    195                         (ULONG)(((float)fsa.cUnit * (fsa.cSectorUnit * fsa.cbSector)) / 1024L),
    196                         fsa.cUnit,
     210                        "%s, %s, %s %s%s",
     211                        szMB,szKB,szUnits,
    197212                        GetPString(IDS_UNITTEXT),
    198                         &"s"[fsa.cUnit == 1L]);
    199                 WinSetDlgItemText(hwnd,
    200                                   INFO_TOTAL,
    201                                   s);
     213                        &"s"[fsa.cUnit == 1L]);         // hack cough
     214                WinSetDlgItemText(hwnd,INFO_TOTAL,s);
     215
     216                CommaFmtULL(szMB,sizeof(szMB),
     217                            (ULONGLONG)fsa.cUnitAvail *
     218                             (fsa.cSectorUnit * fsa.cbSector),
     219                            'M');
     220                CommaFmtULL(szKB,sizeof(szKB),
     221                            (ULONGLONG)fsa.cUnitAvail *
     222                             (fsa.cSectorUnit * fsa.cbSector),
     223                            'K');
     224                CommaFmtULL(szUnits,sizeof(szUnits),
     225                            (ULONGLONG)fsa.cUnitAvail,
     226                            ' ');
    202227                sprintf(s,
    203                         "%lu mb, %lu kb, %lu %s%s",
    204                         (ULONG)(((float)fsa.cUnitAvail *
    205                           (fsa.cSectorUnit * fsa.cbSector)) / (1024L * 1024L)),
    206                         (ULONG)(((float)fsa.cUnitAvail * (fsa.cSectorUnit * fsa.cbSector)) / 1024L),
    207                         fsa.cUnitAvail,
     228                        "%s, %s, %s %s%s",
     229                        szMB,szKB,szUnits,
    208230                        GetPString(IDS_UNITTEXT),
    209231                        &"s"[fsa.cUnitAvail == 1L]);
     
    219241                                  INFO_ALLOCUNITS,
    220242                                  s);
    221                 FlagMsg(*filename,s);
     243                FlagMsg(*pszFileName,s);
    222244                WinSetDlgItemText(hwnd,
    223245                                  INFO_FLAGS,
     
    255277                sprintf(FileSystem,
    256278                        GetPString(IDS_CANTQUERYVOLTEXT),
    257                         toupper(*filename));
     279                        toupper(*pszFileName));
    258280                Notify(FileSystem);
    259281                WinDismissDlg(hwnd,0);
     
    263285              sprintf(FileSystem,
    264286                      GetPString(IDS_CANTQUERYALLOCTEXT),
    265                       toupper(*filename));
     287                      toupper(*pszFileName));
    266288              Notify(FileSystem);
    267289              WinDismissDlg(hwnd,0);
     
    269291          }
    270292          else {
    271             FlagMsg(*filename,s);
     293            FlagMsg(*pszFileName,s);
    272294            sprintf(FileSystem,
    273295                    GetPString(IDS_DRIVEINACCESSIBLETEXT),
    274                     toupper(*filename),
     296                    toupper(*pszFileName),
    275297                    s);
    276298            Notify(FileSystem);
     
    304326
    305327        case DID_OK:
    306           filename = INSTDATA(hwnd);
    307           if(!(driveflags[toupper(*filename) - 'A'] & DRIVE_NOTWRITEABLE)) {
     328          pszFileName = INSTDATA(hwnd);
     329          if(!(driveflags[toupper(*pszFileName) - 'A'] & DRIVE_NOTWRITEABLE)) {
    308330
    309331            CHAR s[CCHMAXPATHCOMP + 3];
     
    324346              memset(&volser,0,sizeof(volser));
    325347              DosError(FERR_DISABLEHARDERR);
    326               if(!DosQueryFSInfo(toupper(*filename) - '@',
     348              if(!DosQueryFSInfo(toupper(*pszFileName) - '@',
    327349                                 FSIL_VOLSER,
    328350                                 &volser,
     
    332354                *s = strlen(s + 1);
    333355                DosError(FERR_DISABLEHARDERR);
    334                 if(DosSetFSInfo(toupper(*filename) - '@',
     356                if(DosSetFSInfo(toupper(*pszFileName) - '@',
    335357                                2L,
    336358                                (PVOID)s,
     
    354376  PFNWP  oldproc;
    355377  HWND   lasthwndMenu;
    356   CHAR   filename[CCHMAXPATH];
     378  CHAR   szFileName[CCHMAXPATH];
    357379  CHAR **list;
    358380  BOOL   madechanges;
     
    363385 */
    364386
    365 MRESULT EXPENTRY IconProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    366 
     387MRESULT EXPENTRY IconProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     388{
    367389  ICONSTUF   *is;
    368390  static BOOL emphasized = FALSE;
     
    412434          ici.fFormat = ICON_FILE;
    413435          ici.pszFileName = szFrom;
    414           if(!WinSetFileIcon((PSZ)is->filename,
     436          if(!WinSetFileIcon((PSZ)is->szFileName,
    415437                             (PICONINFO)&ici)) {
    416438            ici.fFormat = ICON_CLEAR;
    417             WinSetFileIcon((PSZ)is->filename,
     439            WinSetFileIcon((PSZ)is->szFileName,
    418440                           (PICONINFO)&ici);
    419441          }
    420           hptr = WinLoadFileIcon(is->filename,
     442          hptr = WinLoadFileIcon(is->szFileName,
    421443                                 FALSE);
    422444          if(!hptr)
    423             hptr = (!IsFile(is->filename)) ?
     445            hptr = (!IsFile(is->szFileName)) ?
    424446                    hptrDir :
    425447                    hptrFile;
     
    473495                                       FLE_FRAME);
    474496        if(is->lasthwndMenu) {
    475           p = strrchr(is->filename,'.');
     497          p = strrchr(is->szFileName,'.');
    476498          if(!p ||
    477499             (stricmp(p,".ICO") &&
     
    498520                    SETICON_FRAME,
    499521                    (PVOID)((SHORT1FROMMP(mp1) == IDM_SELECTALL) ?
    500                      is->filename :
     522                     is->szFileName :
    501523                     NULL));
    502524        break;
     
    590612            case BN_CLICKED:
    591613              is = WinQueryWindowPtr(hwnd,QWL_USER);
    592               if(is && *is->filename) {
     614              if(is && *is->szFileName) {
    593615
    594616                LISTINFO li;
     
    596618
    597619                memset(&li,0,sizeof(LISTINFO));
    598                 if(!AddToList(is->filename,
     620                if(!AddToList(is->szFileName,
    599621                              &li.list,
    600622                              &numfiles,
     
    635657                                                   MPVOID);
    636658                if(sSelect >= 0) {
    637                   *is->filename = 0;
     659                  *is->szFileName = 0;
    638660                  WinSendDlgItemMsg(hwnd,
    639661                                    FLE_NAME,
    640662                                    LM_QUERYITEMTEXT,
    641663                                    MPFROM2SHORT(sSelect,CCHMAXPATH),
    642                                     MPFROMP(is->filename));
    643                   if(*is->filename) {
     664                                    MPFROMP(is->szFileName));
     665                  if(*is->szFileName) {
    644666                    if(SHORT2FROMMP(mp1) == LN_SELECT)
    645667                      WinSendMsg(hwnd,
     
    653675                                  NULL,
    654676                                  32,
    655                                   is->filename);
     677                                  is->szFileName);
    656678                  }
    657679                }
     
    692714      WinCheckButton(hwnd,FLE_PROTDLL,FALSE);
    693715      is = WinQueryWindowPtr(hwnd,QWL_USER);
    694       if(is && *is->filename) {
     716      if(is && *is->szFileName) {
    695717
    696718        CHAR         s[97];
     
    703725
    704726        DosError(FERR_DISABLEHARDERR);
    705         if(DosFindFirst(is->filename,
     727        if(DosFindFirst(is->szFileName,
    706728                        &hdir,
    707729                        FILE_NORMAL | FILE_ARCHIVED |
     
    812834                         ((fs.attrFile & FILE_SYSTEM) != 0));
    813835          DosError(FERR_DISABLEHARDERR);
    814           if(!DosQueryAppType(is->filename,&apptype)) {
     836          if(!DosQueryAppType(is->szFileName,&apptype)) {
    815837            WinEnableWindow(WinWindowFromID(hwnd,FLE_OS2FS),TRUE);
    816838            WinEnableWindow(WinWindowFromID(hwnd,FLE_OS2WIN),TRUE);
     
    861883            WinEnableWindow(WinWindowFromID(hwnd,FLE_PROTDLL),FALSE);
    862884          }
    863           hptr = WinLoadFileIcon(is->filename,
     885          hptr = WinLoadFileIcon(is->szFileName,
    864886                                 FALSE);
    865887          WinShowWindow(WinWindowFromID(hwnd,FLE_ICON),
     
    881903            WinEnableWindow(WinWindowFromID(hwnd,FLE_ISARCHIVE),TRUE);
    882904            WinEnableWindow(WinWindowFromID(hwnd,FLE_BINARY),TRUE);
    883             fp = _fsopen(is->filename,"rb",SH_DENYNO);
     905            fp = _fsopen(is->szFileName,"rb",SH_DENYNO);
    884906            if(fp) {
    885907
     
    899921                             FLE_READABLE,
    900922                             TRUE);
    901               info = find_type(is->filename,NULL);
     923              info = find_type(is->szFileName,NULL);
    902924              if(info) {
    903925                WinCheckButton(hwnd,
     
    918940                             2);
    919941            }
    920             fp = _fsopen(is->filename,"ab",SH_DENYNO);
     942            fp = _fsopen(is->szFileName,"ab",SH_DENYNO);
    921943            if(fp) {
    922944              WinCheckButton(hwnd,FLE_WRITEABLE,TRUE);
    923945              fclose(fp);
    924946            }
    925             fp = _fsopen(is->filename,"rb",SH_DENYRW);
     947            fp = _fsopen(is->szFileName,"rb",SH_DENYRW);
    926948            if(!fp)
    927949              WinCheckButton(hwnd,FLE_OPEN,TRUE);
     
    955977        case FLE_SETTINGS:
    956978          is = WinQueryWindowPtr(hwnd,QWL_USER);
    957           if(is && *is->filename)
    958             OpenObject(is->filename,
     979          if(is && *is->szFileName)
     980            OpenObject(is->szFileName,
    959981                       Settings,
    960982                       hwnd);
     
    962984        case FLE_EAS:
    963985          is = WinQueryWindowPtr(hwnd,QWL_USER);
    964           if(is && *is->filename) {
     986          if(is && *is->szFileName) {
    965987
    966988            CHAR *list[2];
    967989
    968             list[0] = is->filename;
     990            list[0] = is->szFileName;
    969991            list[1] = NULL;
    970992            WinDlgBox(HWND_DESKTOP,
  • trunk/dll/mainwnd.c

    r133 r162  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2001, 2005 Steven H.Levine
     9  Copyright (c) 2001, 2005 Steven H. Levine
    1010
    1111  11 Jun 02 SHL Drop obsolete xor code
     
    1414  23 May 05 SHL Use QWL_USER
    1515  23 May 05 SHL Use datamin.h
     16  25 May 05 SHL Use ULONGLONG and CommaFmtULL
    1617
    1718***********************************************************************/
     
    2122#define INCL_WINHELP
    2223#define INCL_GPI
    23 
     24#define INCL_LONGLONG
    2425#include <os2.h>
     26
    2527#include <stdarg.h>
    2628#include <stdio.h>
     
    102104
    103105        FSALLOCATE fsa;
    104         CHAR s[90], szQty[38], *pszUM;
     106        CHAR s[90], szQty[38];
    105107        ULONG ulPctFree;
    106         float fltFreeQty;
     108        ULONGLONG ullFreeQty;
    107109
    108110        if (!DosQueryFSInfo((d - 'A') + 1,
     
    111113                            sizeof(FSALLOCATE)))
    112114        {
    113           fltFreeQty = (float) fsa.cUnitAvail *
     115          ullFreeQty = (ULONGLONG)fsa.cUnitAvail *
    114116            (fsa.cSectorUnit * fsa.cbSector);
    115           if (fltFreeQty >= (1024 * 1024))
    116           {
    117             fltFreeQty /= (1024 * 1024);
    118             pszUM = "mb";
    119           }
    120           else if (fltFreeQty >= 1024)
    121           {
    122             fltFreeQty /= 1024;
    123             pszUM = "kb";
    124           }
    125           else
    126             pszUM = "b";
    127117          ulPctFree = (fsa.cUnit && fsa.cUnitAvail) ?
    128118            (fsa.cUnitAvail * 100) / fsa.cUnit : 0;
    129           commafmt(szQty,
    130                    sizeof(szQty),
    131                    (ULONG) fltFreeQty);
     119          CommaFmtULL(szQty,
     120                      sizeof(szQty),
     121                      ullFreeQty,' ');
    132122          sprintf(s,
    133                   "%s%s (%lu%%) free",
     123                  "%s (%lu%%) free",
    134124                  szQty,
    135                   pszUM,
    136125                  ulPctFree);
    137126        }
  • trunk/dll/seeall.c

    r130 r162  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2001, 2005 Steven H.Levine
     9  Copyright (c) 2001, 2005 Steven H. Levine
    1010
    1111  16 Oct 02 SHL Handle large partitions
     
    1313  06 Dec 03 SHL StartSeeAll: correct malloc arg oops
    1414  23 May 05 SHL Use QWL_USER
     15  25 May 05 SHL Use ULONGLONG and CommaFmtULL
    1516
    1617***********************************************************************/
     
    2021#define INCL_WIN
    2122#define INCL_GPI
    22 
     23#define INCL_LONGLONG
    2324#include <os2.h>
     25
    2426#include <stdlib.h>
    2527#include <stdio.h>
     
    2729#include <ctype.h>
    2830#include <process.h>
     31
    2932#include "fm3dll.h"
    3033#include "fm3dlg.h"
     
    3841#pragma alloc_text(SEEALL,BuildAList,RemoveDeleted,SeeFrameWndProc,FilterList)
    3942#pragma alloc_text(SEEALL2,SeeObjWndProc,MakeSeeObj,FindDupes,DupeDlgProc)
    40 #pragma alloc_text(SEEALL3,FreeAllFilesList,DoADir,FindAll,AFDrvsWndProc)
     43#pragma alloc_text(SEEALL3,FreeAllFilesList,DoADir,FindAllThread,AFDrvsWndProc)
    4144#pragma alloc_text(SEEALL3,StartSeeAll)
    4245
     
    9093  USHORT    size;
    9194  USHORT    dupeflags;
    92   ALLFILES *afhead,**afindex;
    93   ULONG     affiles,afalloc,afFilesToGet,longest,longestw,
    94             topfile,cursored,selected,ulSelectedKB, ulSelectedBytes,afifiles,
    95             lastselected,lastdirection,multiplier,lasttime;
    96   CHAR      stopflag,drvsflags[26],lasttarget[CCHMAXPATH],
    97             comnam[CCHMAXPATH],findpath[CCHMAXPATH];
    98   LONG      lMaxAscender,lMaxDescender,lMaxHeight,maxx,horzscroll;
    99   BOOL      fullnames,invertsort,mousecaptured;
    100   HMTX      ScanSem;
    101   HWND      hvscroll,hhscroll,hwndMenu,hwndObj,hwndClient,hwndPopup,
    102             hwndStatus,hwndFrame;
     95  ALLFILES  *afhead;
     96  ALLFILES  **afindex;
     97  ULONG     affiles;
     98  ULONG     afalloc;
     99  ULONG     afFilesToGet;
     100  ULONG     longest;
     101  ULONG     longestw;
     102  ULONG     topfile;
     103  ULONG     cursored;
     104  ULONG     selected;
     105  ULONGLONG    ullSelectedBytes;
     106  ULONG     afifiles;
     107  ULONG     lastselected;
     108  ULONG     lastdirection;
     109  ULONG     multiplier;
     110  ULONG     lasttime;
     111  CHAR      stopflag;
     112  CHAR      abDrvFlags[26];
     113  CHAR      szCommonName[CCHMAXPATH];
     114  CHAR      szFindPath[CCHMAXPATH];
     115  LONG      lMaxAscender;
     116  LONG      lMaxDescender;
     117  LONG      lMaxHeight;
     118  LONG      maxx;
     119  LONG      horzscroll;
     120  BOOL      fullnames;
     121  BOOL      invertsort;
     122  BOOL      mousecaptured;
     123  HMTX      hmtxScan;
     124  HWND      hvscroll;
     125  HWND      hhscroll;
     126  HWND      hwndMenu;
     127  HWND      hwndObj;
     128  HWND      hwndClient;
     129  HWND      hwndPopup;
     130  HWND      hwndStatus;
     131  HWND      hwndFrame;
    103132  HPS       hps;
    104   PFNSORT   compare;
     133  PFNSORT   pfnCompare;
    105134  MASK      mask;
    106135  FATTRS    fattrs;
    107   LONG      colors[8];
     136  LONG      aulColors[8];
    108137  BOOL      killme;
    109138} ALLDATA;
     
    118147
    119148
    120 MRESULT EXPENTRY DupeDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    121 
    122   switch(msg) {
     149MRESULT EXPENTRY DupeDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     150{
     151  switch (msg)
     152  {
    123153    case WM_INITDLG:
    124154      {
     
    201231
    202232
    203 static ULONG NumLines (RECTL *rcl,ALLDATA *ad) {
    204 
     233static ULONG NumLines (RECTL *rcl,ALLDATA *ad)
     234{
    205235  ULONG numlines;
    206236
     
    216246MRESULT EXPENTRY SeeObjWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
    217247{
    218   switch(msg) {
     248  switch (msg)
     249  {
    219250    case UM_MASSACTION:
    220251      {
     
    12271258
    12281259
    1229 static VOID MakeSeeObj (VOID *args) {
    1230 
     1260static VOID MakeSeeObj (VOID *args)
     1261{
    12311262  HAB      hab2;
    12321263  HMQ      hmq2;
     
    12351266  QMSG     qmsg2;
    12361267
    1237   if(ad) {
     1268  if (ad)
     1269  {
    12381270    hab2 = WinInitialize(0);
    1239     if(hab2) {
     1271    if(hab2)
     1272    {
    12401273      hmq2 = WinCreateMsgQueue(hab2,256);
    1241       if(hmq2) {
     1274      if(hmq2)
     1275      {
    12421276        DosError(FERR_DISABLEHARDERR);
    12431277        WinRegisterClass(hab2,
     
    12841318  MASK           mask;
    12851319  register ULONG x,y,z;
    1286   ULONG          ul;
    12871320  BOOL           ret;
    12881321  ALLDATA       *pAD = WinQueryWindowPtr(hwnd,QWL_USER);
     
    13571390          if (pAD->afindex[y]->flags & AF_SELECTED) {
    13581391            pAD->selected--;
    1359             ul = pAD->afindex[y]->cbFile;
    1360             pAD->ulSelectedKB -= ul >> 10;
    1361             pAD->ulSelectedBytes -= ul & 0x3ff;
     1392            pAD->ullSelectedBytes -= pAD->afindex[y]->cbFile;
    13621393            pAD->afindex[y]->flags &= ~AF_SELECTED;
    13631394          }
     
    13661397          if (~pAD->afindex[y]->flags & AF_SELECTED) {
    13671398            pAD->selected++;
    1368             ul = pAD->afindex[y]->cbFile;
    1369             pAD->ulSelectedKB += ul >> 10;
    1370             pAD->ulSelectedBytes += ul & 0x3ff;
     1399            pAD->ullSelectedBytes += pAD->afindex[y]->cbFile;
    13711400            pAD->afindex[y]->flags |= AF_SELECTED;
    13721401          }
     
    13781407
    13791408
    1380 static VOID CollectList (HWND hwnd,CHAR **list) {
    1381 
    1382   if(!Collector) {
     1409static VOID CollectList (HWND hwnd,CHAR **list)
     1410{
     1411  if (!Collector)
     1412  {
    13831413    if(hwndMain && !fExternalCollector && !strcmp(realappname,FM3Str)) {
    13841414
     
    14111441
    14121442
    1413 static VOID FreeAllFilesList (HWND hwnd) {
    1414 
     1443static VOID FreeAllFilesList (HWND hwnd)
     1444{
    14151445  ALLDATA       *ad = WinQueryWindowPtr(hwnd,QWL_USER);
    14161446  register ULONG x;
     
    14331463
    14341464
    1435 static CHAR ** BuildAList (HWND hwnd) {
    1436 
    1437   ALLDATA       *ad = WinQueryWindowPtr(hwnd,QWL_USER);
    1438   register ULONG x,y,z = 0;
    1439   CHAR         **list = NULL;
    1440   INT            numfiles = 0,numalloc = 0,error;
     1465static CHAR ** BuildAList (HWND hwnd)
     1466{
     1467  ALLDATA     *ad = WinQueryWindowPtr(hwnd,QWL_USER);
     1468  ULONG       x;
     1469  ULONG       y;
     1470  ULONG       z = 0;
     1471  CHAR      **list = NULL;
     1472  INT         numfiles = 0;
     1473  INT         numalloc = 0;
     1474  INT         error;
    14411475
    14421476  if(ad->selected) {
     
    14641498  ALLDATA       *pAD = WinQueryWindowPtr(hwnd,QWL_USER);
    14651499  register ULONG x,y,z;
    1466   ULONG         ul;
    14671500  BOOL          ret = TRUE;
    14681501  BOOL          didone = FALSE;
     
    14841517        if (pAD->afindex[y]->flags & AF_SELECTED) {
    14851518          pAD->selected--;
    1486           ul = pAD->afindex[y]->cbFile;
    1487           pAD->ulSelectedKB -= ul >> 10;
    1488           pAD->ulSelectedBytes -= ul & 0x3ff;
     1519          pAD->ullSelectedBytes -= pAD->afindex[y]->cbFile;
    14891520          pAD->afindex[y]->flags &= ~AF_SELECTED;
    14901521        }
     
    14931524        if (~pAD->afindex[y]->flags & AF_SELECTED) {
    14941525          pAD->selected++;
    1495           ul = pAD->afindex[y]->cbFile;
    1496           pAD->ulSelectedKB += ul >> 10;;
    1497           pAD->ulSelectedBytes += ul & 0x3ff;
     1526          pAD->ullSelectedBytes += pAD->afindex[y]->cbFile;
    14981527          pAD->afindex[y]->flags |= AF_SELECTED;
    14991528        }
     
    15021531        if (pAD->afindex[y]->flags & AF_SELECTED) {
    15031532          pAD->selected--;
    1504           ul = pAD->afindex[y]->cbFile;
    1505           pAD->ulSelectedKB -= ul >> 10;
    1506           pAD->ulSelectedBytes -= ul & 0x3ff;
     1533          pAD->ullSelectedBytes -= pAD->afindex[y]->cbFile;
    15071534          pAD->afindex[y]->flags &= ~AF_SELECTED;
    15081535        }
    15091536        else {
    15101537          pAD->selected++;
    1511           ul = pAD->afindex[y]->cbFile;
    1512           pAD->ulSelectedKB += ul >> 10;
    1513           pAD->ulSelectedBytes += ul & 0x3ff;
     1538          pAD->ullSelectedBytes += pAD->afindex[y]->cbFile;
    15141539          pAD->afindex[y]->flags |= AF_SELECTED;
    15151540        }
     
    15351560  ALLDATA       *pAD = WinQueryWindowPtr(hwnd,QWL_USER);
    15361561  register ULONG x,z;
    1537   ULONG         ul;
    15381562  BOOL          ret = TRUE;
    15391563  BOOL          didone = FALSE;
     
    15541578        if (pAD->afhead[x].flags & AF_SELECTED) {
    15551579          pAD->selected--;
    1556           ul = pAD->afhead[x].cbFile;
    1557           pAD->ulSelectedKB -= ul >> 10;
    1558           pAD->ulSelectedBytes -= ul & 0x3ff;
     1580          pAD->ullSelectedBytes -= pAD->afhead[x].cbFile;
    15591581          pAD->afhead[x].flags &= ~AF_SELECTED;
    15601582        }
     
    15631585        if (~pAD->afhead[x].flags & AF_SELECTED) {
    15641586          pAD->selected++;
    1565           ul = pAD->afhead[x].cbFile;
    1566           pAD->ulSelectedKB += ul >> 10;
    1567           pAD->ulSelectedBytes += ul & 0x3ff;
     1587          pAD->ullSelectedBytes += pAD->afhead[x].cbFile;
    15681588          pAD->afhead[x].flags |= AF_SELECTED;
    15691589        }
     
    15721592        if (pAD->afhead[x].flags & AF_SELECTED) {
    15731593          pAD->selected--;
    1574           ul = pAD->afhead[x].cbFile;
    1575           pAD->ulSelectedKB -= ul >> 10;
    1576           pAD->ulSelectedBytes -= ul & 0x3ff;
     1594          pAD->ullSelectedBytes -= pAD->afhead[x].cbFile;
    15771595          pAD->afhead[x].flags &= ~AF_SELECTED;
    15781596        }
    15791597        else {
    15801598          pAD->selected++;
    1581           ul = pAD->afhead[x].cbFile;
    1582           pAD->ulSelectedKB += ul >> 10;
    1583           pAD->ulSelectedBytes += ul & 0x3ff;
     1599          pAD->ullSelectedBytes += pAD->afhead[x].cbFile;
    15841600          pAD->afhead[x].flags |= AF_SELECTED;
    15851601        }
     
    15991615
    16001616
    1601 static BOOL UpdateList (HWND hwnd,CHAR **list) {
    1602 
     1617static BOOL UpdateList (HWND hwnd,CHAR **list)
     1618{
    16031619  /* Updates files in the list */
    16041620
     
    16401656          ad->afhead[x].flags |= AF_DELETED;
    16411657      }
    1642       else if(isalpha(*list[z]) && ad->drvsflags[toupper(*list[z]) - 'A']) {
     1658      else if(isalpha(*list[z]) && ad->abDrvFlags[toupper(*list[z]) - 'A']) {
    16431659        didone = TRUE;
    16441660        hdir = HDIR_CREATE;
     
    16621678                  ad->afindex = templ;
    16631679                else {
    1664 // saymsg(MB_ENTER,HWND_DESKTOP,DEBUG_STRING,"Realloc failed.");
     1680                  // saymsg(MB_ENTER,HWND_DESKTOP,DEBUG_STRING,"Realloc failed.");
    16651681                  ad->stopflag = 1;
    16661682                  break;
     
    16691685              }
    16701686              else {
    1671 // saymsg(MB_ENTER,HWND_DESKTOP,DEBUG_STRING,"Realloc failed.");
     1687                // saymsg(MB_ENTER,HWND_DESKTOP,DEBUG_STRING,"Realloc failed.");
    16721688                ad->stopflag = 1;
    16731689                break;
     
    16951711            }
    16961712            else {
    1697 // saymsg(MB_ENTER,HWND_DESKTOP,DEBUG_STRING,"Strdup failed.");
     1713              // saymsg(MB_ENTER,HWND_DESKTOP,DEBUG_STRING,"Strdup failed.");
    16981714              ad->stopflag = 1;
    16991715              break;
     
    17081724
    17091725
    1710 static int comparefullnames (const void *v1,const void *v2) {
    1711 
     1726static int comparefullnames (const void *v1,const void *v2)
     1727{
    17121728  ALLFILES *d1 = *(ALLFILES **)v1;
    17131729  ALLFILES *d2 = *(ALLFILES **)v2;
     
    17191735
    17201736
    1721 static int comparenames (const void *v1,const void *v2) {
    1722 
     1737static int comparenames (const void *v1,const void *v2)
     1738{
    17231739  ALLFILES *d1 = *(ALLFILES **)v1;
    17241740  ALLFILES *d2 = *(ALLFILES **)v2;
     
    17321748
    17331749
    1734 static int compareexts (const void *v1,const void *v2) {
    1735 
     1750static int compareexts (const void *v1,const void *v2)
     1751{
    17361752  ALLFILES *d1 = *(ALLFILES **)v1;
    17371753  ALLFILES *d2 = *(ALLFILES **)v2;
     
    17561772
    17571773
    1758 static int comparesizes (const void *v1,const void *v2) {
    1759 
     1774static int comparesizes (const void *v1,const void *v2)
     1775{
    17601776  ALLFILES *d1 = *(ALLFILES **)v1;
    17611777  ALLFILES *d2 = *(ALLFILES **)v2;
     
    17691785
    17701786
    1771 static int comparedates (const void *v1,const void *v2) {
    1772 
     1787static int comparedates (const void *v1,const void *v2)
     1788{
    17731789  ALLFILES *d1 = *(ALLFILES **)v1;
    17741790  ALLFILES *d2 = *(ALLFILES **)v2;
     
    17941810
    17951811
    1796 static VOID ReSort (HWND hwnd) {
    1797 
     1812static VOID ReSort (HWND hwnd)
     1813{
    17981814  ALLDATA       *pAD = WinQueryWindowPtr(hwnd,QWL_USER);
    17991815  register ULONG x,y;
    1800   ULONG         ul;
    18011816
    18021817  pAD->selected = 0;
    1803   pAD->ulSelectedKB = 0;
    1804   pAD->ulSelectedBytes = 0;
     1818  pAD->ullSelectedBytes = 0;
    18051819  for (x = 0,y = 0;x < pAD->affiles;x++) {
    18061820    if(!(pAD->afhead[x].flags & (AF_DELETED | AF_FILTERED))) {
    18071821      if (pAD->afhead[x].flags & AF_SELECTED) {
    18081822        pAD->selected++;
    1809         ul = pAD->afhead[x].cbFile;
    1810         pAD->ulSelectedKB += ul >> 10;
    1811         pAD->ulSelectedBytes += ul & 0x3ff;
     1823        pAD->ullSelectedBytes += pAD->afhead[x].cbFile;
    18121824      }
    18131825      pAD->afindex[y++] = &(pAD->afhead[x]);
     
    18161828  pAD->afifiles = y;
    18171829  PostMsg(hwnd,UM_SETUP3,MPVOID,MPVOID);
    1818   if(!pAD->stopflag && pAD->compare && pAD->afifiles) {
     1830  if(!pAD->stopflag && pAD->pfnCompare && pAD->afifiles) {
    18191831    WinSendMsg(hwnd,UM_RESCAN,MPFROMLONG(1L),MPVOID);
    1820     qsort(pAD->afindex,pAD->afifiles,sizeof(ALLFILES *),pAD->compare);
     1832    qsort(pAD->afindex,pAD->afifiles,sizeof(ALLFILES *),pAD->pfnCompare);
    18211833  }
    18221834}
    18231835
    18241836
    1825 VOID FindDupes (VOID *args) {
    1826 
     1837VOID FindDupes (VOID *args)
     1838{
    18271839  register ULONG x,z;
    18281840  register CHAR *px,*pz;
     
    18341846  ALLDATA       *ad = WinQueryWindowPtr(hwnd,QWL_USER);
    18351847
    1836   if(!DosRequestMutexSem(ad->ScanSem,SEM_INDEFINITE_WAIT)) {
     1848  if(!DosRequestMutexSem(ad->hmtxScan,SEM_INDEFINITE_WAIT)) {
    18371849    priority_normal();
    18381850    hab2 = WinInitialize(0);
     
    19341946    }
    19351947    PostMsg(hwnd,UM_RESCAN,MPVOID,MPVOID);
    1936     DosReleaseMutexSem(ad->ScanSem);
     1948    DosReleaseMutexSem(ad->hmtxScan);
    19371949  }
    19381950  PostMsg(hwnd,UM_CONTAINER_FILLED,MPVOID,MPVOID);
     
    19441956
    19451957
    1946 static VOID FilterList (HWND hwnd) {
    1947 
     1958static VOID FilterList (HWND hwnd)
     1959{
    19481960  register ULONG x,z;
    19491961  BOOL           ret;
     
    20232035
    20242036
    2025 static ULONG RemoveDeleted (HWND hwnd) {
    2026 
     2037static ULONG RemoveDeleted (HWND hwnd)
     2038{
    20272039  ALLDATA       *pAD = WinQueryWindowPtr(hwnd,QWL_USER);
    20282040  ULONG         oldaffiles = pAD->affiles;
    20292041  register ULONG x,y;
    2030   ULONG         ul;
    20312042
    20322043  for (x = 0;x < pAD->affiles;x++) {
     
    20382049            ~pAD->afhead[y].flags & AF_FILTERED) {
    20392050          pAD->selected--;
    2040           ul = pAD->afhead[y].cbFile;
    2041           pAD->ulSelectedKB -= ul >> 10;
    2042           pAD->ulSelectedBytes -= ul & 0x3ff;
     2051          pAD->ullSelectedBytes -= pAD->afhead[y].cbFile;
    20432052        }
    20442053        free(pAD->afhead[y].fullname);
     
    20722081
    20732082
    2074 static VOID DoADir (HWND hwnd,CHAR *pathname) {
    2075 
     2083static VOID DoADir (HWND hwnd,CHAR *pathname)
     2084{
    20762085  ALLDATA       *ad = WinQueryWindowPtr(hwnd,QWL_USER);
    20772086  CHAR          *filename,*enddir;
     
    20842093  filename = malloc(CCHMAXPATH);
    20852094  if(!filename) {
    2086 // saymsg(MB_ENTER,HWND_DESKTOP,DEBUG_STRING,"Malloc filename failed.");
     2095    // saymsg(MB_ENTER,HWND_DESKTOP,DEBUG_STRING,"Malloc filename failed.");
    20872096    return;
    20882097  }
     
    20952104  if(!pffb) {
    20962105    free(filename);
    2097 // saymsg(MB_ENTER,HWND_DESKTOP,DEBUG_STRING,"Malloc pffb failed.");
     2106    // saymsg(MB_ENTER,HWND_DESKTOP,DEBUG_STRING,"Malloc pffb failed.");
    20982107    return;
    20992108  }
     
    21402149            }
    21412150            else {
    2142 // saymsg(MB_ENTER,HWND_DESKTOP,DEBUG_STRING,"Realloc failed.");
     2151              // saymsg(MB_ENTER,HWND_DESKTOP,DEBUG_STRING,"Realloc failed.");
    21432152              ad->stopflag = 1;
    21442153              break;
     
    21612170          }
    21622171          else {
    2163 // saymsg(MB_ENTER,HWND_DESKTOP,DEBUG_STRING,"Strdup failed.");
     2172            // saymsg(MB_ENTER,HWND_DESKTOP,DEBUG_STRING,"Strdup failed.");
    21642173            ad->stopflag = 1;
    21652174            break;
     
    21782187
    21792188
    2180 static VOID FindAll (VOID *args) {
    2181 
     2189static VOID FindAllThread (VOID *args)
     2190{
    21822191  ULONG     ulDriveNum,ulDriveMap,x;
    21832192  CHAR      startname[] = " :\\";
     
    21872196  ALLDATA  *ad = WinQueryWindowPtr(hwnd,QWL_USER);
    21882197
    2189   if(!DosRequestMutexSem(ad->ScanSem,SEM_INDEFINITE_WAIT)) {
     2198  if(!DosRequestMutexSem(ad->hmtxScan,SEM_INDEFINITE_WAIT))
     2199  {
    21902200    priority_normal();
    21912201    hab2 = WinInitialize(0);
    2192     if(hab2) {
     2202    if(hab2)
     2203    {
    21932204      hmq2 = WinCreateMsgQueue(hab2,0);
    2194       if(hmq2) {
     2205      if(hmq2)
     2206      {
    21952207        WinCancelShutdown(hmq2,TRUE);
    21962208        ad->afFilesToGet = min(FilesToGet,128);
    2197         if(!*ad->findpath) {
     2209        if(!*ad->szFindPath) {
    21982210          DosError(FERR_DISABLEHARDERR);
    2199           if(!DosQCurDisk(&ulDriveNum,&ulDriveMap)) {
    2200             for(x = 2L;x < 26L && !ad->stopflag;x++) {
    2201               if((ulDriveMap & (1L << x)) && ad->drvsflags[x]) {
     2211          if(!DosQCurDisk(&ulDriveNum,&ulDriveMap))
     2212          {
     2213            for(x = 2L;x < 26L && !ad->stopflag;x++)
     2214            {
     2215              if((ulDriveMap & (1L << x)) && ad->abDrvFlags[x]) {
    22022216                *startname = (CHAR)(x + 'A');
    22032217                DoADir(hwnd,startname);
     
    22092223        }
    22102224        else
    2211           DoADir(hwnd,ad->findpath);
     2225          DoADir(hwnd,ad->szFindPath);
    22122226        DosPostEventSem(CompactSem);
    22132227      }
     
    22322246      ReSort(hwnd);
    22332247    }
    2234     DosReleaseMutexSem(ad->ScanSem);
     2248    DosReleaseMutexSem(ad->hmtxScan);
    22352249  }
    22362250  PostMsg(hwnd,UM_CONTAINER_FILLED,MPVOID,MPVOID);
     
    22422256
    22432257
    2244 MRESULT EXPENTRY AFDrvsWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    2245 
    2246   switch(msg) {
     2258MRESULT EXPENTRY AFDrvsWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     2259{
     2260  switch (msg)
     2261  {
    22472262    case WM_INITDLG:
    22482263      if(mp2) {
     
    22652280                                                   MPFROM2SHORT(LIT_END,0),
    22662281                                                   MPFROMP(startname));
    2267                 if(sSelect >= 0 && ad->drvsflags[x])
     2282                if(sSelect >= 0 && ad->abDrvFlags[x])
    22682283                  WinSendDlgItemMsg(hwnd,DRVS_LISTBOX,LM_SELECTITEM,
    22692284                                    MPFROM2SHORT(sSelect,0),
     
    22992314            ALLDATA  *ad = WinQueryWindowPtr(hwnd,QWL_USER);
    23002315
    2301             memset(ad->drvsflags,0,sizeof(ad->drvsflags));
     2316            memset(ad->abDrvFlags,0,sizeof(ad->abDrvFlags));
    23022317            sSelect = (SHORT)WinSendDlgItemMsg(hwnd,DRVS_LISTBOX,
    23032318                                               LM_QUERYSELECTION,
     
    23092324                                   MPFROM2SHORT(sSelect,2),
    23102325                                   MPFROMP(filename)) && *filename)
    2311                 ad->drvsflags[*filename - 'A'] = 1;
     2326                ad->abDrvFlags[*filename - 'A'] = 1;
    23122327              sSelect = (SHORT)WinSendDlgItemMsg(hwnd,DRVS_LISTBOX,
    23132328                                                 LM_QUERYSELECTION,
     
    23162331            }
    23172332            for(x = 2L;x < 26L;x++) {
    2318               if(ad->drvsflags[x]) {
     2333              if(ad->abDrvFlags[x]) {
    23192334                WinDismissDlg(hwnd,1);
    23202335                return 0;
     
    23422357
    23432358
    2344 static HPS InitWindow (HWND hwnd) {
    2345 
     2359static HPS InitWindow (HWND hwnd)
     2360{
    23462361  ALLDATA     *ad = WinQueryWindowPtr(hwnd,QWL_USER);
    23472362  HPS          hps = (HPS)0;
     
    24572472
    24582473
    2459 MRESULT EXPENTRY SeeStatusProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    2460 
     2474MRESULT EXPENTRY SeeStatusProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     2475{
    24612476  switch(msg) {
    24622477    case WM_CREATE:
     
    24982513
    24992514
    2500 MRESULT EXPENTRY SeeFrameWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    2501 
     2515MRESULT EXPENTRY SeeFrameWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     2516{
    25022517  PFNWP oldproc = (PFNWP)WinQueryWindowPtr(hwnd,QWL_USER);
    25032518
     
    25862601
    25872602
    2588 MRESULT EXPENTRY SeeAllWndProc (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) {
    2589 
     2603MRESULT EXPENTRY SeeAllWndProc (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
     2604{
    25902605  ALLDATA *pAD = WinQueryWindowPtr(hwnd,QWL_USER);
    2591   ULONG   ul;
    25922606
    25932607  switch (msg) {
     
    26052619        *(pAD->mask.prompt) = 0;
    26062620        WinSetWindowPtr(hwnd,QWL_USER,(PVOID)pAD);
    2607         pAD->compare = comparenames;
     2621        pAD->pfnCompare = comparenames;
    26082622        if(Firsttime) {
    26092623
     
    26572671        switch(SortType) {
    26582672          case IDM_SORTEASIZE:
    2659             pAD->compare = (PFNSORT)NULL;
     2673            pAD->pfnCompare = (PFNSORT)NULL;
    26602674            break;
    26612675          case IDM_SORTNAME:
    2662             pAD->compare = comparefullnames;
     2676            pAD->pfnCompare = comparefullnames;
    26632677            break;
    26642678          case IDM_SORTFILENAME:
    2665             pAD->compare = comparenames;
     2679            pAD->pfnCompare = comparenames;
    26662680            break;
    26672681          case IDM_SORTSIZE:
    2668             pAD->compare = comparesizes;
     2682            pAD->pfnCompare = comparesizes;
    26692683            break;
    26702684          case IDM_SORTLWDATE:
    2671             pAD->compare = comparedates;
     2685            pAD->pfnCompare = comparedates;
    26722686            break;
    26732687          case IDM_SORTFIRST:
    2674             pAD->compare = compareexts;
     2688            pAD->pfnCompare = compareexts;
    26752689            break;
    26762690        }
     
    26812695        pAD->cursored   = pAD->topfile = 1;
    26822696        pAD->fattrs.usCodePage = Codepage;
    2683         memcpy(pAD->colors,Colors,sizeof(LONG) * COLORS_MAX);
     2697        memcpy(pAD->aulColors,Colors,sizeof(LONG) * COLORS_MAX);
    26842698        pAD->hwndMenu   = WinWindowFromID(WinQueryWindow(hwnd,QW_PARENT),
    26852699                                         FID_MENU);
     
    27052719        pAD->multiplier = 1;
    27062720        if(_beginthread(MakeSeeObj,NULL,122880,(PVOID)pAD) != -1) {
    2707           if(!DosCreateMutexSem(NULL,&pAD->ScanSem,0L,FALSE)) {
     2721          if(!DosCreateMutexSem(NULL,&pAD->hmtxScan,0L,FALSE)) {
    27082722            pAD->hwndStatus = WinCreateWindow(WinQueryWindow(hwnd,QW_PARENT),
    27092723                                              GetPString(IDS_WCSEESTATUS),
     
    27402754      if(pAD) {
    27412755        if(mp1 && *((CHAR *)mp1))
    2742           strcpy(pAD->findpath,(CHAR *)mp1);
     2756          strcpy(pAD->szFindPath,(CHAR *)mp1);
    27432757        else {
    27442758          if(!WinDlgBox(HWND_DESKTOP,hwnd,AFDrvsWndProc,
     
    27482762          }
    27492763        }
    2750         if(_beginthread(FindAll,NULL,524288,(PVOID)hwnd) == -1)
     2764        if(_beginthread(FindAllThread,NULL,524288,(PVOID)hwnd) == -1)
    27512765          PostMsg(hwnd,WM_CLOSE,MPVOID,MPVOID);
    27522766        else {
     
    27652779        APIRET rc;
    27662780
    2767         rc = DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN);
     2781        rc = DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN);
    27682782        if(!rc) {
    27692783          WinSetPointer(HWND_DESKTOP,hptrBusy);
     
    27742788            WinInvalidateRect(hwnd,NULL,FALSE);
    27752789          }
    2776           DosReleaseMutexSem(pAD->ScanSem);
     2790          DosReleaseMutexSem(pAD->hmtxScan);
    27772791          WinSetPointer(HWND_DESKTOP,hptrArrow);
    27782792        }
     
    27902804        strcpy(s,
    27912805               GetPString(IDS_SEEALLTITLETEXT));
    2792         if(!*pAD->findpath) {
     2806        if(!*pAD->szFindPath) {
    27932807          DosError(FERR_DISABLEHARDERR);
    27942808          if(!DosQCurDisk(&ulDriveNum,&ulDriveMap)) {
    27952809            for(x = 2L;x < 26L && !pAD->stopflag;x++) {
    2796               if((ulDriveMap & (1L << x)) && pAD->drvsflags[x]) {
     2810              if((ulDriveMap & (1L << x)) && pAD->abDrvFlags[x]) {
    27972811                sprintf(&s[strlen(s)],
    27982812                        "%s%c:",
     
    28082822        else {
    28092823          strcat(s," (");
    2810           strcat(s,pAD->findpath);
     2824          strcat(s,pAD->szFindPath);
    28112825          strcat(s,")");
    28122826        }
     
    28552869
    28562870    case UM_SETUP4:
    2857 // fprintf(stderr,"Seeall: UM_SETUP4\n");
     2871      // fprintf(stderr,"Seeall: UM_SETUP4\n");
    28582872      if(pAD)
    28592873        pAD->killme = TRUE;
     
    28652879      // fprintf(stderr,"Seeall: UM_RESCAN\n");
    28662880      if(pAD && !pAD->stopflag) {
    2867         if(DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN)) {
    2868 
     2881        if (DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN))
     2882        {
    28692883          CHAR s[CCHMAXPATH + 80],tm[34];
    28702884
     
    28732887                   GetPString(IDS_SORTINGTEXT));
    28742888            if(pAD->afifiles) {
    2875               *tm = 0;
    28762889              commafmt(tm,sizeof(tm),pAD->afifiles);
    28772890              strcat(s,tm);
     
    28822895                   GetPString(IDS_WORKINGTEXT));
    28832896            if(pAD->affiles) {
    2884               *tm = 0;
    28852897              commafmt(tm,sizeof(tm),pAD->affiles);
    28862898              strcat(s,tm);
     
    28932905          WinSetWindowText(pAD->hwndStatus,s);
    28942906        }
    2895         else {
    2896 
     2907        else
     2908        {
    28972909          CHAR  s[(CCHMAXPATH * 2) + 80],tm[34],ts[34],tb[34];
    28982910          ULONG y;
     
    29022914                   GetPString(IDS_SORTINGTEXT));
    29032915            if(pAD->afifiles) {
    2904               *tm = 0;
    29052916              commafmt(tm,sizeof(tm),pAD->afifiles);
    29062917              strcat(s,tm);
     
    29112922            }
    29122923          }
    2913           else if(pAD->afifiles) {
     2924          else if(pAD->afifiles)
     2925          {
    29142926            y = (pAD->invertsort) ? (pAD->afifiles - 1) - (pAD->cursored - 1) :
    29152927                                   pAD->cursored - 1;
    2916             *tm = *ts = *tb = 0;
    29172928            commafmt(tm,sizeof(tm),pAD->afifiles);
    29182929            commafmt(ts,sizeof(ts),pAD->selected);
    2919 
    2920             // Normalize
    2921             ul = pAD->ulSelectedBytes;
    2922             if ((long)ul > 0) {
    2923               pAD->ulSelectedKB += ul >> 10;
    2924               pAD->ulSelectedBytes = ul & 0x3ff;
    2925             }
    2926             else if ((long)ul < 0) {
    2927               ul = -ul;
    2928               pAD->ulSelectedKB -= (ul >> 10) + 1;
    2929               pAD->ulSelectedBytes = 1024 - (ul & 0x3ff);
    2930             }
    2931 
    2932             commafmt(tb,sizeof(tb),pAD->ulSelectedKB);
     2930            CommaFmtULL(tb,sizeof(tb),pAD->ullSelectedBytes,' ');
    29332931            sprintf(s,
    2934                     " %s %s%s%s  %s %s (%sk)  %s %s",
     2932                    " %s %s%s%s  %s %s (%s)  %s %s",
    29352933                    tm,
    29362934                    GetPString(IDS_FILETEXT),
     
    29582956                      NullStr);
    29592957          WinSetWindowText(pAD->hwndStatus,s);
    2960           DosReleaseMutexSem(pAD->ScanSem);
     2958          DosReleaseMutexSem(pAD->hmtxScan);
    29612959        }
    29622960      }
     
    29642962
    29652963    case UM_SETUP:
    2966 // fprintf(stderr,"Seeall: UM_SETUP\n");
     2964      // fprintf(stderr,"Seeall: UM_SETUP\n");
    29672965      if(pAD) {
    29682966        WinSendMsg(pAD->hvscroll,SBM_SETTHUMBSIZE,MPFROM2SHORT(1,1),
     
    29892987          if(SHORT1FROMMP(mp1) & KC_VIRTUALKEY) {
    29902988            pAD->lasttime = 0;
    2991             *pAD->comnam = 0;
     2989            *pAD->szCommonName = 0;
    29922990            switch(SHORT2FROMMP(mp2)) {
    29932991              case VK_DELETE:
     
    31213119                           MPFROM2SHORT(0,0));
    31223120                pAD->lasttime = 0;
    3123                 *pAD->comnam = 0;
     3121                *pAD->szCommonName = 0;
    31243122                break;
    31253123              default:
    31263124                thistime = WinQueryMsgTime(WinQueryAnchorBlock(hwnd));
    31273125                if(thistime > pAD->lasttime + 1000)
    3128                   *pAD->comnam = 0;
     3126                  *pAD->szCommonName = 0;
    31293127                pAD->lasttime = thistime;
    31303128KbdRetry:
    3131                 len = strlen(pAD->comnam);
     3129                len = strlen(pAD->szCommonName);
    31323130                if(len >= CCHMAXPATH - 1) {
    3133                   *pAD->comnam = 0;
     3131                  *pAD->szCommonName = 0;
    31343132                  len = 0;
    31353133                }
    3136                 pAD->comnam[len] = toupper(SHORT1FROMMP(mp2));
    3137                 pAD->comnam[len + 1] = 0;
     3134                pAD->szCommonName[len] = toupper(SHORT1FROMMP(mp2));
     3135                pAD->szCommonName[len + 1] = 0;
    31383136                for(x = pAD->cursored - (len > 0);x < pAD->afifiles;x++) {
    31393137                  y = (pAD->invertsort) ? (pAD->afifiles - 1) - x : x;
    31403138                  if(pAD->fullnames) {
    3141                     if(!strnicmp(pAD->afindex[y]->fullname,pAD->comnam,
     3139                    if(!strnicmp(pAD->afindex[y]->fullname,pAD->szCommonName,
    31423140                                 len + 1)) {
    31433141                      found = TRUE;
     
    31463144                  }
    31473145                  else {
    3148                     if(!strnicmp(pAD->afindex[y]->filename,pAD->comnam,
     3146                    if(!strnicmp(pAD->afindex[y]->filename,pAD->szCommonName,
    31493147                                 len + 1)) {
    31503148                      found = TRUE;
     
    31573155                    y = (pAD->invertsort) ? (pAD->afifiles - 1) - x : x;
    31583156                    if(pAD->fullnames) {
    3159                       if(!strnicmp(pAD->afindex[y]->fullname,pAD->comnam,
     3157                      if(!strnicmp(pAD->afindex[y]->fullname,pAD->szCommonName,
    31603158                                   len + 1)) {
    31613159                        found = TRUE;
     
    31643162                    }
    31653163                    else {
    3166                       if(!strnicmp(pAD->afindex[y]->filename,pAD->comnam,
     3164                      if(!strnicmp(pAD->afindex[y]->filename,pAD->szCommonName,
    31673165                                   len + 1)) {
    31683166                        found = TRUE;
     
    31933191                }
    31943192                else {
    3195                   *pAD->comnam = 0;
     3193                  *pAD->szCommonName = 0;
    31963194                  pAD->lasttime = 0;
    31973195                  if(len)           // retry as first letter if no match
     
    32363234    case WM_BUTTON1MOTIONSTART:
    32373235      if(pAD && !pAD->stopflag &&
    3238          !DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN)) {
     3236         !DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN)) {
    32393237        pAD->mousecaptured = TRUE;
    32403238        pAD->lastselected = (ULONG)-1;
    32413239        pAD->lastdirection = 0;
    32423240        WinSetCapture(HWND_DESKTOP,hwnd);
    3243         DosReleaseMutexSem(pAD->ScanSem);
     3241        DosReleaseMutexSem(pAD->hmtxScan);
    32443242        WinSendMsg(hwnd,WM_BUTTON1CLICK,mp1,MPFROM2SHORT(TRUE,0));
    32453243      }
     
    32903288                  pAD->afindex[y]->flags &= ~AF_SELECTED;
    32913289                  pAD->selected--;
    3292                   ul = pAD->afindex[y]->cbFile;
    3293                   pAD->ulSelectedKB -= ul >> 10;
    3294                   pAD->ulSelectedBytes -= ul & 0x3ff;
     3290                  pAD->ullSelectedBytes -= pAD->afindex[y]->cbFile;
    32953291                }
    32963292                else {
    32973293                  pAD->afindex[y]->flags |= AF_SELECTED;
    32983294                  pAD->selected++;
    3299                   ul = pAD->afindex[y]->cbFile;
    3300                   pAD->ulSelectedKB += ul >> 10;
    3301                   pAD->ulSelectedBytes += ul & 0x3ff;
     3295                  pAD->ullSelectedBytes += pAD->afindex[y]->cbFile;
    33023296                }
    33033297                PaintLine(hwnd,pAD->hps,x,pAD->topfile,&Rectl);
     
    33563350      shiftstate = (SHORT2FROMMP(mp2) & (KC_SHIFT | KC_ALT | KC_CTRL));
    33573351      if(pAD && !pAD->stopflag &&
    3358          !DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN)) {
     3352         !DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN)) {
    33593353
    33603354        ULONG   numlines,whichfile,y,wascursored;
     
    33863380                  pAD->afindex[y]->flags &= ~AF_SELECTED;
    33873381                  pAD->selected--;
    3388                   ul = pAD->afindex[y]->cbFile;
    3389                   pAD->ulSelectedKB -= ul >> 10;
    3390                   pAD->ulSelectedBytes -= ul & 0x3ff;
     3382                  pAD->ullSelectedBytes -= pAD->afindex[y]->cbFile;
    33913383                }
    33923384                else {
    33933385                  pAD->afindex[y]->flags |= AF_SELECTED;
    33943386                  pAD->selected++;
    3395                   ul = pAD->afindex[y]->cbFile;
    3396                   pAD->ulSelectedKB += ul >> 10;
    3397                   pAD->ulSelectedBytes += ul & 0x3ff;
     3387                  pAD->ullSelectedBytes += pAD->afindex[y]->cbFile;
    33983388                }
    33993389                PaintLine(hwnd,pAD->hps,whichfile,pAD->topfile,&Rectl);
     
    34173407          }
    34183408        }
    3419         DosReleaseMutexSem(pAD->ScanSem);
     3409        DosReleaseMutexSem(pAD->hmtxScan);
    34203410      }
    34213411      break;
     
    34593449          APIRET rc;
    34603450
    3461           rc = DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN);
     3451          rc = DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN);
    34623452          WinEnableMenuItem(pAD->hwndPopup,IDM_EAS,(rc == 0 &&
    34633453                                                   pAD->selected != 0));
     
    35133503                                                      pAD->affiles != 0));
    35143504          if(!rc)
    3515             DosReleaseMutexSem(pAD->ScanSem);
     3505            DosReleaseMutexSem(pAD->hmtxScan);
    35163506          if(WinPopupMenu(hwnd,hwnd,pAD->hwndPopup,SHORT1FROMMP(mp1),
    35173507                          SHORT2FROMMP(mp1),0,
     
    35493539
    35503540    case WM_PAINT:
    3551 // fprintf(stderr,"Seeall: WM_PAINT\n");
     3541      // fprintf(stderr,"Seeall: WM_PAINT\n");
    35523542      if(pAD) {
    35533543
     
    35633553        WinFillRect(hpsp,&Rectl,standardcolors[Colors[COLORS_NORMALBACK]]);
    35643554        if(!pAD->stopflag &&
    3565            !DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN)) {
     3555           !DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN)) {
    35663556          WinQueryWindowRect(hwnd,&Rectl);
    35673557          numlines = NumLines(&Rectl,pAD);
     
    36643654            }
    36653655          }
    3666           DosReleaseMutexSem(pAD->ScanSem);
     3656          DosReleaseMutexSem(pAD->hmtxScan);
    36673657        }
    36683658        WinEndPaint(hpsp);
     
    37373727// fprintf(stderr,"Seeall: WM_VSCROLL\n");
    37383728      if(pAD && !pAD->stopflag &&
    3739          !DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN)) {
     3729         !DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN)) {
    37403730
    37413731        ULONG numlines,wascursored;
     
    38343824                                  pAD->lMaxDescender);
    38353825                  WinFillRect(pAD->hps,&iRectl,
    3836                               standardcolors[pAD->colors[COLORS_NORMALBACK]]);
     3826                              standardcolors[pAD->aulColors[COLORS_NORMALBACK]]);
    38373827                  PaintLine(hwnd,pAD->hps,pAD->topfile - 1,pAD->topfile,&Rectl);
    38383828                  if(pAD->cursored != pAD->topfile)
     
    38773867          }
    38783868        }
    3879         DosReleaseMutexSem(pAD->ScanSem);
     3869        DosReleaseMutexSem(pAD->hmtxScan);
    38803870      }
    38813871      break;
     
    38883878              APIRET rc;
    38893879
    3890               rc = DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN);
     3880              rc = DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN);
    38913881              WinEnableMenuItem((HWND)mp2,IDM_DUPES,(rc == 0));
    38923882              WinEnableMenuItem((HWND)mp2,IDM_COLLECT,(rc == 0 &&
     
    39313921                                                             pAD->selected != 0));
    39323922              if(!rc)
    3933                 DosReleaseMutexSem(pAD->ScanSem);
     3923                DosReleaseMutexSem(pAD->hmtxScan);
    39343924            }
    39353925            break;
     
    39393929              APIRET rc;
    39403930
    3941               rc = DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN);
     3931              rc = DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN);
    39423932              WinEnableMenuItem((HWND)mp2,IDM_SELECTALL,(rc == 0 &&
    39433933                                                         pAD->afifiles != 0 &&
     
    39593949                                                      pAD->afifiles != 0));
    39603950              if(!rc)
    3961                 DosReleaseMutexSem(pAD->ScanSem);
     3951                DosReleaseMutexSem(pAD->hmtxScan);
    39623952            }
    39633953            break;
     
    39673957              APIRET rc;
    39683958
    3969               rc = DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN);
     3959              rc = DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN);
    39703960              WinEnableMenuItem((HWND)mp2,IDM_SORTNAME,(rc == 0));
    39713961              WinEnableMenuItem((HWND)mp2,IDM_SORTEASIZE,(rc == 0));
     
    39753965              WinEnableMenuItem((HWND)mp2,IDM_SORTFIRST,(rc == 0));
    39763966              if(!rc)
    3977                 DosReleaseMutexSem(pAD->ScanSem);
     3967                DosReleaseMutexSem(pAD->hmtxScan);
    39783968            }
    39793969            WinCheckMenuItem((HWND)mp2,IDM_SORTNAME,
    3980                              (pAD->compare == comparefullnames));
     3970                             (pAD->pfnCompare == comparefullnames));
    39813971            WinCheckMenuItem((HWND)mp2,IDM_SORTEASIZE,
    3982                              (pAD->compare == (PFNSORT)NULL));
     3972                             (pAD->pfnCompare == (PFNSORT)NULL));
    39833973            WinCheckMenuItem((HWND)mp2,IDM_SORTSIZE,
    3984                              (pAD->compare == comparesizes));
     3974                             (pAD->pfnCompare == comparesizes));
    39853975            WinCheckMenuItem((HWND)mp2,IDM_SORTLWDATE,
    3986                              (pAD->compare == comparedates));
     3976                             (pAD->pfnCompare == comparedates));
    39873977            WinCheckMenuItem((HWND)mp2,IDM_SORTFILENAME,
    3988                              (pAD->compare == comparenames));
     3978                             (pAD->pfnCompare == comparenames));
    39893979            WinCheckMenuItem((HWND)mp2,IDM_SORTREVERSE,pAD->invertsort);
    39903980            WinCheckMenuItem((HWND)mp2,IDM_SORTFIRST,
    3991                              (pAD->compare == compareexts));
     3981                             (pAD->pfnCompare == compareexts));
    39923982            break;
    39933983
     
    39963986              APIRET rc;
    39973987
    3998               rc = DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN);
     3988              rc = DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN);
    39993989              WinEnableMenuItem((HWND)mp2,IDM_RESCAN,(rc == 0));
    40003990              WinEnableMenuItem((HWND)mp2,IDM_FILTER,(rc == 0 &&
    40013991                                                      pAD->affiles != 0));
    40023992              if(!rc)
    4003                 DosReleaseMutexSem(pAD->ScanSem);
     3993                DosReleaseMutexSem(pAD->hmtxScan);
    40043994            }
    40053995            WinCheckMenuItem((HWND)mp2,IDM_SHOWLNAMES,pAD->fullnames);
     
    40194009        case IDM_DUPES:
    40204010          if(!pAD->stopflag &&
    4021              !DosRequestMutexSem(pAD->ScanSem,
     4011             !DosRequestMutexSem(pAD->hmtxScan,
    40224012                                 SEM_IMMEDIATE_RETURN)) {
    40234013            pAD->dupeflags = (USHORT)WinDlgBox(HWND_DESKTOP,
     
    40344024                DosBeep(50,100);
    40354025            }
    4036             DosReleaseMutexSem(pAD->ScanSem);
     4026            DosReleaseMutexSem(pAD->hmtxScan);
    40374027          }
    40384028          break;
     
    40464036            co.size = sizeof(co);
    40474037            co.numcolors = COLORS_MAX;
    4048             co.colors = pAD->colors;
     4038            co.colors = pAD->aulColors;
    40494039            co.descriptions = IDS_SACOLORS1TEXT;
    40504040            co.origs = temp;
    40514041            co.prompt = IDS_SACOLORSPROMPTTEXT;
    40524042            memcpy(temp,
    4053                    pAD->colors,
     4043                   pAD->aulColors,
    40544044                   sizeof(LONG) * COLORS_MAX);
    40554045            if(WinDlgBox(HWND_DESKTOP,
     
    40604050                         (PVOID)&co)) {
    40614051              memcpy(Colors,
    4062                      pAD->colors,
     4052                     pAD->aulColors,
    40634053                     sizeof(LONG) * COLORS_MAX);
    40644054              PrfWriteProfileData(fmprof,
    40654055                                  appname,
    40664056                                  "Seeall.Colors",
    4067                                   &pAD->colors,
     4057                                  &pAD->aulColors,
    40684058                                  sizeof(LONG) * COLORS_MAX);
    40694059              WinInvalidateRect(hwnd,
     
    41434133        case IDM_SORTFIRST:
    41444134          if(!pAD->stopflag &&
    4145              !DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN)) {
     4135             !DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN)) {
    41464136            {
    41474137              USHORT dummy = SHORT1FROMMP(mp1);
     
    41584148            switch(SHORT1FROMMP(mp1)) {
    41594149              case IDM_SORTEASIZE:
    4160                 pAD->compare = (PFNSORT)NULL;
     4150                pAD->pfnCompare = (PFNSORT)NULL;
    41614151                ReSort(hwnd);
    41624152                break;
    41634153
    41644154              case IDM_SORTNAME:
    4165                 pAD->compare = comparefullnames;
     4155                pAD->pfnCompare = comparefullnames;
    41664156                ReSort(hwnd);
    41674157                break;
    41684158
    41694159              case IDM_SORTFILENAME:
    4170                 pAD->compare = comparenames;
     4160                pAD->pfnCompare = comparenames;
    41714161                ReSort(hwnd);
    41724162                break;
    41734163
    41744164              case IDM_SORTSIZE:
    4175                 pAD->compare = comparesizes;
     4165                pAD->pfnCompare = comparesizes;
    41764166                ReSort(hwnd);
    41774167                break;
    41784168
    41794169              case IDM_SORTLWDATE:
    4180                 pAD->compare = comparedates;
     4170                pAD->pfnCompare = comparedates;
    41814171                ReSort(hwnd);
    41824172                break;
    41834173
    41844174              case IDM_SORTFIRST:
    4185                 pAD->compare = compareexts;
     4175                pAD->pfnCompare = compareexts;
    41864176                ReSort(hwnd);
    41874177                break;
    41884178            }
    41894179            WinSetPointer(HWND_DESKTOP,hptrArrow);
    4190             DosReleaseMutexSem(pAD->ScanSem);
     4180            DosReleaseMutexSem(pAD->hmtxScan);
    41914181            WinInvalidateRect(hwnd,NULL,FALSE);
    41924182          }
     
    41954185        case IDM_FILTER:
    41964186          if(!pAD->stopflag &&
    4197              !DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN)) {
     4187             !DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN)) {
    41984188            FilterList(hwnd);
    4199             DosReleaseMutexSem(pAD->ScanSem);
     4189            DosReleaseMutexSem(pAD->hmtxScan);
    42004190          }
    42014191          break;
     
    42034193        case IDM_RESCAN:
    42044194          if(!pAD->stopflag &&
    4205              !DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN)) {
     4195             !DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN)) {
    42064196
    42074197            CHAR tempflags[26];
    42084198
    4209             memcpy(tempflags,pAD->drvsflags,sizeof(tempflags));
     4199            memcpy(tempflags,pAD->abDrvFlags,sizeof(tempflags));
    42104200            if(!WinDlgBox(HWND_DESKTOP,hwnd,AFDrvsWndProc,FM3ModHandle,
    42114201                          DRVS_FRAME,(PVOID)pAD)) {
    4212               memcpy(pAD->drvsflags,tempflags,sizeof(tempflags));
    4213               *pAD->findpath = 0;
    4214               DosReleaseMutexSem(pAD->ScanSem);
     4202              memcpy(pAD->abDrvFlags,tempflags,sizeof(tempflags));
     4203              *pAD->szFindPath = 0;
     4204              DosReleaseMutexSem(pAD->hmtxScan);
    42154205              break;
    42164206            }
     
    42224212            pAD->cursored = 1;
    42234213            pAD->selected = 0;
    4224             pAD->ulSelectedKB = 0;
    4225             pAD->ulSelectedBytes = 0;
     4214            pAD->ullSelectedBytes = 0;
    42264215            pAD->maxx = pAD->horzscroll = 0;
    42274216            FreeAllFilesList(hwnd);
    42284217            pAD->stopflag = 0;
    4229             if(_beginthread(FindAll,NULL,524288,(PVOID)hwnd) != -1) {
    4230               DosReleaseMutexSem(pAD->ScanSem);
     4218            if(_beginthread(FindAllThread,NULL,524288,(PVOID)hwnd) != -1) {
     4219              DosReleaseMutexSem(pAD->hmtxScan);
    42314220              DosSleep(100);
    42324221              WinInvalidateRect(hwnd,NULL,FALSE);
     
    42374226              DosBeep(250,100);
    42384227              WinDestroyWindow(WinQueryWindow(hwnd,QW_PARENT));
    4239               DosReleaseMutexSem(pAD->ScanSem);
     4228              DosReleaseMutexSem(pAD->hmtxScan);
    42404229            }
    42414230          }
     
    42764265        case IDM_OPENDEFAULT:
    42774266          if(!pAD->stopflag &&
    4278              !DosRequestMutexSem(pAD->ScanSem,SEM_IMMEDIATE_RETURN)) {
     4267             !DosRequestMutexSem(pAD->hmtxScan,SEM_IMMEDIATE_RETURN)) {
    42794268            switch(SHORT1FROMMP(mp1)) {
    42804269              case IDM_SELECTALL:
     
    43964385                break;
    43974386            }
    4398             DosReleaseMutexSem(pAD->ScanSem);
     4387            DosReleaseMutexSem(pAD->hmtxScan);
    43994388          }
    44004389          else if(SHORT1FROMMP(mp1) == IDM_COLLECTOR) {
     
    44344423      if(pAD) {
    44354424        pAD->stopflag = 1;
    4436         if(pAD->ScanSem) {
    4437           DosRequestMutexSem(pAD->ScanSem,15000L);
    4438           DosCloseMutexSem(pAD->ScanSem);
     4425        if(pAD->hmtxScan) {
     4426          DosRequestMutexSem(pAD->hmtxScan,15000L);
     4427          DosCloseMutexSem(pAD->hmtxScan);
    44394428        }
    44404429        if(pAD->hwndPopup)
     
    44804469                  CHAR *pszStartPath)   // pathname or NULL
    44814470{
    4482 
    44834471  HWND          hwndFrame = (HWND)0,hwndClient;
    44844472  ULONG         FrameFlags = FCF_TITLEBAR    | FCF_SYSMENU     |
     
    45014489  if(hwndFrame) {
    45024490    static CHAR      *pszDir;
    4503     if(standalone) {
    4504       if(!PostMsg(WinWindowFromID(hwndFrame,FID_CLIENT),
    4505                   UM_SETUP4,
    4506                   MPVOID,
    4507                   MPVOID)) {
     4491    if (standalone)
     4492    {
     4493      if (!PostMsg(WinWindowFromID(hwndFrame,FID_CLIENT),
     4494                   UM_SETUP4,
     4495                   MPVOID,
     4496                   MPVOID))
     4497      {
    45084498        PostMsg((HWND)0,
    45094499                WM_QUIT,
     
    45134503      }
    45144504    }
    4515     if (pszStartPath) {
     4505    if (pszStartPath)
     4506    {
    45164507      // Needs to be static for other thread
    45174508      if (!pszDir)
Note: See TracChangeset for help on using the changeset viewer.