Changeset 162 for trunk/dll/datamin.c
- Timestamp:
- May 26, 2005, 4:24:41 AM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/datamin.c
r136 r162 7 7 8 8 Copyright (c) 1993-98 M. Kimes 9 Copyright (c) 2001, 2005 Steven H. Levine9 Copyright (c) 2001, 2005 Steven H. Levine 10 10 11 11 14 Sep 02 SHL Handle large partitions … … 13 13 23 May 05 SHL Use QWL_USER 14 14 23 May 05 SHL Avoid delays for inaccessible drives 15 25 May 05 SHL Use ULONGLONG and CommaFmtULL 15 16 16 17 ***********************************************************************/ … … 20 21 #define INCL_WIN 21 22 #define INCL_GPI 22 23 #define INCL_LONGLONG 23 24 #include <os2.h> 25 24 26 #include <stdio.h> 25 27 #include <stdlib.h> … … 724 726 CHAR s[90]; 725 727 CHAR szFreeQty[38]; 726 CHAR *pszFreeUM;727 728 CHAR szDrvLtr[] = " :"; 728 729 CHAR *pszFSystem; 729 float fltFreeQty;730 ULONGLONG ullFreeQty; 730 731 ULONG ulPercentFree; 731 732 ULONG wasx; … … 748 749 if (!pDM || pDM -> qfsi_rc) 749 750 { 750 fltFreeQty = 0; 751 pszFreeUM = ""; 751 ullFreeQty = 0; 752 752 ulPercentFree = 0; 753 753 } 754 754 else 755 755 { 756 fltFreeQty = (float)pDM -> fsa.cUnitAvail *756 ullFreeQty = (ULONGLONG)pDM -> fsa.cUnitAvail * 757 757 (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 else769 pszFreeUM = "b";770 758 771 759 ulPercentFree = (pDM -> fsa.cUnit && pDM -> fsa.cUnitAvail) ? … … 774 762 } 775 763 776 commafmt(szFreeQty, sizeof(szFreeQty), (ULONG)fltFreeQty);764 CommaFmtULL(szFreeQty, sizeof(szFreeQty), ullFreeQty,' '); 777 765 *szDrvLtr = (CHAR)(id - MINI_DRIVEA) + 'A'; 778 766 … … 786 774 } 787 775 sprintf(s, 788 " %s %s %s(%lu%%) %s [%s]",776 " %s %s (%lu%%) %s [%s]", 789 777 szDrvLtr, 790 778 szFreeQty, 791 pszFreeUM,792 779 ulPercentFree, 793 780 GetPString(IDS_FREETEXT), … … 978 965 FILEFINDBUF3 ffb; 979 966 ULONG nm = 1L; 980 float fltFreeQty;967 ULONGLONG ullFreeQty; 981 968 HDIR hdir = HDIR_CREATE; 982 969 FSALLOCATE fsa; … … 991 978 priority_bumped(); 992 979 DosFindClose(hdir); 993 *szFileQty = *szFreeQty = 0;994 980 DosError(FERR_DISABLEHARDERR); 995 981 if (!DosQueryFSInfo(toupper(*SwapperDat) - '@', FSIL_ALLOC, 996 982 &fsa, sizeof(FSALLOCATE))) 997 983 { 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,' '); 1024 986 } 1025 987 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", 1031 992 GetPString(IDS_SWAPTITLETEXT), 1032 993 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); 1040 997 } 1041 998 } … … 1045 1002 case UM_SETUP3: // Memory utilization 1046 1003 { 1047 CHAR s[134], tm[38], szQty[38] , *pszUM, *tmk;1004 CHAR s[134], tm[38], szQty[38]; 1048 1005 ULONG amem = 0; 1049 1006 … … 1051 1008 (PVOID) & amem, (ULONG) sizeof(amem))) 1052 1009 { 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'); 1064 1013 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", 1088 1016 GetPString(IDS_MEMTITLETEXT), 1089 1017 szQty, 1090 (*szQty) ? pszUM : NullStr,1091 1018 (*szQty) ? "/" : NullStr, 1092 tm, 1093 tmk); 1019 tm); 1094 1020 WinSetDlgItemText(hwnd, 1095 1021 MINI_MEM, … … 1129 1055 ppi = (PPROCESSINFO) (ppi -> ptiFirst + ppi -> usThreadCount); 1130 1056 } 1131 *szQty = *tm = 0;1132 1057 commafmt(szQty, sizeof(szQty), numprocs); 1133 1058 commafmt(tm, sizeof(tm), numthreads); … … 1149 1074 else 1150 1075 { 1151 *szQty = 0;1152 1076 commafmt(szQty, sizeof(szQty), 1153 1077 WinQuerySwitchList(WinQueryAnchorBlock(hwnd), (PSWBLOCK) 0, 0));
Note:
See TracChangeset
for help on using the changeset viewer.