Changeset 162 for trunk/dll/datamin.c


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

Use ULONGLONG and CommaFmtULL

File:
1 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));
Note: See TracChangeset for help on using the changeset viewer.