Changeset 352


Ignore:
Timestamp:
Jul 26, 2006, 9:35:45 PM (19 years ago)
Author:
root
Message:

Use Runtime_Error

Location:
trunk/dll
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/collect.c

    r280 r352  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2003, 2005 Steven H. Levine
     9  Copyright (c) 2003, 2006 Steven H. Levine
    1010
    1111  15 Oct 02 MK Baseline
     
    2222  24 Oct 05 SHL CollectorCnrWndProc: avoid excess writes to Status2 window
    2323  10 Nov 05 SHL CollectorCnrWndProc: correct missing button window updates
     24  14 Jul 06 SHL Use Runtime_Error
    2425
    2526***********************************************************************/
     
    4849
    4950#pragma data_seg(DATA1)
     51
     52static PSZ pszSrcFile = __FILE__;
     53
    5054#pragma alloc_text(COLLECTOR,CollectorCnrWndProc,CollectorObjWndProc)
    5155#pragma alloc_text(COLLECTOR,CollectorClientWndProc,CollectorTextProc)
     
    113117                               id);
    114118            dcd = WinQueryWindowPtr(WinWindowFromID(WinQueryWindow(hwnd,
    115                                                                  QW_PARENT),
     119                                                                   QW_PARENT),
    116120                                                    COLLECTOR_CNR),
    117121                                    QWL_USER);
     
    631635                                       DIR_SELECTED),
    632636                       GetPString(IDS_COLLECTINGTEXT));
    633       for (x = 0; li -> list[x]; x++)
    634       {
    635         ;
    636       }
    637       ulMaxFiles = x;
    638       if (ulMaxFiles)
    639       {
     637      for (ulMaxFiles = 0; li -> list[ulMaxFiles]; ulMaxFiles++)
     638        ;                               // Count
     639
     640      if (ulMaxFiles) {
    640641        pci = WinSendMsg(dcd -> hwndCnr, CM_ALLOCRECORD,
    641642                         MPFROMLONG(EXTRA_RECORD_BYTES),
    642643                         MPFROMLONG(ulMaxFiles));
    643         if (pci)
    644         {
     644        if (pci) {
     645          Runtime_Error(pszSrcFile, __LINE__, "CM_ALLOCRECORD %u failed", ulMaxFiles);
     646          break;
     647        }
     648        else {
    645649          pciFirst = pci;
    646650          for (x = 0; li -> list[x]; x++)
     
    933937        WORKER *wk;
    934938
    935         wk = malloc(sizeof(WORKER));
    936         if (wk)
    937         {
    938           memset(wk, 0, sizeof(WORKER));
     939        wk = xmallocz(sizeof(WORKER),pszSrcFile,__LINE__);
     940        if (!wk) {
     941          FreeListInfo((LISTINFO *) mp1);
     942        }
     943        else {
    939944          wk -> size = sizeof(WORKER);
    940945          wk -> hwndCnr = dcd -> hwndCnr;
     
    946951          if (_beginthread(MassAction, NULL, 122880, (PVOID) wk) == -1)
    947952          {
     953            Runtime_Error(pszSrcFile, __LINE__, GetPString(IDS_COULDNTSTARTTHREADTEXT));
    948954            free(wk);
    949955            FreeListInfo((LISTINFO *) mp1);
    950956          }
    951957        }
    952         else
    953           FreeListInfo((LISTINFO *) mp1);
    954958      }
    955959    }
     
    964968        WORKER *wk;
    965969
    966         wk = malloc(sizeof(WORKER));
    967         if (wk)
    968         {
    969           memset(wk, 0, sizeof(WORKER));
     970        wk = xmallocz(sizeof(WORKER),pszSrcFile,__LINE__);
     971        if (!wk)
     972          FreeListInfo((LISTINFO *) mp1);
     973        else {
    970974          wk -> size = sizeof(WORKER);
    971975          wk -> hwndCnr = dcd -> hwndCnr;
     
    977981          if (_beginthread(Action, NULL, 122880, (PVOID) wk) == -1)
    978982          {
     983            Runtime_Error(pszSrcFile, __LINE__, GetPString(IDS_COULDNTSTARTTHREADTEXT));
    979984            free(wk);
    980985            FreeListInfo((LISTINFO *) mp1);
    981986          }
    982987        }
    983         else
    984           FreeListInfo((LISTINFO *) mp1);
    985988      }
    986989    }
     
    11581161      if (!IsFile(leftdir) && !IsFile(rightdir))
    11591162      {
    1160         cmp = malloc(sizeof(COMPARE));
     1163        cmp = xmallocz(sizeof(COMPARE),pszSrcFile,__LINE__);
    11611164        if (cmp)
    11621165        {
    1163           memset(cmp, 0, sizeof(COMPARE));
    11641166          cmp -> size = sizeof(COMPARE);
    11651167          strcpy(cmp -> leftdir, leftdir);
     
    13501352
    13511353  case UM_CONTAINER_FILLED:
    1352     DosBeep(1000, 50);
     1354    DosBeep(1000, 50);          // fixme to know why beep here
    13531355    WinSendMsg(hwnd,
    13541356               CM_INVALIDATERECORD,
     
    14691471        if (_beginthread(MakeObjWin, NULL, 245760, (PVOID) dcd) == -1)
    14701472        {
     1473          Runtime_Error(pszSrcFile, __LINE__, GetPString(IDS_COULDNTSTARTTHREADTEXT));
    14711474          PostMsg(hwnd, WM_CLOSE, MPVOID, MPVOID);
    14721475          return 0;
     
    15841587        if (!PostMsg(dcd -> hwndObject, UM_COLLECTFROMFILE, mp1, mp2))
    15851588        {
     1589          Runtime_Error(pszSrcFile, __LINE__, "PostMsg");
    15861590          free(mp1);
    1587           DosBeep(50, 100);
    15881591        }
    15891592      }
     
    16021605        if (!PostMsg(dcd -> hwndObject, UM_COMMAND, mp1, mp2))
    16031606        {
     1607          Runtime_Error(pszSrcFile, __LINE__, "PostMsg");
    16041608          FreeListInfo((LISTINFO *) mp1);
    1605           DosBeep(50, 100);
    16061609        }
    16071610        else
     
    17201723          if (insert_filename(hwnd, filename, FALSE, FALSE))
    17211724          {
    1722             p = strdup(filename);
     1725            p = xstrdup(filename,pszSrcFile,__LINE__);
    17231726            if (p)
    17241727            {
     
    18381841          LISTINFO *li;
    18391842
    1840           li = malloc(sizeof(LISTINFO));
     1843          li = xmallocz(sizeof(LISTINFO),pszSrcFile,__LINE__);
    18411844          if (li)
    18421845          {
    1843             memset(li, 0, sizeof(LISTINFO));
    18441846            li -> list = ListFromClipboard(hwnd);
    18451847            if (!li -> list || !li -> list[0])
     
    19091911          LISTINFO *li;
    19101912
    1911           li = malloc(sizeof(LISTINFO));
     1913          li = xmallocz(sizeof(LISTINFO),pszSrcFile,__LINE__);
    19121914          if (li)
    19131915          {
    1914             memset(li, 0, sizeof(LISTINFO));
    19151916            li -> list = mp2;
    19161917            if (!li -> list || !li -> list[0])
     
    19461947
    19471948      case IDM_GREP:
    1948         if (!dcd -> amextracted)
     1949        if (dcd -> amextracted) {
     1950          // fixme to disable?
     1951          Runtime_Error(pszSrcFile, __LINE__, "busy");
     1952        }
     1953        else
    19491954        {
    19501955          if (WinDlgBox(HWND_DESKTOP, hwnd, GrepDlgProc,
     
    19611966          }
    19621967        }
    1963         else
    1964           DosBeep(50, 100);             // Complain about busy
    19651968        break;
    19661969
     
    22212224          ULONG action = UM_ACTION;
    22222225
    2223           li = malloc(sizeof(LISTINFO));
     2226          li = xmallocz(sizeof(LISTINFO),pszSrcFile,__LINE__);
    22242227          if (li)
    22252228          {
    2226             memset(li, 0, sizeof(LISTINFO));
    22272229            li -> type = SHORT1FROMMP(mp1);
    22282230            li -> hwnd = hwnd;
     
    22632265                           MPVOID))
    22642266              {
     2267                Runtime_Error(pszSrcFile, __LINE__, "PostMsg");
    22652268                FreeListInfo(li);
    2266                 DosBeep(50, 100);
    22672269              }
    22682270              else if (fUnHilite)
     
    23852387          if (!DrgAccessDraginfo(pDInfo))
    23862388          {
    2387             Win_Error(hwnd, hwnd, __FILE__, __LINE__,
     2389            Win_Error(hwnd, hwnd, pszSrcFile, __LINE__,
    23882390                      "%s",
    23892391                      GetPString(IDS_DROPERRORTEXT));
     
    30003002    id = COLLECTOR_FRAME + idinc++;
    30013003    WinSetWindowUShort(hwndFrame, QWS_ID, id);
    3002     dcd = malloc(sizeof(DIRCNRDATA));
    3003     if (dcd)
    3004     {
    3005       memset(dcd, 0, sizeof(DIRCNRDATA));
     3004    dcd = xmallocz(sizeof(DIRCNRDATA),pszSrcFile,__LINE__);
     3005    if (dcd) {
    30063006      dcd -> size = sizeof(DIRCNRDATA);
    30073007      dcd -> id = id;
  • trunk/dll/mainwnd.c

    r297 r352  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2001, 2005 Steven H. Levine
     9  Copyright (c) 2001, 2006 Steven H. Levine
    1010
    1111  11 Jun 02 SHL Drop obsolete xor code
     
    2222  17 Dec 05 SHL DriveProc: correct my stupid
    2323  29 May 06 SHL IDM_EDITANYARCHIVER: sanitize code
     24  17 Jul 06 SHL Use Runtime_Error
    2425
    2526***********************************************************************/
     
    4647
    4748#pragma data_seg(DATA1)
     49
     50static PSZ pszSrcFile = __FILE__;
     51
    4852#pragma alloc_text(MISC8,SetToggleChecks,FindDirCnrByName,TopWindow)
    4953#pragma alloc_text(MISC8,TopWindowName,CountDirCnrs)
     
    499503    tool = tool -> next;
    500504  /* allocate swp array for WinSetMultWindowPos */
    501   swp = malloc(sizeof(SWP) * (numtools + 2));
    502   if (swp)
    503   {
    504     memset(swp, 0, sizeof(SWP) * (numtools + 2));
    505     for (x = 0; x < numtools + 2L; x++)
    506     {
     505  swp = xmallocz(sizeof(SWP) * (numtools + 2),pszSrcFile,__LINE__);
     506  if (swp) {
     507    for (x = 0; x < numtools + 2L; x++) {
    507508      swp[x].hwndInsertBehind = HWND_TOP;
    508509      swp[x].fl = attrib;
     
    10031004        if (tlen)
    10041005        {
    1005           s = malloc(tlen + 2);
    1006           if (s)
    1007           {
     1006          s = xmalloc(tlen + 2,pszSrcFile,__LINE__);
     1007          if (s) {
    10081008            WinQueryWindowText(hwnd, tlen + 1, s);
    1009             if (*s)
    1010             {
     1009            if (*s) {
    10111010              p = s;
    10121011              y = swp.cy - 3;
     
    49234922          COMPARE *cmp;
    49244923
    4925           cmp = malloc(sizeof(COMPARE));
    4926           if (cmp)
    4927           {
    4928             memset(cmp, 0, sizeof(COMPARE));
     4924          cmp = xmallocz(sizeof(COMPARE),pszSrcFile,__LINE__);
     4925          if (cmp) {
    49294926            cmp -> size = sizeof(COMPARE);
    49304927            strcpy(cmp -> leftdir, wa.szCurrentPath1);
     
    50045001        if (SHORT1FROMMP(mp1) == IDM_ADDTOUSERLIST)
    50055002        {
    5006           if (add_udir(TRUE, path))
    5007           {
     5003          if (!add_udir(TRUE, path))
     5004            Runtime_Error(pszSrcFile, __LINE__, "add_udir");
     5005          else {
    50085006            if (fUdirsChanged)
    50095007              save_udirs();
     
    50135011                       MPVOID);
    50145012          }
    5015           else
    5016             DosBeep(50, 50);
    50175013        }
    50185014        else
    50195015        {
    5020           if (remove_udir(path))
    5021           {
     5016          if (!remove_udir(path))
     5017            Runtime_Error(pszSrcFile, __LINE__, "remove_udir");
     5018          else {
    50225019            if (fUdirsChanged)
    50235020              save_udirs();
    50245021            WinSendMsg(hwnd, UM_FILLUSERLIST, MPVOID, MPVOID);
    50255022          }
    5026           else
    5027             DosBeep(50, 50);
    50285023        }
    50295024      }
     
    50665061          sprintf(s, "%s.NumDirsLastTime", name);
    50675062          size = sizeof(ULONG);
    5068           if (PrfQueryProfileData(fmprof, FM3Str, s, (PVOID) & numsaves,
    5069                                   &size) && size)
    5070           {
     5063          if (!PrfQueryProfileData(fmprof, FM3Str, s, (PVOID)&numsaves, &size))
     5064            Win_Error(hwnd,hwnd,__FILE__,__LINE__,"PrfQueryProfileData");
     5065          else if (!size)
     5066            Runtime_Error(pszSrcFile, __LINE__, "no data");
     5067          else {
    50715068            PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0L);
    50725069            for (x = 0; x < numsaves; x++)
     
    50885085            PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0);
    50895086          }
    5090           else
    5091             DosBeep(50, 100);
    50925087          PostMsg(hwnd, UM_FILLSETUPLIST, MPVOID, MPVOID);
    50935088        }
     
    57655760                                    MPVOID,
    57665761                                    MPVOID);
    5767         if (!hwndCnr)
    5768         {
    5769           DosBeep(50, 100);
     5762        if (!hwndCnr) {
     5763          Runtime_Error(pszSrcFile, __LINE__, "no window");
    57705764          break;
    57715765        }
     
    58555849    WinSetWindowUShort(hwnd, QWL_USER + 12, 0);
    58565850    WinSetWindowUShort(hwnd, QWL_USER + 16, 0);
    5857     if (_beginthread(MakeMainObjWin,
    5858                      NULL,
    5859                      245760,
    5860                      MPVOID) == -1)
    5861     {
    5862       PostMsg(hwnd,
    5863               WM_CLOSE,
    5864               MPVOID,
    5865               MPVOID);
     5851    if (_beginthread(MakeMainObjWin,NULL,245760,MPVOID) == -1) {
     5852      Runtime_Error(pszSrcFile, __LINE__, GetPString(IDS_COULDNTSTARTTHREADTEXT));
     5853      PostMsg(hwnd,WM_CLOSE,MPVOID,MPVOID);
    58665854      return 0;
    58675855    }
     
    69676955                      "%s.NumDirsLastTime",
    69686956                      path);
    6969               if (PrfQueryProfileData(fmprof,
    6970                                       FM3Str,
    6971                                       s,
    6972                                       (PVOID) & numsaves,
    6973                                       &size) &&
    6974                   numsaves)
    6975               {
     6957              if (!PrfQueryProfileData(fmprof,FM3Str,s,(PVOID)&numsaves,&size))
     6958                Win_Error(hwnd,hwnd,__FILE__,__LINE__,"PrfQueryProfileData");
     6959              else if (!numsaves)
     6960                Runtime_Error(pszSrcFile, __LINE__, "no data");
     6961              else {
    69766962                if ((shiftstate & KC_SHIFT) == 0)
    6977                   PostMsg(MainObjectHwnd,
    6978                           UM_RESTORE,
    6979                           MPVOID,
    6980                           MPFROMLONG(2L));
     6963                  PostMsg(MainObjectHwnd,UM_RESTORE,MPVOID,MPFROMLONG(2L));
    69816964                {
    69826965                  char *temp;
    69836966
    6984                   temp = strdup(path);
    6985                   if (temp)
     6967                  temp = xstrdup(path,pszSrcFile,__LINE__);
     6968                  if (!temp)
    69866969                  {
    6987                     if (!PostMsg(MainObjectHwnd,
    6988                                  UM_RESTORE,
    6989                                  MPFROMP(temp),
    6990                                  MPVOID))
     6970                    if ((shiftstate & KC_SHIFT) != 0 || fAutoTile)
     6971                      PostMsg(MainObjectHwnd,UM_RESTORE,MPVOID,MPFROMLONG(1L));
     6972                  }
     6973                  else {
     6974                    if (!PostMsg(MainObjectHwnd,UM_RESTORE,MPFROMP(temp),MPVOID))
    69916975                      free(temp);
    6992                   }
    6993                   else
    6994                   {
    6995                     if ((shiftstate & KC_SHIFT) != 0 ||
    6996                         fAutoTile)
    6997                       PostMsg(MainObjectHwnd,
    6998                               UM_RESTORE,
    6999                               MPVOID,
    7000                               MPFROMLONG(1L));
    70016976                  }
    70026977                }
    70036978              }
    7004               else
    7005                 DosBeep(50, 100);
    70066979              WinSetWindowText(hwndStatelist,
    70076980                               GetPString(IDS_STATETEXT));
     
    70977070      char *temp;
    70987071
    7099       temp = strdup(GetPString(IDS_FM2TEMPTEXT));
    7100       if (temp)
    7101       {
    7102         if (!PostMsg(MainObjectHwnd,
    7103                      UM_RESTORE,
    7104                      MPFROMP(temp),
    7105                      MPVOID))
     7072      temp = xstrdup(GetPString(IDS_FM2TEMPTEXT),pszSrcFile,__LINE__);
     7073      if (temp) {
     7074        if (!PostMsg(MainObjectHwnd,UM_RESTORE,MPFROMP(temp),MPVOID))
    71067075          free(temp);
    71077076      }
     
    71107079
    71117080  case UM_SETDIR:
    7112     if (mp1)                            /* mp1 == name of directory to open */
     7081    /* mp1 == name of directory to open */
     7082    if (mp1)
    71137083      return MRFROMLONG(OpenDirCnr((HWND) 0,
    71147084                                   hwndMain,
  • trunk/dll/mainwnd2.c

    r299 r352  
    1414  02 Jan 06 SHL Use QWL_USER more
    1515  02 Jan 06 SHL Map IDM_WINDOWDLG to match IBM_TWODIRS
     16  17 Jul 06 SHL Use Runtime_Error
    1617
    1718***********************************************************************/
     
    2021#define INCL_WIN
    2122#define INCL_GPI
    22 
    2323#include <os2.h>
     24
    2425#include <stdlib.h>
    2526#include <stdio.h>
     
    4445  HWND hwndMax;
    4546} PERSON1DATA;
     47
     48static PSZ pszSrcFile = __FILE__;
    4649
    4750#pragma alloc_text(PERSON11,MainFrameWndProc2,MainWndProc2)
     
    515518          COMPARE *cmp;
    516519
    517           cmp = malloc(sizeof(COMPARE));
    518           if (cmp)
    519           {
    520             memset(cmp, 0, sizeof(COMPARE));
     520          cmp = xmallocz(sizeof(COMPARE),pszSrcFile,__LINE__);
     521          if (cmp) {
    521522            cmp -> size = sizeof(COMPARE);
    522523            strcpy(cmp -> leftdir, wa.szCurrentPath1);
     
    731732      if (!hwndCnr)
    732733      {
    733         DosBeep(50, 100);
     734        Runtime_Error(pszSrcFile, __LINE__, "no window");
    734735        break;
    735736      }
     
    817818    WinSetWindowUShort(hwnd, QWL_USER + 12, 0);
    818819    WinSetWindowUShort(hwnd, QWL_USER + 16, 0);
    819     if (_beginthread(MakeMainObjWin,
    820                      NULL,
    821                      245760,
    822                      MPVOID) == -1)
    823     {
    824       PostMsg(hwnd,
    825               WM_CLOSE,
    826               MPVOID,
    827               MPVOID);
     820    if (_beginthread(MakeMainObjWin,NULL,245760,MPVOID) == -1) {
     821      Runtime_Error(pszSrcFile, __LINE__, GetPString(IDS_COULDNTSTARTTHREADTEXT));
     822      PostMsg(hwnd,WM_CLOSE,MPVOID,MPVOID);
    828823      return 0;
    829824    }
     
    831826      DosSleep(64);
    832827
    833     pd = malloc(sizeof(PERSON1DATA));
     828    pd = xmallocz(sizeof(PERSON1DATA),pszSrcFile,__LINE__);
    834829    if (!pd)
    835830      WinDestroyWindow(WinQueryWindow(hwnd, QW_PARENT));
    836     else
    837     {
    838       memset(pd, 0, sizeof(PERSON1DATA));
     831    else {
    839832      pd -> size = sizeof(PERSON1DATA);
    840833      WinSetWindowPtr(hwnd, QWL_USER + 4, (PVOID)pd);
  • trunk/dll/saveclip.c

    r159 r352  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2005 Steven H. Levine
     9  Copyright (c) 2005, 2006 Steven H. Levine
    1010
    1111  12 Feb 03 SHL SaveListDlgProc: standardize EA math
     
    1313  01 Aug 04 SHL Rework fixup usage
    1414  24 May 05 SHL Rework for CNRITEM.szSubject
     15  17 Jul 06 SHL Use Runtime_Error
    1516
    1617***********************************************************************/
     
    1819#define INCL_DOS
    1920#define INCL_WIN
    20 
    2121#include <os2.h>
     22
    2223#include <stdarg.h>
    2324#include <stdio.h>
     
    2526#include <string.h>
    2627#include <share.h>
     28
    2729#include "fm3dll.h"
    2830#include "fm3dlg.h"
    2931#include "fm3str.h"
    3032
     33static PSZ pszSrcFile = __FILE__;
     34
    3135#pragma alloc_text(FMCLIPBOARDIN,SaveToClip,SaveToClipHab)
    3236#pragma alloc_text(FMCLIPBOARDOUT,ListToClipboard,ListToClipboardHab)
     
    3438
    3539
    36 BOOL SaveToClip (HWND hwnd,CHAR *text,BOOL append) {
    37 
     40BOOL SaveToClip (HWND hwnd,CHAR *text,BOOL append)
     41{
    3842  HAB    hab = WinQueryAnchorBlock(hwnd);
    3943
     
    4246
    4347
    44 BOOL SaveToClipHab (HAB hab,CHAR *text,BOOL append) {
    45 
     48BOOL SaveToClipHab (HAB hab,CHAR *text,BOOL append)
     49{
    4650  CHAR  *clip = NULL,*hold = NULL,*p;
    4751  ULONG  len;
     
    9397
    9498
    95 VOID ListToClipboard (HWND hwnd,CHAR **list,BOOL append) {
    96 
     99VOID ListToClipboard (HWND hwnd,CHAR **list,BOOL append)
     100{
    97101  HAB   hab = WinQueryAnchorBlock(hwnd);
    98102
     
    101105
    102106
    103 VOID ListToClipboardHab (HAB hab,CHAR **list,BOOL append) {
    104 
     107VOID ListToClipboardHab (HAB hab,CHAR **list,BOOL append)
     108{
    105109  CHAR *text = NULL,**clip = NULL;
    106110  INT   x;
     
    150154
    151155
    152 CHAR ** ListFromClipboard (HWND hwnd) {
    153 
     156CHAR ** ListFromClipboard (HWND hwnd)
     157{
    154158  HAB   hab = WinQueryAnchorBlock(hwnd);
    155159
     
    158162
    159163
    160 CHAR **ListFromClipboardHab (HAB hab) {
    161 
     164CHAR **ListFromClipboardHab (HAB hab)
     165{
    162166  CHAR *p,*pp,*text = NULL,**list = NULL;
    163167  INT   numfiles = 0,numalloced = 0;
     
    166170    p = (CHAR *)WinQueryClipbrdData(hab,CF_TEXT);
    167171    if(p && *p)
    168       text = strdup(p);
     172      text = xstrdup(p,pszSrcFile,__LINE__);
    169173    WinCloseClipbrd(hab);
    170     if(text) {
     174    if (text) {
    171175      bstrip(text);
    172176      pp = text;
     
    206210    case WM_INITDLG:
    207211      if(!mp2) {
    208         DosBeep(250,100);
     212        Runtime_Error(pszSrcFile, __LINE__, "no data");
    209213        WinDismissDlg(hwnd,0);
    210214      }
     
    296300            strcat(szBuffer,"\\");
    297301          strcat(szBuffer,"PATTERNS.DAT");
    298           fp = fopen(szBuffer,"w");
    299           if(fp) {
     302          fp = xfopen(szBuffer,"w",pszSrcFile,__LINE__);
     303          if (fp) {
    300304            fputs(GetPString(IDS_LISTPATTERNTEXT),fp);
    301305            for(sSelect = 0;sSelect < sMax;sSelect++) {
     
    313317            fclose(fp);
    314318          }
    315           else
    316             DosBeep(500,100);
    317319        }
    318320        else if(!sMax) {
     
    471473              }
    472474            }
    473             if(pci && (INT)pci != -1) {
     475            if(!pci || (INT)pci == -1)
     476              Runtime_Error(pszSrcFile, __LINE__, "no data");
     477            else {
    474478              fp = _fsopen(savename,"r+",SH_DENYWR);
    475               if(fp) {
     479              if(!fp)
     480                Runtime_Error(pszSrcFile, __LINE__, "_fsopen");
     481              else {
    476482                fseek(fp,0L,SEEK_SET);
    477483                if(WinQueryButtonCheckstate(hwnd,SAV_APPEND) == 0)
     
    581587                fclose(fp);
    582588              }
    583               else
    584                 DosBeep(250,100);
    585             }
    586             else
    587               DosBeep(100,100);
     589            }
    588590          }
    589591          WinEnableWindow(hwnd,TRUE);
     
    606608    case WM_INITDLG:
    607609      if(!mp2) {
    608         DosBeep(250,100);
     610        Runtime_Error(pszSrcFile, __LINE__, "no data");
    609611        WinDismissDlg(hwnd,0);
    610612      }
     
    693695            strcat(szBuffer,"\\");
    694696          strcat(szBuffer,"PATTERNS.DAT");
    695           fp = fopen(szBuffer,"w");
     697          fp = xfopen(szBuffer,"w",pszSrcFile,__LINE__);
    696698          if(fp) {
    697699            fputs(GetPString(IDS_LISTPATTERNTEXT),fp);
     
    708710            fclose(fp);
    709711          }
    710           else
    711             DosBeep(500,100);
    712712        }
    713713        else if(!sMax) {
     
    857857                                  "SaveToListName",
    858858                                  savename);
    859             if(list && list[0]) {
     859            if (!list || !list[0])
     860              Runtime_Error(pszSrcFile, __LINE__, "no data");
     861            else {
    860862              fp = _fsopen(savename,"r+",SH_DENYWR);
    861               if(fp) {
     863              if (!fp)
     864                Runtime_Error(pszSrcFile, __LINE__, "_fsopen");
     865              else {
    862866                fseek(fp,0L,SEEK_SET);
    863867                if(WinQueryButtonCheckstate(hwnd,SAV_APPEND) == 0)
     
    886890                      CHAR      *value;
    887891
    888                       pgealist = malloc(sizeof(GEA2LIST) + 64);
    889                       if(pgealist) {
    890                         memset(pgealist,0,sizeof(GEA2LIST) + 64);
     892                      pgealist = xmallocz(sizeof(GEA2LIST) + 64,pszSrcFile,__LINE__);
     893                      if (pgealist) {
    891894                        pgea = &pgealist->list[0];
    892895                        strcpy(pgea->szName,SUBJECT);
     
    894897                        pgea->oNextEntryOffset = 0L;
    895898                        pgealist->cbList = sizeof(GEA2LIST) + pgea->cbName;
    896                         pfealist = malloc(1024);
     899                        pfealist = xmallocz(1024,pszSrcFile,__LINE__);
    897900                        if(pfealist) {
    898                           memset(pfealist,0,1024);
    899901                          pfealist->cbList = 1024;
    900902                          eaop.fpGEA2List = pgealist;
     
    930932                      CHAR      *value;
    931933
    932                       pgealist = malloc(sizeof(GEA2LIST) + 64);
    933                       if(pgealist) {
    934                         memset(pgealist,0,sizeof(GEA2LIST) + 64);
     934                      pgealist = xmallocz(sizeof(GEA2LIST) + 64,pszSrcFile,__LINE__);
     935                      if (pgealist) {
    935936                        pgea = &pgealist->list[0];
    936937                        strcpy(pgea->szName,LONGNAME);
     
    938939                        pgea->oNextEntryOffset = 0L;
    939940                        pgealist->cbList = sizeof(GEA2LIST) + pgea->cbName;
    940                         pfealist = malloc(1024);
    941                         if(pfealist) {
    942                           memset(pfealist,0,1024);
     941                        pfealist = xmallocz(1024,pszSrcFile,__LINE__);
     942                        if (pfealist) {
    943943                          pfealist->cbList = 1024;
    944944                          eaop.fpGEA2List = pgealist;
     
    949949                                                (PVOID)&eaop,
    950950                                                (ULONG)sizeof(EAOP2));
    951                           if(!rc) {
     951                          if (!rc) {
    952952                            pfea = &eaop.fpFEA2List->list[0];
    953953                            value = pfea->szName + pfea->cbName + 1;
     
    10641064                fclose(fp);
    10651065              }
    1066               else
    1067                 DosBeep(250,100);
    1068             }
    1069             else
    1070               DosBeep(100,100);
     1066            }
    10711067          }
    10721068          WinEnableWindow(hwnd,TRUE);
  • trunk/dll/treecnr.c

    r305 r352  
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2001, 2005 Steven H. Levine
     9  Copyright (c) 2001, 2006 Steven H. Levine
    1010
    1111  16 Oct 02 SHL Handle large partitions
     
    1717  06 Aug 05 SHL Renames
    1818  08 Dec 05 SHL TreeCnrWndProc: disable menu items if drive not ready
     19  17 Jul 06 SHL Use Runtime_Error
    1920
    2021***********************************************************************/
     
    3940
    4041#pragma data_seg(DATA1)
     42
     43static PSZ pszSrcFile = __FILE__;
     44
    4145#pragma alloc_text(TREECNR,TreeCnrWndProc,TreeObjWndProc,TreeClientWndProc)
    4246#pragma alloc_text(TREECNR,TreeFrameWndProc,TreeTitleWndProc,ShowTreeRec)
     
    5458
    5559
    56 MRESULT EXPENTRY OpenButtonProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    57 
     60MRESULT EXPENTRY OpenButtonProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     61{
    5862  static BOOL emphasized = FALSE;
    5963
     
    129133
    130134
    131 VOID ShowTreeRec (HWND hwndCnr,CHAR *dirname,BOOL collapsefirst,BOOL maketop) {
    132 
     135VOID ShowTreeRec (HWND hwndCnr,CHAR *dirname,BOOL collapsefirst,BOOL maketop)
     136{
    133137  /* Find a record in tree view, move it so it shows in container and
    134138     make it the current record */
     
    273277
    274278
    275 MRESULT EXPENTRY TreeTitleWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    276 
     279MRESULT EXPENTRY TreeTitleWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     280{
    277281  PFNWP oldproc = (PFNWP)WinQueryWindowPtr(hwnd,QWL_USER);
    278282
     
    288292
    289293
    290 MRESULT EXPENTRY TreeStatProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    291 
     294MRESULT EXPENTRY TreeStatProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     295{
    292296  switch(msg) {
    293297    case WM_CREATE:
     
    319323
    320324
    321 MRESULT EXPENTRY TreeFrameWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    322 
     325MRESULT EXPENTRY TreeFrameWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     326{
    323327  switch(msg) {
    324328    case UM_RESCAN:
     
    631635    case UM_EXPAND:
    632636      dcd = WinQueryWindowPtr(hwnd,QWL_USER);
    633       if(dcd) {
    634 
     637      if (!dcd)
     638        Runtime_Error(pszSrcFile, __LINE__, "no data");
     639      else {
    635640        BOOL tempsusp = dcd->suspendview;
    636641
     
    649654    case UM_UPDATERECORDLIST:
    650655      dcd = WinQueryWindowPtr(hwnd,QWL_USER);
    651       if(dcd && mp1) {
    652 
     656      if (!dcd || !mp1)
     657        Runtime_Error(pszSrcFile, __LINE__, "no data");
     658      else {
    653659        INT    numentries = 0;
    654660        CHAR **list = (CHAR **)mp1;
     
    667673    case UM_SETUP:
    668674      dcd = WinQueryWindowPtr(hwnd,QWL_USER);
    669       if(dcd) {
     675      if (!dcd)
     676        Runtime_Error(pszSrcFile, __LINE__, "no data");
     677      else {
    670678        dcd->hwndObject = hwnd;
    671679        if(ParentIsDesktop(hwnd,dcd->hwndParent))
     
    676684    case UM_RESCAN2:
    677685      dcd = WinQueryWindowPtr(hwnd,QWL_USER);
    678       if(dcd &&
    679          hwndStatus &&
    680          dcd->hwndFrame == WinQueryActiveWindow(dcd->hwndParent)) {
    681 
     686      if (!dcd)
     687        Runtime_Error(pszSrcFile, __LINE__, "no data");
     688      else if (!hwndStatus)
     689        Runtime_Error(pszSrcFile, __LINE__, "no window");
     690      else if (dcd->hwndFrame == WinQueryActiveWindow(dcd->hwndParent)) {
    682691        CHAR      s[CCHMAXPATH * 2];
    683692        PCNRITEM   pci = (PCNRITEM)mp1;
     
    778787       */
    779788      dcd = WinQueryWindowPtr(hwnd,QWL_USER);
    780       if(dcd) {
     789      if (!dcd)
     790        Runtime_Error(pszSrcFile, __LINE__, "no data");
     791      else {
    781792        WinSendMsg(dcd->hwndCnr,
    782793                   CM_REMOVERECORD,
     
    849860
    850861        dcd = WinQueryWindowPtr(hwnd,QWL_USER);
    851         if(dcd) {
    852 
     862        if (!dcd)
     863          Runtime_Error(pszSrcFile, __LINE__, "no data");
     864        else {
    853865          WORKER *wk;
    854866
    855           wk = malloc(sizeof(WORKER));
    856           if(wk) {
    857             memset(wk,0,sizeof(WORKER));
     867          wk = xmallocz(sizeof(WORKER), pszSrcFile, __LINE__);
     868          if (!wk)
     869            FreeListInfo((LISTINFO *)mp1);
     870          else {
    858871            wk->size = sizeof(WORKER);
    859872            wk->hwndCnr = dcd->hwndCnr;
     
    863876            wk->li = (LISTINFO *)mp1;
    864877            strcpy(wk->directory,dcd->directory);
    865             if(_beginthread(MassAction,
    866                             NULL,
    867                             122880,
    868                             (PVOID)wk) ==
    869                -1) {
     878            if (_beginthread(MassAction,NULL,122880,(PVOID)wk) == -1) {
     879              Runtime_Error(pszSrcFile, __LINE__, GetPString(IDS_COULDNTSTARTTHREADTEXT));
    870880              free(wk);
    871881              FreeListInfo((LISTINFO *)mp1);
    872882            }
    873883          }
    874           else
    875             FreeListInfo((LISTINFO *)mp1);
    876884        }
    877885      }
     
    882890
    883891        dcd = WinQueryWindowPtr(hwnd,QWL_USER);
    884         if(dcd) {
    885 
     892        if (!dcd)
     893          Runtime_Error(pszSrcFile, __LINE__, "no data");
     894        else {
    886895          WORKER *wk;
    887896
    888           wk = malloc(sizeof(WORKER));
    889           if(wk) {
    890             memset(wk,0,sizeof(WORKER));
     897          wk = xmallocz(sizeof(WORKER), pszSrcFile,__LINE__);
     898          if (!wk)
     899            FreeListInfo((LISTINFO *)mp1);
     900          else {
    891901            wk->size = sizeof(WORKER);
    892902            wk->hwndCnr = dcd->hwndCnr;
     
    896906            wk->li = (LISTINFO *)mp1;
    897907            strcpy(wk->directory,dcd->directory);
    898             if(_beginthread(Action,
    899                             NULL,
    900                             122880,
    901                             (PVOID)wk) ==
    902                -1) {
     908            if (_beginthread(Action,NULL,122880,(PVOID)wk) == -1) {
     909              Runtime_Error(pszSrcFile, __LINE__, GetPString(IDS_COULDNTSTARTTHREADTEXT));
    903910              free(wk);
    904911              FreeListInfo((LISTINFO *)mp1);
    905912            }
    906913          }
    907           else
    908             FreeListInfo((LISTINFO *)mp1);
    909914        }
    910915      }
     
    918923      hwndTree = (HWND)0;
    919924      dcd = WinQueryWindowPtr(hwnd,QWL_USER);
    920       if(dcd) {
     925      if (dcd) {
    921926        WinSendMsg(dcd->hwndCnr,
    922927                   UM_CLOSE,
     
    11591164        CHAR    *leftdir = (CHAR *)mp1,*rightdir = (CHAR *)mp2;
    11601165
    1161         if(!IsFile(leftdir) &&
    1162            !IsFile(rightdir)) {
    1163           cmp = malloc(sizeof(COMPARE));
     1166        if (!IsFile(leftdir) && !IsFile(rightdir)) {
     1167          cmp = xmallocz(sizeof(COMPARE),pszSrcFile,__LINE__);
    11641168          if(cmp) {
    1165             memset(cmp,0,sizeof(COMPARE));
    11661169            cmp->size = sizeof(COMPARE);
    11671170            strcpy(cmp->leftdir,leftdir);
     
    13051308
    13061309    case UM_SETUP:
    1307       if(dcd) {
     1310      if (!dcd) {
     1311        Runtime_Error(pszSrcFile, __LINE__, "no data");
     1312        PostMsg(hwnd,WM_CLOSE,MPVOID,MPVOID);
     1313        return 0;
     1314      }
     1315      else {
    13081316        if(!dcd->hwndObject) {
    13091317          /*
     
    13641372                     MPFROMLONG(CMA_FLWINDOWATTR | CMA_LINESPACING |
    13651373                                CMA_CXTREEINDENT | CMA_PSORTRECORD));
    1366 //                                CMA_TREEICON));
    1367           if(_beginthread(MakeObjWin,
    1368                           NULL,
    1369                           327680,
    1370                           (PVOID)dcd) ==
    1371              -1) {
     1374          if (_beginthread(MakeObjWin,NULL,327680,(PVOID)dcd) == -1) {
     1375            Runtime_Error(pszSrcFile, __LINE__, GetPString(IDS_COULDNTSTARTTHREADTEXT));
    13721376            PostMsg(hwnd,
    13731377                    WM_CLOSE,
     
    13791383            DosSleep(1L);
    13801384        }
    1381       }
    1382       else {
    1383         PostMsg(hwnd,
    1384                 WM_CLOSE,
    1385                 MPVOID,
    1386                 MPVOID);
    1387         return 0;
    13881385      }
    13891386      return 0;
     
    14251422                                   MPFROMLONG(CMA_FIRST),
    14261423                                   MPFROMP(&pqr));
    1427         if(pci && (INT)pci != -1) {
     1424        if(!pci || (INT)pci == -1)
     1425          Runtime_Error(pszSrcFile, __LINE__, "no data");
     1426        else {
    14281427          memset(&nr,0,sizeof(nr));
    14291428          nr.hwndCnr = hwnd;
     
    14411440                  MPVOID);
    14421441        }
    1443         else
    1444           DosBeep(50,100);
    14451442      }
    14461443      break;
     
    15671564              PCNRITEM     pci;
    15681565
    1569               if(pcd) {
     1566              if (!pcd) {
     1567                Runtime_Error(pszSrcFile, __LINE__, "no data");
     1568                break;
     1569              }
     1570              else {
    15701571                pci = (PCNRITEM)pcd->pRecord;
    1571                 if(!pci || (INT)pci == -1 ||
    1572                    (pci->flags & (RECFLAGS_ENV | RECFLAGS_NODRAG))) {
    1573                   DosBeep(50,100);
     1572                if (!pci || (INT)pci == -1) {
     1573                  Runtime_Error(pszSrcFile, __LINE__, "no data");
    15741574                  break;
    15751575                }
    1576                 if(hwndStatus2)
     1576                if (pci->flags & (RECFLAGS_ENV | RECFLAGS_NODRAG)) {
     1577                  Runtime_Error(pszSrcFile, __LINE__, "drag not allowed");
     1578                  break;
     1579                }
     1580                if(hwndStatus2) {
    15771581                  WinSetWindowText(hwndStatus2,(IsRoot(pci->szFileName)) ?
    15781582                                   GetPString(IDS_DRAGROOTTEXT) :
     
    15801584                                   GetPString(IDS_DRAGDIRTEXT) :
    15811585                                   GetPString(IDS_DRAGFILETEXT));
     1586                }
    15821587                DoFileDrag(hwnd,
    15831588                           dcd->hwndObject,
     
    15861591                           NULL,
    15871592                           TRUE);
    1588                 if(hwndStatus2)
     1593                if(hwndStatus2) {
    15891594                  PostMsg(hwnd,
    15901595                          UM_RESCAN,
    15911596                          MPVOID,
    15921597                          MPVOID);
     1598                }
    15931599              }
    15941600            }
     
    19191925            }
    19201926            break;
    1921         }
     1927        } // switch WM_CONTROL
    19221928      }
    19231929      return 0;
     
    19401946    case UM_SHOWME:
    19411947      if(mp1 && dcd) {
    1942 
    1943         CHAR *dir;
    1944 
    1945         dir = strdup((CHAR *)mp1);
    1946         if(dir) {
     1948        CHAR *dir = xstrdup((CHAR *)mp1, pszSrcFile, __LINE__);
     1949        if (dir) {
    19471950          if(!PostMsg(dcd->hwndObject,
    19481951                      UM_SHOWME,
     
    19921995          }
    19931996          DosError(FERR_DISABLEHARDERR);
    1994           if(!DosQCurDisk(&ulDriveNum,&ulDriveMap)) {
    1995             if(!(ulDriveMap & 1L << (toupper(*pci->szFileName) - 'A'))) {
     1997          if (!DosQCurDisk(&ulDriveNum,&ulDriveMap)) {
     1998            if (!(ulDriveMap & 1L << (toupper(*pci->szFileName) - 'A'))) {
    19961999              pciL = pciP = pci;
    1997               for(;;) {
     2000              for (;;) {
    19982001                pciP = WinSendMsg(hwnd,
    19992002                                  CM_QUERYRECORD,
     
    20062009                  break;
    20072010                }
    2008               }
     2011              } // for
    20092012              WinSendMsg(hwnd,
    20102013                         CM_REMOVERECORD,
     
    24162419
    24172420    case UM_COMMAND:
    2418       if(mp1) {
    2419         if(dcd) {
    2420           if(!PostMsg(dcd->hwndObject,UM_COMMAND,mp1,mp2)) {
     2421      if (!mp1)
     2422        Runtime_Error(pszSrcFile, __LINE__, "no data");
     2423      else {
     2424        if (!dcd) {
     2425          Runtime_Error(pszSrcFile, __LINE__, "no data");
     2426          FreeListInfo((LISTINFO *)mp1);
     2427        }
     2428        else {
     2429          if (!PostMsg(dcd->hwndObject,UM_COMMAND,mp1,mp2)) {
     2430            Runtime_Error(pszSrcFile, __LINE__, "PostMsg");
    24212431            FreeListInfo((LISTINFO *)mp1);
    2422             DosBeep(50,100);
    24232432          }
    24242433          else
    24252434            return (MRESULT)TRUE;
    24262435        }
    2427         else
    2428           FreeListInfo((LISTINFO *)mp1);
    24292436      }
    24302437      return 0;
     
    25662573                happ = WinStartApp(hwnd,&pgd,pgd.pszParameters,
    25672574                                   NULL,SAF_MAXIMIZED);
    2568                 if(happ) {
    2569 
     2575                if (!happ) {
     2576                  saymsg(MB_CANCEL | MB_ICONEXCLAMATION,hwnd,
     2577                         GetPString(IDS_ERRORTEXT),
     2578                         GetPString(IDS_CANTSTARTTEXT),
     2579                         p,params);
     2580                }
     2581                else {
    25702582                  APPNOTIFY *info;
    25712583
    2572                   info = malloc(sizeof(APPNOTIFY));
    2573                   if(info) {
    2574                     memset(info,0,sizeof(APPNOTIFY));
     2584                  info = xmallocz(sizeof(APPNOTIFY), pszSrcFile, __LINE__);
     2585                  if (info) {
    25752586                    info->happ = happ;
    25762587                    info->device = *d;
    2577                     if(!apphead)
     2588                    if (!apphead)
    25782589                      apphead = info;
    25792590                    else {
     
    25842595                  }
    25852596                }
    2586                 else
    2587                   saymsg(MB_CANCEL | MB_ICONEXCLAMATION,hwnd,
    2588                          GetPString(IDS_ERRORTEXT),
    2589                          GetPString(IDS_CANTSTARTTEXT),
    2590                          p,params);
    25912597              }
    25922598            }
     
    30683074              ULONG     action = UM_ACTION;
    30693075
    3070               li = malloc(sizeof(LISTINFO));
    3071               if(li) {
    3072                 memset(li,0,sizeof(LISTINFO));
     3076              li = xmallocz(sizeof(LISTINFO),pszSrcFile,__LINE__);
     3077              if (li) {
    30733078                li->type = SHORT1FROMMP(mp1);
    30743079                li->hwnd = hwnd;
     
    31193124                  *li->targetpath = 0;
    31203125                if(!PostMsg(dcd->hwndObject,action,MPFROMP(li),MPVOID)) {
     3126                  Runtime_Error(pszSrcFile, __LINE__, "PostMsg");
    31213127                  FreeListInfo(li);
    3122                   DosBeep(50,100);
    31233128                }
    31243129              }
     
    32523257
    32533258
    3254 HWND StartTreeCnr (HWND hwndParent,ULONG flags) {
    3255 
     3259HWND StartTreeCnr (HWND hwndParent,ULONG flags)
     3260{
    32563261  /* bitmapped flags:
    32573262   * 0x00000001 = don't close app when window closes
     
    32833288                                 &hwndClient);
    32843289  if(hwndFrame && hwndClient) {
    3285     dcd = malloc(sizeof(DIRCNRDATA));
    3286     if(dcd) {
    3287 
     3290    dcd = xmalloc(sizeof(DIRCNRDATA), pszSrcFile, __LINE__);
     3291    if (!dcd) {
     3292      Runtime_Error(pszSrcFile,__LINE__,GetPString(IDS_OUTOFMEMORY));
     3293      PostMsg(hwndClient,WM_CLOSE,MPVOID,MPVOID);
     3294      hwndFrame = (HWND)0;
     3295    }
     3296    else {
    32883297      SWP swp;
    3289 
    32903298      WinQueryWindowPos(hwndFrame,&swp);
    32913299      if(*(ULONG *)realappname == FM3UL)
     
    33763384      }
    33773385    }
    3378     else {
    3379       saymsg(MB_ENTER,hwndParent,DEBUG_STRING,
    3380              GetPString(IDS_OUTOFMEMORY));
    3381       PostMsg(hwndClient,WM_CLOSE,MPVOID,MPVOID);
    3382       hwndFrame = (HWND)0;
    3383     }
    33843386  }
    33853387  return hwndFrame;
Note: See TracChangeset for help on using the changeset viewer.