Changeset 156 for trunk/dll/arccnrs.c
- Timestamp:
- May 26, 2005, 4:18:35 AM (20 years ago)
- File:
-
- 1 edited
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);
Note:
See TracChangeset
for help on using the changeset viewer.