Changeset 155


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

Use ULONGLONG and CommaFmtULL
Rework for FillInRecordFromFFB

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/dll/collect.c

    r145 r155  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2003, 2005 Steven H.Levine
     9  Copyright (c) 2003, 2005 Steven H. Levine
    1010
    1111  15 Oct 02 MK Baseline
     
    1414  23 May 05 SHL Use QWL_USER
    1515  24 May 05 SHL Rework Win_Error usage
     16  25 May 05 SHL Use ULONGLONG and CommaFmtULL
     17  25 May 05 SHL Rework for FillInRecordFromFFB
    1618
    1719***********************************************************************/
     
    2123#define INCL_GPI
    2224#define INCL_DOSERRORS
    23 
     25#define INCL_LONGLONG
    2426#include <os2.h>
     27
    2528#include <stdarg.h>
    2629#include <stdio.h>
     
    3134#include <share.h>
    3235#include <limits.h>
     36
    3337#include "fm3dll.h"
    3438#include "fm3dlg.h"
     
    5357MRESULT EXPENTRY CollectorTextProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
    5458{
     59  LONGLONG ullBytes;
     60
    5561  static BOOL   emphasized      = FALSE;
    5662  static HWND   hwndButtonPopup = (HWND)0;
     
    588594        RECORDINSERT ri;
    589595        ULONG        ulMaxFiles;
    590         ULONG        totalbytes;
     596        ULONGLONG    ullTotalBytes;
    591597        CHAR         fullname[CCHMAXPATH];
    592598
     
    629635                priority_normal();
    630636                *fb4.achName = 0;
    631                 totalbytes = FillInRecordFromFFB(dcd->hwndCnr,pci,
    632                                                  fullname,
    633                                                  &fb4,FALSE,
    634                                                  dcd);
    635                 if (totalbytes != -1) {
    636                   dcd->totalbytes += totalbytes;
    637                   if (dcd->totalbytes == -1)
    638                     dcd->totalbytes--;          // fixme for real someday
    639                 }
     637                ullTotalBytes = FillInRecordFromFFB(dcd->hwndCnr,
     638                                                    pci,
     639                                                    fullname,
     640                                                    &fb4,
     641                                                    FALSE,
     642                                                    dcd);
     643                dcd->ullTotalBytes += ullTotalBytes;
    640644                pciP = pci;
    641645                pci = (PCNRITEM)pci->rc.preccNextRecord;
     
    733737                               MPFROMLONG(EXTRA_RECORD_BYTES),
    734738                               MPFROMLONG(1L));
    735               if(pci) {
    736                 dcd->totalbytes += FillInRecordFromFSA(dcd->hwndCnr,pci,
     739              if (pci)
     740              {
     741                dcd->ullTotalBytes += FillInRecordFromFSA(dcd->hwndCnr,pci,
    737742                                                       fullname,
    738743                                                       &fs4,FALSE,dcd);
     
    954959
    955960
    956 MRESULT EXPENTRY CollectorCnrWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    957 
     961MRESULT EXPENTRY CollectorCnrWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     962{
    958963  DIRCNRDATA *dcd = WinQueryWindowPtr(hwnd,QWL_USER);
    959964  INT         tempsortFlags;
     
    10001005          case '\n':
    10011006            dcd->lasttime = 0;
    1002             *dcd->comnam = 0;
     1007            *dcd->szCommonName = 0;
    10031008            break;
    10041009          default:
    10051010            thistime = WinQueryMsgTime(WinQueryAnchorBlock(hwnd));
    10061011            if(thistime > dcd->lasttime + 1250)
    1007               *dcd->comnam = 0;
     1012              *dcd->szCommonName = 0;
    10081013            dcd->lasttime = thistime;
    1009             if(SHORT1FROMMP(mp2) == ' ' && !dcd->comnam)
     1014            if(SHORT1FROMMP(mp2) == ' ' && !dcd->szCommonName)
    10101015              break;
    10111016KbdRetry:
    1012             len = strlen(dcd->comnam);
     1017            len = strlen(dcd->szCommonName);
    10131018            if(len >= CCHMAXPATH - 1) {
    1014               *dcd->comnam = 0;
     1019              *dcd->szCommonName = 0;
    10151020              len = 0;
    10161021            }
    1017             dcd->comnam[len] = toupper(SHORT1FROMMP(mp2));
    1018             dcd->comnam[len + 1] = 0;
     1022            dcd->szCommonName[len] = toupper(SHORT1FROMMP(mp2));
     1023            dcd->szCommonName[len + 1] = 0;
    10191024            memset(&srch,0,sizeof(SEARCHSTRING));
    10201025            srch.cb = (ULONG)sizeof(SEARCHSTRING);
    1021             srch.pszSearch = (PSZ)dcd->comnam;
     1026            srch.pszSearch = (PSZ)dcd->szCommonName;
    10221027            srch.fsPrefix = TRUE;
    10231028            srch.fsCaseSensitive = FALSE;
     
    10301035
    10311036              /* make found item current item */
    1032               if(!stricmp(pci->pszFileName,dcd->comnam))
     1037              if(!stricmp(pci->pszFileName,dcd->szCommonName))
    10331038                attrib |= CRA_SELECTED;
    10341039              WinSendMsg(hwnd,CM_SETRECORDEMPHASIS,MPFROMP(pci),
     
    10401045            else {
    10411046              if(SHORT1FROMMP(mp2) == ' ') {
    1042                 dcd->comnam[len] = 0;
     1047                dcd->szCommonName[len] = 0;
    10431048                break;
    10441049              }
    1045               *dcd->comnam = 0;
     1050              *dcd->szCommonName = 0;
    10461051              dcd->lasttime = 0;
    10471052              if(len)           // retry as first letter if no match
     
    11661171        dcd->totalfiles = cnri.cRecords;
    11671172        commafmt(tf,sizeof(tf),dcd->totalfiles);
    1168         if(dcd->totalbytes > 1024)
    1169           commafmt(tb,sizeof(tb),dcd->totalbytes / 1024L);
    1170         else
    1171           commafmt(tb,sizeof(tb),dcd->totalbytes);
    1172         sprintf(s,"%s / %s%s",tf,tb,(dcd->totalbytes > 1024) ? "k" : "b");
     1173        CommaFmtULL(tb,sizeof(tb),dcd->ullTotalBytes,' ');
     1174        sprintf(s,"%s / %s",tf,tb);
    11731175        WinSetDlgItemText(dcd->hwndClient,DIR_TOTALS,s);
     1176
    11741177        commafmt(tf,sizeof(tf),dcd->selectedfiles);
    1175         if(dcd->selectedbytes > 1024)
    1176           commafmt(tb,sizeof(tb),dcd->selectedbytes / 1024L);
    1177         else
    1178           commafmt(tb,sizeof(tb),dcd->selectedbytes);
    1179         sprintf(s,"%s / %s%s",tf,tb,(dcd->selectedbytes > 1024) ? "k" : "b");
     1178        CommaFmtULL(tb,sizeof(tb),dcd->selectedbytes,' ');
     1179        sprintf(s,"%s / %s",tf,tb);
    11801180        WinSetDlgItemText(dcd->hwndClient,DIR_SELECTED,s);
     1181
    11811182        if(hwndStatus &&
    11821183           dcd->hwndFrame == WinQueryActiveWindow(dcd->hwndParent)) {
     
    12221223                  p = pci->pszFileName;
    12231224              }
    1224               commafmt(tb,sizeof(tb),pci->cbFile + pci->easize);
     1225              CommaFmtULL(tb,sizeof(tb),pci->cbFile + pci->easize,' ');
    12251226              if(!fMoreButtons)
    1226                 sprintf(s," %sb  %04u/%02u/%02u %02u:%02u:%02u  [%s]  %s",
     1227              {
     1228                sprintf(s," %s  %04u/%02u/%02u %02u:%02u:%02u  [%s]  %s",
    12271229                        tb,pci->date.year,pci->date.month,
    12281230                        pci->date.day,pci->time.hours,pci->time.minutes,
    12291231                        pci->time.seconds,pci->pszDispAttr,p);
    1230               else {
    1231                 *tf = 0;
     1232              }
     1233              else
     1234              {
    12321235                if(pci->cbFile + pci->easize > 1024)
    1233                   commafmt(tf,sizeof(tf),
    1234                            (pci->cbFile + pci->easize) / 1024);
     1236                  CommaFmtULL(tf,sizeof(tf),pci->cbFile + pci->easize, 'K');
     1237                else
     1238                  *tf = 0;
    12351239                sprintf(s,GetPString(IDS_STATUSSIZETEXT),
    12361240                        tb,
    1237                         (*tf) ? " (" : NullStr,
     1241                        *tf ? " (" : NullStr,
    12381242                        tf,
    1239                         (*tf) ? "k)" : NullStr);
     1243                        *tf ? ")" : NullStr);
    12401244              }
    12411245              WinSetWindowText(hwndStatus2,s);
     
    17551759            dcd->suspendview = 1;
    17561760            RemoveAll(hwnd,
    1757                       &dcd->totalbytes,
     1761                      &dcd->ullTotalBytes,
    17581762                      &dcd->totalfiles);
    17591763            dcd->suspendview = 0;
     
    17781782                           MPVOID,
    17791783                           MPFROM2SHORT(0,CMA_FREE | CMA_INVALIDATE));
    1780                 dcd->totalbytes = dcd->selectedbytes = dcd->selectedfiles =
     1784                dcd->ullTotalBytes = dcd->selectedbytes = dcd->selectedfiles =
    17811785                  dcd->totalfiles = 0L;
    17821786                PostMsg(hwnd,
     
    25692573                  dcd->selectedfiles--;
    25702574                }
    2571                 if(!dcd->suspendview) {
     2575                if(!dcd->suspendview)
     2576                {
    25722577                  commafmt(tf,sizeof(tf),dcd->selectedfiles);
    2573                   if(dcd->selectedbytes > 1024)
    2574                     commafmt(tb,sizeof(tb),dcd->selectedbytes / 1024L);
    2575                   else
    2576                     commafmt(tb,sizeof(tb),dcd->selectedbytes);
    2577                   sprintf(s,"%s / %s%s",tf,tb,
    2578                           (dcd->selectedbytes > 1024) ? "k" : "b");
     2578                  CommaFmtULL(tb,sizeof(tb),dcd->selectedbytes,' ');
     2579                  sprintf(s,"%s / %s",tf,tb);
    25792580                  WinSetDlgItemText(dcd->hwndClient,DIR_SELECTED,s);
    25802581                }
     
    25992600                          p = pci->pszFileName;
    26002601                      }
    2601                       commafmt(tb,sizeof(tb),pci->cbFile + pci->easize);
     2602                      CommaFmtULL(tb,sizeof(tb),pci->cbFile + pci->easize,' ');
    26022603                      if(!fMoreButtons)
    2603                         sprintf(s," %sb  %04u/%02u/%02u %02u:%02u:%02u  [%s]  %s",
     2604                        sprintf(s," %s  %04u/%02u/%02u %02u:%02u:%02u  [%s]  %s",
    26042605                                tb,pci->date.year,
    26052606                                pci->date.month,pci->date.day,pci->time.hours,
    26062607                                pci->time.minutes,pci->time.seconds,
    26072608                                pci->pszDispAttr,p);
    2608                       else {
    2609                         *tf = 0;
    2610                         if(pci->cbFile + pci->easize > 1024)
    2611                           commafmt(tf,sizeof(tf),
    2612                                    (pci->cbFile + pci->easize) / 1024);
     2609                      else
     2610                      {
     2611                        if (pci->cbFile + pci->easize > 1024)
     2612                          CommaFmtULL(tf,sizeof(tf),pci->cbFile + pci->easize, ' ');
     2613                        else
     2614                          *tf = 0;
    26132615                        sprintf(s,GetPString(IDS_STATUSSIZETEXT),
    26142616                                tb,
    2615                                 (*tf) ? " (" : NullStr,
     2617                                *tf ? " (" : NullStr,
    26162618                                tf,
    2617                                 (*tf) ? "k)" : NullStr);
     2619                                *tf ? ")" : NullStr);
    26182620                      }
    26192621                      WinSetWindowText(hwndStatus2,s);
     
    27782780
    27792781
    2780 HWND StartCollector (HWND hwndParent,INT flags) {
    2781 
     2782HWND StartCollector (HWND hwndParent,INT flags)
     2783{
    27822784  HWND          hwndFrame = (HWND)0,hwndClient;
    27832785  ULONG         FrameFlags = FCF_TITLEBAR   | FCF_SYSMENU     |
Note: See TracChangeset for help on using the changeset viewer.