Changeset 156
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/arccnrs.c
r130 r156 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 11 Jun 02 SHL Ensure archive name not garbage … … 13 13 01 Aug 04 SHL Rework lstrip/rstrip usage 14 14 23 May 05 SHL Use QWL_USER 15 25 May 05 SHL Rename comnam to szCommonName and fix typo 16 25 May 05 SHL Use ULONGLONG and CommaFmtULL 15 17 16 18 ***********************************************************************/ … … 20 22 #define INCL_WIN 21 23 #define INCL_GPI 22 24 #define INCL_LONGLONG 23 25 #include <os2.h> 26 24 27 #include <stdarg.h> 25 28 #include <stdio.h> … … 31 34 #include <share.h> 32 35 #include <limits.h> 36 33 37 #include "fm3dll.h" 34 38 #include "fm3dlg.h" … … 263 267 264 268 265 INT FillArcCnr (HWND hwndCnr,CHAR *arcname,ARC_TYPE **arcinfo,266 ULONG *totalbytes)269 static INT FillArcCnr (HWND hwndCnr,CHAR *arcname,ARC_TYPE **arcinfo, 270 ULONGLONG *pullTotalBytes) 267 271 { 268 272 … … 300 304 gotstart = gotend = FALSE; 301 305 lastpai = NULL; 302 * totalbytes = 0L;306 *pullTotalBytes = 0; 303 307 if(info && info->list) { 304 308 WinSendMsg(hwndCnr, … … 555 559 MPFROMP(pai), 556 560 MPFROMP(&ri))) 557 * totalbytes += pai->cbFile;561 *pullTotalBytes += pai->cbFile; 558 562 if(!lastpai) 559 563 lastpai = pai; … … 1276 1280 dcd->hwndObject = hwnd; // pass back hwnd 1277 1281 if(ParentIsDesktop(hwnd,dcd->hwndParent)) 1278 DosSleep(250 L); // Avoid race?1282 DosSleep(250); // Avoid race? 1279 1283 } 1280 1284 else … … 1292 1296 WinSetWindowText(dcd->hwndFrame,"AV/2"); 1293 1297 WinSetWindowText(WinWindowFromID(dcd->hwndFrame,FID_TITLEBAR),dcd->arcname); 1294 dcd-> totalbytes = dcd->totalfiles =1298 dcd->ullTotalBytes = dcd->totalfiles = 1295 1299 dcd->selectedfiles = dcd->selectedbytes = 0; 1296 1300 WinSetDlgItemText(dcd->hwndClient,DIR_TOTALS,"0"); … … 1299 1303 dcd->arcname, 1300 1304 &dcd->info, 1301 &dcd-> totalbytes);1305 &dcd->ullTotalBytes); 1302 1306 if(!dcd->totalfiles) 1303 1307 PostMsg(dcd->hwndCnr, … … 1862 1866 (li->type == IDM_EDITTEXT && *editor) || 1863 1867 (li->type == IDM_EDITBINARY && *bined)) { 1864 DosSleep(100 L);1868 DosSleep(100); 1865 1869 ExecOnList(hwnd,((li->type == IDM_VIEWTEXT) ? viewer : 1866 1870 (li->type == IDM_VIEWBINARY) ? binview : … … 2032 2036 case '\n': 2033 2037 dcd->lasttime = 0; 2034 *dcd-> comnam= 0;2038 *dcd->szCommonName = 0; 2035 2039 break; 2036 2040 default: 2037 2041 thistime = WinQueryMsgTime(WinQueryAnchorBlock(hwnd)); 2038 2042 if(thistime > dcd->lasttime + 1250) 2039 *dcd-> comnam= 0;2043 *dcd->szCommonName = 0; 2040 2044 dcd->lasttime = thistime; 2041 if(SHORT1FROMMP(mp2) == ' ' && ! dcd->comnam)2045 if(SHORT1FROMMP(mp2) == ' ' && !*dcd->szCommonName) 2042 2046 break; 2043 2047 KbdRetry: 2044 len = strlen(dcd-> comnam);2048 len = strlen(dcd->szCommonName); 2045 2049 if(len >= CCHMAXPATH - 1) { 2046 *dcd-> comnam= 0;2050 *dcd->szCommonName = 0; 2047 2051 len = 0; 2048 2052 } 2049 dcd-> comnam[len] = toupper(SHORT1FROMMP(mp2));2050 dcd-> comnam[len + 1] = 0;2053 dcd->szCommonName[len] = toupper(SHORT1FROMMP(mp2)); 2054 dcd->szCommonName[len + 1] = 0; 2051 2055 memset(&srch,0,sizeof(SEARCHSTRING)); 2052 2056 srch.cb = (ULONG)sizeof(SEARCHSTRING); 2053 srch.pszSearch = (PSZ)dcd->comnam;2057 srch.pszSearch = dcd->szCommonName; 2054 2058 srch.fsPrefix = TRUE; 2055 2059 srch.fsCaseSensitive = FALSE; … … 2064 2068 2065 2069 /* make found item current item */ 2066 if(!stricmp(pci->pszFileName,dcd-> comnam))2070 if(!stricmp(pci->pszFileName,dcd->szCommonName)) 2067 2071 attrib |= CRA_SELECTED; 2068 2072 WinSendMsg(hwnd, … … 2076 2080 else { 2077 2081 if(SHORT1FROMMP(mp2) == ' ') { 2078 dcd-> comnam[len] = 0;2082 dcd->szCommonName[len] = 0; 2079 2083 break; 2080 2084 } 2081 *dcd-> comnam= 0;2085 *dcd->szCommonName = 0; 2082 2086 dcd->lasttime = 0; 2083 2087 if(len) // retry as first letter if no match … … 2185 2189 2186 2190 CNRINFO cnri; 2187 CHAR s[CCHMAXPATH * 2],tb[81],tf[81] ,*tbk;2191 CHAR s[CCHMAXPATH * 2],tb[81],tf[81]; 2188 2192 PARCITEM pci; 2189 2193 … … 2203 2207 dcd->totalfiles = cnri.cRecords; 2204 2208 commafmt(tf,sizeof(tf),dcd->selectedfiles); 2205 *tb = 0; 2206 if(dcd->totalbytes) { 2207 if(dcd->selectedbytes > 1024) { 2208 tbk = "k"; 2209 commafmt(tb,sizeof(tb),dcd->selectedbytes / 1024L); 2210 } 2211 else { 2212 tbk = "b"; 2213 commafmt(tb,sizeof(tb),dcd->selectedbytes); 2214 } 2215 } 2216 sprintf(s,"%s%s%s%s",tf,(*tb) ? " / " : NullStr,tb, 2217 (*tb) ? tbk : NullStr); 2209 if (dcd->ullTotalBytes) 2210 CommaFmtULL(tb,sizeof(tb),dcd->selectedbytes,'K'); 2211 else 2212 *tb = 0; 2213 sprintf(s,"%s%s%s", 2214 tf, 2215 *tb ? " / " : NullStr, 2216 tb); 2218 2217 WinSetDlgItemText(dcd->hwndClient, 2219 2218 DIR_SELECTED, 2220 2219 s); 2221 2220 commafmt(tf,sizeof(tf),dcd->totalfiles); 2222 *tb = 0; 2223 if(dcd->totalbytes) { 2224 if(dcd->totalbytes > 1024) { 2225 tbk = "k"; 2226 commafmt(tb,sizeof(tb),dcd->totalbytes / 1024L); 2227 } 2228 else { 2229 tbk = "b"; 2230 commafmt(tb,sizeof(tb),dcd->totalbytes); 2231 } 2232 } 2233 sprintf(s,"%s%s%s%s",tf,(*tb) ? " / " : NullStr,tb, 2234 (*tb) ? tbk : NullStr); 2221 if (dcd->ullTotalBytes) 2222 CommaFmtULL(tb,sizeof(tb),dcd->ullTotalBytes,'K'); 2223 else 2224 *tb = 0; 2225 sprintf(s,"%s%s%s", 2226 tf, 2227 *tb ? " / " : NullStr, 2228 tb); 2235 2229 WinSetDlgItemText(dcd->hwndClient, 2236 2230 DIR_TOTALS, 2237 2231 s); 2238 2232 if(hwndStatus && 2239 dcd->hwndFrame == WinQueryActiveWindow(dcd->hwndParent)) { 2240 sprintf(s," [%s%s%s%s]%s%s%s %s",tf,(*tb) ? " / " : NullStr, 2241 tb,(*tb) ? tbk : NullStr, 2233 dcd->hwndFrame == WinQueryActiveWindow(dcd->hwndParent)) 2234 { 2235 sprintf(s," [%s%s%s]%s%s%s %s", 2236 tf, 2237 *tb ? " / " : NullStr, 2238 tb, 2242 2239 (*dcd->mask.szMask) ? " (" : NullStr, 2243 2240 (*dcd->mask.szMask) ? dcd->mask.szMask : NullStr, … … 2251 2248 if(pci && (INT)pci != -1) { 2252 2249 if(fSplitStatus && hwndStatus2) { 2253 *tb = 0; 2254 if(dcd->totalbytes) 2255 commafmt(tb,sizeof(tb),pci->cbFile); 2256 sprintf(s,"%s%s%s%s",(*tb) ? " " : NullStr,tb, 2257 (*tb) ? "b " : NullStr, 2250 if (dcd->ullTotalBytes) 2251 CommaFmtULL(tb,sizeof(tb),pci->cbFile,' '); 2252 else 2253 *tb = 0; 2254 sprintf(s,"%s%s%s%s", 2255 *tb ? " " : NullStr, 2256 tb, 2257 *tb ? " " : NullStr, 2258 2258 pci->szFileName); 2259 2259 WinSetWindowText(hwndStatus2,s); … … 2292 2292 ULONG z,was; 2293 2293 2294 rc = DosCreateDir(dcd->workdir,0 L);2294 rc = DosCreateDir(dcd->workdir,0); 2295 2295 if(rc) { 2296 2296 if(rc == ERROR_ACCESS_DENIED) { … … 2303 2303 was++; 2304 2304 sprintf(p,"%03x"); 2305 rc = DosCreateDir(dcd->workdir,0 L);2305 rc = DosCreateDir(dcd->workdir,0); 2306 2306 if(!rc || rc != ERROR_ACCESS_DENIED) 2307 2307 break; … … 2756 2756 2757 2757 case IDM_RESCAN: 2758 dcd-> totalbytes = dcd->totalfiles =2758 dcd->ullTotalBytes = dcd->totalfiles = 2759 2759 dcd->selectedfiles = dcd->selectedbytes = 0; 2760 2760 WinSetDlgItemText(dcd->hwndClient,DIR_TOTALS,"0"); … … 2763 2763 dcd->arcname, 2764 2764 &dcd->info, 2765 &dcd-> totalbytes);2765 &dcd->ullTotalBytes); 2766 2766 PostMsg(dcd->hwndCnr, 2767 2767 UM_RESCAN, … … 3346 3346 PNOTIFYRECORDEMPHASIS pre = mp2; 3347 3347 PARCITEM pci; 3348 CHAR s[CCHMAXPATHCOMP + 91],tf[81],tb[81] ,*tbk;3348 CHAR s[CCHMAXPATHCOMP + 91],tf[81],tb[81]; 3349 3349 3350 3350 pci = (PARCITEM)((pre) ? pre->pRecord : NULL); … … 3368 3368 } 3369 3369 commafmt(tf,sizeof(tf),dcd->selectedfiles); 3370 *tb = 0; 3371 if(dcd->totalbytes) { 3372 if(dcd->selectedbytes > 1024) { 3373 tbk = "k"; 3374 commafmt(tb,sizeof(tb),dcd->selectedbytes / 1024L); 3375 } 3376 else { 3377 tbk = "b"; 3378 commafmt(tb,sizeof(tb),dcd->selectedbytes); 3379 } 3380 } 3381 sprintf(s,"%s%s%s%s",tf,(*tb) ? " / " : NullStr,tb, 3382 (*tb) ? tbk : NullStr); 3370 if (dcd->ullTotalBytes) 3371 CommaFmtULL(tb,sizeof(tb),dcd->selectedbytes,' '); 3372 else 3373 *tb = 0; 3374 sprintf(s,"%s%s%s", 3375 tf, 3376 *tb ? " / " : NullStr, 3377 tb); 3383 3378 WinSetDlgItemText(dcd->hwndClient,DIR_SELECTED,s); 3384 3379 } … … 3389 3384 if(pci->rc.flRecordAttr & CRA_CURSORED) { 3390 3385 if(fSplitStatus && hwndStatus2) { 3391 *tb = 0; 3392 if(dcd->totalbytes) 3393 commafmt(tb,sizeof(tb),pci->cbFile); 3394 sprintf(s,"%s%s%s%s",(*tb) ? " " : NullStr,tb, 3395 (*tb) ? "b " : NullStr, 3386 if (dcd->ullTotalBytes) 3387 CommaFmtULL(tb,sizeof(tb),pci->cbFile,' '); 3388 else 3389 *tb = 0; 3390 sprintf(s,"%s%s%s%s", 3391 *tb ? " " : NullStr, 3392 tb, 3393 *tb ? " " : NullStr, 3396 3394 pci->szFileName); 3397 3395 WinSetWindowText(hwndStatus2,s); -
trunk/dll/treecnr.c
r70 r156 7 7 8 8 Copyright (c) 1993-98 M. Kimes 9 Copyright (c) 2001, 2003 Steven H.Levine 10 11 Revisions 16 Oct 02 SHL - Handle large partitions 12 11 Jun 03 SHL - Add JFS and FAT32 support 9 Copyright (c) 2001, 2005 Steven H. Levine 10 11 16 Oct 02 SHL Handle large partitions 12 11 Jun 03 SHL Add JFS and FAT32 support 13 25 May 05 SHL Rename comnam to szCommonName and fix typo 14 25 May 05 SHL Use ULONGLONG and CommaFmtULL 13 15 14 16 ***********************************************************************/ … … 18 20 #define INCL_GPI 19 21 #define INCL_DOSERRORS 20 22 #define INCL_LONGLONG 21 23 #include <os2.h> 24 22 25 #include <stdarg.h> 23 26 #include <stdio.h> … … 25 28 #include <string.h> 26 29 #include <ctype.h> 30 27 31 #include "fm3dll.h" 28 32 #include "fm3dlg.h" … … 551 555 552 556 553 MRESULT EXPENTRY TreeObjWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {554 557 MRESULT EXPENTRY TreeObjWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 558 { 555 559 DIRCNRDATA *dcd; 556 560 … … 678 682 CHAR volumelabel[CCHMAXPATH]; 679 683 } volser; 680 CHAR fbytes[81];684 CHAR szBuf[81]; 681 685 CNRINFO cnri; 682 686 … … 709 713 &fsa, 710 714 sizeof(FSALLOCATE))) { 711 strcpy( fbytes," ");712 commafmt(fbytes + 2,sizeof(fbytes) - 4,713 (ULONG)(((float)fsa.cUnitAvail *714 (fsa.cSectorUnit * fsa.cbSector)) / 1024L));715 strcat( fbytes,715 strcpy(szBuf," "); 716 CommaFmtULL(szBuf + 2,sizeof(szBuf) - 4, 717 (ULONGLONG)fsa.cUnitAvail * (fsa.cSectorUnit * fsa.cbSector), 718 'K'); 719 strcat(szBuf, 716 720 GetPString(IDS_KFREETEXT)); 717 721 } 718 722 else 719 * fbytes= 0;723 *szBuf = 0; 720 724 driveserial[toupper(*pci->szFileName) - 'A'] = volser.serial; 721 725 sprintf(&s[strlen(s)], … … 723 727 toupper(*pci->szFileName), 724 728 volser.volumelabel, 725 volser.serial, fbytes);729 volser.serial,szBuf); 726 730 if(!fMoreButtons) { 727 731 if(*dcd->mask.szMask || … … 985 989 case '\n': 986 990 dcd->lasttime = 0; 987 *dcd-> comnam= 0;991 *dcd->szCommonName = 0; 988 992 break; 989 993 default: 990 994 thistime = WinQueryMsgTime(WinQueryAnchorBlock(hwnd)); 991 995 if(thistime > dcd->lasttime + 1250) 992 *dcd-> comnam= 0;996 *dcd->szCommonName = 0; 993 997 dcd->lasttime = thistime; 994 if(SHORT1FROMMP(mp2) == ' ' && ! dcd->comnam)998 if(SHORT1FROMMP(mp2) == ' ' && !*dcd->szCommonName) 995 999 break; 996 1000 KbdRetry: 997 len = strlen(dcd-> comnam);1001 len = strlen(dcd->szCommonName); 998 1002 if(len >= CCHMAXPATH - 1) { 999 *dcd-> comnam= 0;1003 *dcd->szCommonName = 0; 1000 1004 len = 0; 1001 1005 } 1002 dcd-> comnam[len] = toupper(SHORT1FROMMP(mp2));1003 dcd-> comnam[len + 1] = 0;1006 dcd->szCommonName[len] = toupper(SHORT1FROMMP(mp2)); 1007 dcd->szCommonName[len + 1] = 0; 1004 1008 memset(&srch,0,sizeof(SEARCHSTRING)); 1005 1009 srch.cb = (ULONG)sizeof(SEARCHSTRING); 1006 srch.pszSearch = (PSZ)dcd-> comnam;1010 srch.pszSearch = (PSZ)dcd->szCommonName; 1007 1011 srch.fsPrefix = TRUE; 1008 1012 srch.fsCaseSensitive = FALSE; … … 1025 1029 else { 1026 1030 if(SHORT1FROMMP(mp2) == ' ') { 1027 dcd-> comnam[len] = 0;1031 dcd->szCommonName[len] = 0; 1028 1032 break; 1029 1033 } 1030 *dcd-> comnam= 0;1034 *dcd->szCommonName = 0; 1031 1035 dcd->lasttime = 0; 1032 1036 if(len) // retry as first letter if no match … … 1073 1077 (PVOID)&amem, 1074 1078 (ULONG)sizeof(amem))) { 1075 commafmt(tpm,sizeof(tpm),amem / 1024L); 1076 strcat(tpm,"k"); 1077 } 1078 if(!Dos16MemAvail(&amem)) { 1079 commafmt(tm,sizeof(tm),amem / 1024L); 1080 strcat(tm,"k"); 1081 } 1082 commafmt(tb,sizeof(tb),ffb.cbFile / 1024L); 1079 CommaFmtULL(tpm,sizeof(tpm),amem,'K'); 1080 } 1081 if(!Dos16MemAvail(&amem)) 1082 CommaFmtULL(tm,sizeof(tm),amem,'K'); 1083 CommaFmtULL(tb,sizeof(tb),ffb.cbFile,'K'); 1083 1084 sprintf(s," %s %sk%s%s%s%s", 1084 1085 GetPString(IDS_SWAPFILETEXT),
Note:
See TracChangeset
for help on using the changeset viewer.
