Changeset 730 for trunk/dll/treecnr.c


Ignore:
Timestamp:
Jul 22, 2007, 7:57:09 PM (18 years ago)
Author:
Gregg Young
Message:

Preliminary work on variable sized container buffers. Removes szFileName etc. Builds fine but traps.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/treecnr.c

    r726 r730  
    155155                   CM_QUERYRECORDEMPHASIS,
    156156                   MPFROMLONG(CMA_FIRST), MPFROMSHORT(CRA_CURSORED));
    157   if (pci && (INT) pci != -1 && !stricmp(pci->szFileName, dirname)) {
     157  if (pci && (INT) pci != -1 && !stricmp(pci->pszFileName, dirname)) {
    158158    quickbail = TRUE;
    159159    goto MakeTop;                       /* skip lookup bullsh*t */
     
    170170      pciP = FindCnrRecord(hwndCnr, szDir, NULL, TRUE, FALSE, TRUE);
    171171      if (pciP && (INT) pciP != -1) {
    172         if (!stricmp(dirname, pciP->szFileName))
     172        if (!stricmp(dirname, pciP->pszFileName))
    173173          break;
    174174        if (!(pciP->rc.flRecordAttr & CRA_EXPANDED))
     
    199199                          MPVOID, MPFROM2SHORT(CMA_FIRST, CMA_ITEMORDER));
    200200        while (pciP && (INT) pciP != -1) {
    201           if (toupper(*pciP->szFileName) == toupper(*dirname))
     201          if (toupper(*pciP->pszFileName) == toupper(*dirname))
    202202            /* collapse all levels if branch is our drive */
    203203            ExpandAll(hwndCnr, FALSE, pciP);
     
    634634        sprintf(s, GetPString(IDS_NUMDRIVESTEXT), cnri.cRecords);
    635635        if (pci) {
    636           if (!(driveflags[toupper(*pci->szFileName) - 'A'] &
     636          if (!(driveflags[toupper(*pci->pszFileName) - 'A'] &
    637637                DRIVE_REMOVABLE) ||
    638               driveserial[toupper(*pci->szFileName) - 'A'] != -1) {
     638              driveserial[toupper(*pci->pszFileName) - 'A'] != -1) {
    639639            memset(&volser, 0, sizeof(volser));
    640640            DosError(FERR_DISABLEHARDERR);
    641             if (!DosQueryFSInfo(toupper(*pci->szFileName) - '@',
     641            if (!DosQueryFSInfo(toupper(*pci->pszFileName) - '@',
    642642                                FSIL_VOLSER,
    643643                                &volser,
     
    645645                dcd->hwndFrame == WinQueryActiveWindow(dcd->hwndParent)) {
    646646              DosError(FERR_DISABLEHARDERR);
    647               if (!DosQueryFSInfo(toupper(*pci->szFileName) - '@',
     647              if (!DosQueryFSInfo(toupper(*pci->pszFileName) - '@',
    648648                                  FSIL_ALLOC, &fsa, sizeof(FSALLOCATE))) {
    649649                CommaFmtULL(tb, sizeof(tb),
     
    654654              else
    655655                *szFree = 0;
    656               driveserial[toupper(*pci->szFileName) - 'A'] = volser.serial;
     656              driveserial[toupper(*pci->pszFileName) - 'A'] = volser.serial;
    657657              sprintf(&s[strlen(s)],
    658658                      GetPString(IDS_TREESTATUSSTARTTEXT),
    659                       toupper(*pci->szFileName),
     659                      toupper(*pci->pszFileName),
    660660                      volser.volumelabel, volser.serial, szFree);
    661661              if (!fMoreButtons) {
     
    663663                    (dcd->mask.attrFile != ALLATTRS ||
    664664                     ((fFilesInTree ||
    665                        (driveflags[toupper(*pci->szFileName)] &
     665                       (driveflags[toupper(*pci->pszFileName)] &
    666666                        DRIVE_INCLUDEFILES)) ?
    667667                      dcd->mask.antiattr :
     
    679679            /* find root record and strip it */
    680680            pci = FindParentRecord(dcd->hwndCnr, pci);
    681             driveserial[toupper(*pci->szFileName) - 'A'] = -1;
     681            driveserial[toupper(*pci->pszFileName) - 'A'] = -1;
    682682            UnFlesh(dcd->hwndCnr, pci);
    683683          }
     
    993993      pci = (PCNRITEM) CurrentRecord(hwnd);
    994994      if (pci && (INT) pci != -1) {
    995         if (IsRoot(pci->szFileName))
     995        if (IsRoot(pci->pszFileName))
    996996          menuHwnd = CheckMenu(&TreeMenu, TREE_POPUP);
    997997        else {
     
    10671067                         MPFROMLONG(CMA_FIRST), MPFROMSHORT(CRA_CURSORED));
    10681068        if (pci && (INT) pci != -1 && fComments &&
    1069             !(driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_SLOW))
    1070           WinSendMsg(hwndMain, UM_LOADFILE, MPFROMP(pci->szFileName), MPVOID);
     1069            !(driveflags[toupper(*pci->pszFileName) - 'A'] & DRIVE_SLOW))
     1070          WinSendMsg(hwndMain, UM_LOADFILE, MPFROMP(pci->pszFileName), MPVOID);
    10711071        else
    10721072          WinSendMsg(hwndMain, UM_LOADFILE, MPVOID, MPVOID);
     
    10811081      if (pci) {
    10821082        if (*(ULONG *) realappname == FM3UL) {
    1083           sprintf(str, "%s %s", GetPString(IDS_DTTEXT), pci->szFileName);
     1083          sprintf(str, "%s %s", GetPString(IDS_DTTEXT), pci->pszFileName);
    10841084          WinSetWindowText(dcd->hwndFrame, str);
    10851085          WinSetWindowText(WinWindowFromID(dcd->hwndFrame, FID_TITLEBAR),
     
    10881088        else
    10891089          WinSetWindowText(WinWindowFromID(dcd->hwndFrame,
    1090                                            MAIN_STATUS), pci->szFileName);
     1090                                           MAIN_STATUS), pci->pszFileName);
    10911091        if (fMoreButtons && hwndName) {
    1092           WinSetWindowText(hwndName, pci->szFileName);
     1092          WinSetWindowText(hwndName, pci->pszFileName);
    10931093          sprintf(str,
    10941094                  "%04u/%02u/%02u %02u:%02u:%02u",
     
    11121112
    11131113      if (pci)
    1114         NotifyError(pci->szFileName, (ULONG) mp2);
     1114        NotifyError(pci->pszFileName, (ULONG) mp2);
    11151115    }
    11161116    return 0;
     
    13001300              }
    13011301              if (uso != DO_LINK &&
    1302                   !(driveflags[toupper(*pci->szFileName) - 'A'] &
     1302                  !(driveflags[toupper(*pci->pszFileName) - 'A'] &
    13031303                    DRIVE_NOTWRITEABLE)) {
    13041304
     
    13061306
    13071307                if (!fQuickArcFind &&
    1308                     !(driveflags[toupper(*pci->szFileName) - 'A'] &
     1308                    !(driveflags[toupper(*pci->pszFileName) - 'A'] &
    13091309                      DRIVE_SLOW))
    1310                   info = find_type(pci->szFileName, NULL);
     1310                  info = find_type(pci->pszFileName, NULL);
    13111311                else
    1312                   info = quick_find_type(pci->szFileName, NULL);
     1312                  info = quick_find_type(pci->pszFileName, NULL);
    13131313                if (!info || ((uso == DO_MOVE && !info->move) ||
    13141314                              (uso == DO_COPY && !info->create))) {
     
    13271327            if (!pci || (INT) pci == -1)
    13281328              return MRFROM2SHORT(DOR_DROP, DO_MOVE);
    1329             if (driveflags[toupper(*pci->szFileName) - 'A'] &
     1329            if (driveflags[toupper(*pci->pszFileName) - 'A'] &
    13301330                DRIVE_NOTWRITEABLE)
    13311331              return MRFROM2SHORT(DOR_DROP, DO_LINK);
    1332             if (toupper(*pci->szFileName) < 'C')
     1332            if (toupper(*pci->pszFileName) < 'C')
    13331333              return MRFROM2SHORT(DOR_DROP, DO_COPY);
    13341334            return MRFROM2SHORT(DOR_DROP,       /* Return okay to drop */
     
    13591359            }
    13601360            if (hwndStatus2) {
    1361               WinSetWindowText(hwndStatus2, (IsRoot(pci->szFileName)) ?
     1361              WinSetWindowText(hwndStatus2, (IsRoot(pci->pszFileName)) ?
    13621362                               GetPString(IDS_DRAGROOTTEXT) :
    13631363                               (pci->attrFile & FILE_DIRECTORY) ?
     
    15231523                if (fFollowTree &&
    15241524                    !(driveflags
    1525                       [toupper(*((PCNRITEM) pre->pRecord)->szFileName) -
     1525                      [toupper(*((PCNRITEM) pre->pRecord)->pszFileName) -
    15261526                       'A'] & DRIVE_INVALID)) {
    15271527                  if (!LastDir && !ParentIsDesktop(hwnd, dcd->hwndParent))
     
    15471547                  WinSetWindowText(WinWindowFromID(dcd->hwndFrame,
    15481548                                                   MAIN_STATUS),
    1549                                    ((PCNRITEM) (pre->pRecord))->szFileName);
     1549                                   ((PCNRITEM) (pre->pRecord))->pszFileName);
    15501550              }
    15511551            }
     
    15701570            if (!(pci->attrFile & FILE_DIRECTORY))
    15711571              dcd->hwndLastMenu = CheckMenu(&FileMenu, FILE_POPUP);
    1572             else if (!IsRoot(pci->szFileName))
     1572            else if (!IsRoot(pci->pszFileName))
    15731573              dcd->hwndLastMenu = CheckMenu(&DirMenu, DIR_POPUP);
    15741574            else
     
    16201620
    16211621          if (pci && (INT) pci != -1 && !(pci->flags & RECFLAGS_ENV)) {
    1622             if (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_REMOVABLE) {
     1622            if (driveflags[toupper(*pci->pszFileName) - 'A'] & DRIVE_REMOVABLE) {
    16231623
    16241624              struct
     
    16321632              memset(&volser, 0, sizeof(volser));
    16331633              DosError(FERR_DISABLEHARDERR);
    1634               if (!DosQueryFSInfo(toupper(*pci->szFileName) - '@',
     1634              if (!DosQueryFSInfo(toupper(*pci->pszFileName) - '@',
    16351635                                  FSIL_VOLSER, &volser,
    16361636                                  (ULONG) sizeof(volser))) {
    16371637                if (SHORT2FROMMP(mp1) == CN_COLLAPSETREE &&
    16381638                    !volser.serial ||
    1639                     driveserial[toupper(*pci->szFileName) - 'A'] !=
     1639                    driveserial[toupper(*pci->pszFileName) - 'A'] !=
    16401640                    volser.serial)
    16411641                  UnFlesh(hwnd, pci);
    16421642                if (SHORT2FROMMP(mp1) != CN_COLLAPSETREE ||
    16431643                    (!volser.serial ||
    1644                      driveserial[toupper(*pci->szFileName) - 'A'] !=
     1644                     driveserial[toupper(*pci->pszFileName) - 'A'] !=
    16451645                     volser.serial)) {
    16461646                  if (Flesh(hwnd, pci) &&
     
    16491649                    PostMsg(hwnd, UM_TOPDIR, MPFROMP(pci), MPVOID);
    16501650                }
    1651                 driveserial[toupper(*pci->szFileName) - 'A'] = volser.serial;
     1651                driveserial[toupper(*pci->pszFileName) - 'A'] = volser.serial;
    16521652              }
    16531653              else {
    1654                 driveserial[toupper(*pci->szFileName) - 'A'] = -1;
     1654                driveserial[toupper(*pci->pszFileName) - 'A'] = -1;
    16551655                UnFlesh(hwnd, pci);
    16561656                PostMsg(hwnd, UM_RESCAN, MPVOID, MPVOID);
     
    17211721          (INT) pci != -1 &&
    17221722          !(pci->rc.flRecordAttr & CRA_INUSE) &&
    1723           !(pci->flags & RECFLAGS_ENV) && IsFullName(pci->szFileName)) {
    1724         if (driveflags[toupper(*pci->szFileName) - 'A'] & DRIVE_INVALID) {
     1723          !(pci->flags & RECFLAGS_ENV) && IsFullName(pci->pszFileName)) {
     1724        if (driveflags[toupper(*pci->pszFileName) - 'A'] & DRIVE_INVALID) {
    17251725          DosBeep(50, 100);
    17261726          if (hwndStatus)
     
    17301730        DosError(FERR_DISABLEHARDERR);
    17311731        if (!DosQCurDisk(&ulDriveNum, &ulDriveMap)) {
    1732           if (!(ulDriveMap & 1L << (toupper(*pci->szFileName) - 'A'))) {
     1732          if (!(ulDriveMap & 1L << (toupper(*pci->pszFileName) - 'A'))) {
    17331733            pciL = pciP = pci;
    17341734            for (;;) {
     
    17511751          }
    17521752        }
    1753         if (driveflags[toupper(*pci->szFileName) - 'A'] &
     1753        if (driveflags[toupper(*pci->pszFileName) - 'A'] &
    17541754            (DRIVE_REMOVABLE | DRIVE_NOPRESCAN)) {
    17551755
     
    17751775            }
    17761776          }
    1777           if ((driveflags[toupper(*pci->szFileName) - 'A'] &
     1777          if ((driveflags[toupper(*pci->pszFileName) - 'A'] &
    17781778               DRIVE_NOPRESCAN) ||
    1779               (toupper(*pci->szFileName) > 'B' &&
    1780                !(driveflags[toupper(*pci->szFileName) - 'A'] &
     1779              (toupper(*pci->pszFileName) > 'B' &&
     1780               !(driveflags[toupper(*pci->pszFileName) - 'A'] &
    17811781                 DRIVE_CDROM))) {
    17821782
    1783             INT removable, x = (INT) (toupper(*pci->szFileName) - 'A');
     1783            INT removable, x = (INT) (toupper(*pci->pszFileName) - 'A');
    17841784            ULONG drvtype;
    17851785            CHAR FileSystem[CCHMAXPATH];
    17861786
    17871787            DosError(FERR_DISABLEHARDERR);
    1788             removable = CheckDrive(toupper(*pciP->szFileName),
     1788            removable = CheckDrive(toupper(*pciP->pszFileName),
    17891789                                   FileSystem, &drvtype);
    17901790            if (removable != -1) {
     
    18371837          memset(&volser, 0, sizeof(volser));
    18381838          DosError(FERR_DISABLEHARDERR);
    1839           status = DosQueryFSInfo(toupper(*pci->szFileName) - '@',
     1839          status = DosQueryFSInfo(toupper(*pci->pszFileName) - '@',
    18401840                                  FSIL_VOLSER, &volser,
    18411841                                  (ULONG) sizeof(volser));
    18421842          if (!status) {
    18431843            if (!volser.serial ||
    1844                 driveserial[toupper(*pci->szFileName) - 'A'] !=
     1844                driveserial[toupper(*pci->pszFileName) - 'A'] !=
    18451845                volser.serial) {
    18461846              UnFlesh(hwnd, pciP);
    18471847              Flesh(hwnd, pciP);
    1848               driveserial[toupper(*pci->szFileName) - 'A'] = volser.serial;
     1848              driveserial[toupper(*pci->pszFileName) - 'A'] = volser.serial;
    18491849            }
    18501850            pciL = WinSendMsg(hwnd,
     
    18561856          }
    18571857          else {
    1858             driveserial[toupper(*pci->szFileName) - 'A'] = -1;
     1858            driveserial[toupper(*pci->pszFileName) - 'A'] = -1;
    18591859            UnFlesh(hwnd, pci);
    18601860            PostMsg(hwnd, UM_RESCAN, MPVOID, MPVOID);
     
    18641864        }
    18651865        status = 0;
    1866         IsOk = (IsRoot(pci->szFileName) &&
    1867                 IsValidDrive(toupper(*pci->szFileName)));
     1866        IsOk = (IsRoot(pci->pszFileName) &&
     1867                IsValidDrive(toupper(*pci->pszFileName)));
    18681868        if (!IsOk) {
    18691869          DosError(FERR_DISABLEHARDERR);
    1870           status = DosFindFirst(pci->szFileName, &hDir,
     1870          status = DosFindFirst(pci->pszFileName, &hDir,
    18711871                                FILE_NORMAL | FILE_DIRECTORY |
    18721872                                FILE_ARCHIVED | FILE_READONLY |
     
    18851885            }
    18861886            if ((shiftstate & (KC_CTRL | KC_SHIFT)) == (KC_CTRL | KC_SHIFT)) {
    1887               OpenObject(pci->szFileName, Settings, dcd->hwndFrame);
     1887              OpenObject(pci->pszFileName, Settings, dcd->hwndFrame);
    18881888              return 0;
    18891889            }
    18901890            if (!(shiftstate & (KC_CTRL | KC_SHIFT))) {
    18911891              if (!ParentIsDesktop(hwnd, dcd->hwndParent)) {
    1892                 if (FindDirCnrByName(pci->szFileName, TRUE))
     1892                if (FindDirCnrByName(pci->pszFileName, TRUE))
    18931893                  return 0;
    18941894              }
     
    19071907                                  (PVOID) & flWindowAttr, &size);
    19081908              if (flWindowAttr & CV_DETAIL) {
    1909                 if (IsRoot(pci->szFileName))
     1909                if (IsRoot(pci->pszFileName))
    19101910                  strcpy(s, "TREE");
    19111911                else
    19121912                  strcpy(s, "DETAILS");
    19131913              }
    1914               OpenObject(pci->szFileName, s, dcd->hwndFrame);
     1914              OpenObject(pci->pszFileName, s, dcd->hwndFrame);
    19151915              return 0;
    19161916            }
     
    19201920            if (LastDir && !fDCOpens && !(shiftstate & KC_SHIFT)) {
    19211921              WinSendMsg(LastDir,
    1922                          UM_SETDIR, MPFROMP(pci->szFileName), MPVOID);
     1922                         UM_SETDIR, MPFROMP(pci->pszFileName), MPVOID);
    19231923              WinSetWindowPos(WinQueryWindow(WinQueryWindow(LastDir,
    19241924                                                            QW_PARENT),
     
    19291929              OpenDirCnr(hwnd,
    19301930                         dcd->hwndParent,
    1931                          dcd->hwndFrame, FALSE, pci->szFileName);
     1931                         dcd->hwndFrame, FALSE, pci->pszFileName);
    19321932          }
    19331933          else {
    1934             if (!(driveflags[toupper(*pci->szFileName) - 'A'] &
     1934            if (!(driveflags[toupper(*pci->pszFileName) - 'A'] &
    19351935                  DRIVE_INCLUDEFILES))
    19361936              WinSendMsg(hwnd,
     
    19451945              DefaultViewKeys(hwnd,
    19461946                              dcd->hwndFrame,
    1947                               dcd->hwndParent, &swp, pci->szFileName);
     1947                              dcd->hwndParent, &swp, pci->pszFileName);
    19481948            }
    19491949          }
    19501950        }
    19511951        else {
    1952           if (!IsRoot(pci->szFileName)) {
    1953             NotifyError(pci->szFileName, status);
     1952          if (!IsRoot(pci->pszFileName)) {
     1953            NotifyError(pci->pszFileName, status);
    19541954            WinSendMsg(hwnd,
    19551955                       CM_REMOVERECORD,
     
    20262026            CHAR szDrv[CCHMAXPATH];
    20272027
    2028             strcpy(szDrv, pci->szFileName);
    2029             chDrvU = *pci->szFileName;
     2028            strcpy(szDrv, pci->pszFileName);
     2029            chDrvU = *pci->pszFileName;
    20302030            chDrvU = toupper(chDrvU);
    20312031            MakeValidDir(szDrv);
     
    22322232
    22332233          pci = (PCNRITEM) CurrentRecord(hwnd);
    2234           if (pci && (INT) pci != -1 && isalpha(*pci->szFileName)) {
    2235             *d = toupper(*pci->szFileName);
     2234          if (pci && (INT) pci != -1 && isalpha(*pci->pszFileName)) {
     2235            *d = toupper(*pci->pszFileName);
    22362236            p = GetCmdSpec(FALSE);
    22372237            memset(&pgd, 0, sizeof(pgd));
     
    22982298          pci = (PCNRITEM) CurrentRecord(hwnd);
    22992299          if (pci && (INT) pci != -1) {
    2300             strcpy(dir, pci->szFileName);
     2300            strcpy(dir, pci->pszFileName);
    23012301            MakeValidDir(dir);
    23022302          }
     
    23302330          if (pci && (INT) pci != -1)
    23312331            dcd->mask.fFilesIncluded =
    2332               ((driveflags[toupper(*pci->szFileName) - 'A'] &
     2332              ((driveflags[toupper(*pci->pszFileName) - 'A'] &
    23332333                DRIVE_INCLUDEFILES) != 0);
    23342334          else
     
    23702370          pci = (PCNRITEM) CurrentRecord(hwnd);
    23712371          if (pci && (INT) pci != -1) {
    2372             strcpy(newpath, pci->szFileName);
     2372            strcpy(newpath, pci->pszFileName);
    23732373            MakeValidDir(newpath);
    23742374          }
     
    25562556          PCNRITEM pci = (PCNRITEM)CurrentRecord(hwnd);
    25572557          if (pci && (INT)pci != -1) {
    2558             UINT driveflag = driveflags[toupper(*pci->szFileName) - 'A'];
     2558            UINT driveflag = driveflags[toupper(*pci->pszFileName) - 'A'];
    25592559            if (pci->attrFile & FILE_DIRECTORY) {
    25602560              if (pci->flags & RECFLAGS_UNDERENV)
     
    25652565                  (~driveflag & DRIVE_NOPRESCAN && pci->rc.hptrIcon == hptrDunno))
    25662566              {
    2567                 driveflags[toupper(*pci->szFileName) - 'A'] &=
     2567                driveflags[toupper(*pci->pszFileName) - 'A'] &=
    25682568                  (DRIVE_IGNORE | DRIVE_NOPRESCAN | DRIVE_NOLOADICONS |
    25692569                   DRIVE_NOLOADSUBJS | DRIVE_NOLOADLONGS | DRIVE_NOSTATS);
    2570                 DriveFlagsOne(toupper(*pci->szFileName) - 'A');
    2571                 driveflag = driveflags[toupper(*pci->szFileName) - 'A'];
     2570                DriveFlagsOne(toupper(*pci->pszFileName) - 'A');
     2571                driveflag = driveflags[toupper(*pci->pszFileName) - 'A'];
    25722572                if (driveflag & DRIVE_INVALID)
    25732573                  pci->rc.hptrIcon = hptrDunno;
     
    26532653          pci = (PCNRITEM) CurrentRecord(hwnd);
    26542654          if (pci && (INT) pci != -1)
    2655             CommonDriveCmd(hwnd, pci->szFileName, SHORT1FROMMP(mp1));
     2655            CommonDriveCmd(hwnd, pci->pszFileName, SHORT1FROMMP(mp1));
    26562656        }
    26572657        break;
Note: See TracChangeset for help on using the changeset viewer.