Changeset 328 for trunk


Ignore:
Timestamp:
Jul 25, 2006, 8:37:24 PM (19 years ago)
Author:
root
Message:

Use Runtime_Error

Location:
trunk/dll
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/undel.c

    r161 r328  
    55
    66  Copyright (c) 1993-98 M. Kimes
    7   Copyright (c) 2004, 2005 Steven H. Levine
     7  Copyright (c) 2004, 2006 Steven H. Levine
    88
    99  01 Aug 04 SHL Rework lstrip/rstrip usage
    1010  24 May 05 SHL Rework Win_Error usage
     11  17 Jul 06 SHL Use Runtime_Error
    1112
    1213***********************************************************************/
     
    1516#define INCL_DOS
    1617#define INCL_WIN
    17 
    1818#include <os2.h>
     19
    1920#include <stdlib.h>
    2021#include <stdio.h>
     
    2223#include <time.h>
    2324#include <ctype.h>
     25
    2426#include "fm3dll.h"
    2527#include "fm3dlg.h"
     
    2729
    2830#pragma data_seg(DATA2)
     31
     32static PSZ pszSrcFile = __FILE__;
     33
    2934#pragma alloc_text(UNDELETE,FillUndelList,UndeleteDlgProc)
    3035
     
    3641
    3742
    38 VOID FillUndelList (VOID *arg) {
    39 
     43VOID FillUndelList (VOID *arg)
     44{
    4045  HWND  hwnd;
    4146  CHAR  s[CCHMAXPATH * 2];
     
    6065    WinSendDlgItemMsg(hwnd,UNDEL_LISTBOX,LM_DELETEALL,MPVOID,MPVOID);
    6166    unlinkf("%s","$UDELETE.#$#");
    62     fp = fopen("$UDELETE.#$#","w");
    63     if(fp) {
     67    fp = xfopen("$UDELETE.#$#","w",pszSrcFile,__LINE__);
     68    if (!fp) {
     69      Win_Error(NULLHANDLE,hwnd,pszSrcFile,__LINE__,
     70                GetPString(IDS_REDIRECTERRORTEXT));
     71      killme = TRUE;
     72      goto Abort;
     73    }
     74    else {
    6475      newstdout = -1;
    65       if(DosDupHandle(fileno(stdout),&newstdout)) {
     76      if (DosDupHandle(fileno(stdout),&newstdout)) {
    6677        saymsg(MB_CANCEL,
    6778               hwnd,
     
    8697      fclose(fp);
    8798    }
    88     else {
    89       Win_Error(NULLHANDLE,hwnd,__FILE__,__LINE__,
    90                 GetPString(IDS_REDIRECTERRORTEXT));
    91       killme = TRUE;
    92       goto Abort;
    93     }
    94     fp = fopen("$UDELETE.#$#","r");
    95     if(fp) {
     99    fp = xfopen("$UDELETE.#$#","r",pszSrcFile,__LINE__);
     100    if (fp) {
    96101      fgets(s,CCHMAXPATH + 128,fp);
    97102      while(!feof(fp)) {
     
    162167
    163168
    164 MRESULT EXPENTRY UndeleteDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    165 
     169MRESULT EXPENTRY UndeleteDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     170{
    166171  SHORT           sSelect;
    167172  static BOOL     listdone,changed = FALSE,refresh = FALSE;
     
    172177      listdone = TRUE;
    173178      if(!mp2 || !*(CHAR *)mp2) {
     179        Runtime_Error(pszSrcFile, __LINE__, "no data");
    174180        WinDismissDlg(hwnd,0);
    175         DosBeep(50,100);
    176181        break;
    177182      }
     
    202207
    203208        listdone = FALSE;
    204         undelinfo = malloc(sizeof(struct tempstruct));
    205         if(undelinfo) {
    206           memset(undelinfo,0,sizeof(undelinfo));
     209        undelinfo = xmallocz(sizeof(struct tempstruct),pszSrcFile,__LINE__);
     210        if (!undelinfo) {
     211          listdone = TRUE;
     212          WinDismissDlg(hwnd,0);
     213        }
     214        else {
    207215          undelinfo->hwnd = hwnd;
    208216          WinQueryDlgItemText(hwnd,
     
    218226                  toupper(*undelinfo->path));
    219227          WinSetWindowText(hwnd,s);
    220           if(_beginthread(FillUndelList,
    221                           NULL,
    222                           65536,
    223                           (PVOID)undelinfo) != -1)
    224             DosSleep(500L);
    225           else {
     228          if (_beginthread(FillUndelList,NULL,65536,(PVOID)undelinfo) == -1)
     229          {
     230            Runtime_Error(pszSrcFile, __LINE__,GetPString(IDS_COULDNTSTARTTHREADTEXT));
    226231            free(undelinfo);
    227232            listdone = TRUE;
    228             saymsg(MB_ENTER,
    229                    hwnd,
    230                    GetPString(IDS_UHOHTEXT),
    231                    GetPString(IDS_COULDNTSTARTTHREADTEXT));
    232233            WinDismissDlg(hwnd,0);
    233           }
    234         }
    235         else {
    236           listdone = TRUE;
    237           saymsg(MB_ENTER,
    238                  hwnd,
    239                  GetPString(IDS_UHOHTEXT),
    240                  GetPString(IDS_OUTOFMEMORY));
    241           WinDismissDlg(hwnd,0);
     234          }
     235          else
     236            DosSleep(500L);
    242237        }
    243238        refresh = FALSE;
     
    291286        case UNDEL_DRIVELIST:
    292287          if(!listdone) {
    293             DosBeep(250,50);
     288            Runtime_Error(pszSrcFile, __LINE__, "not listdone");
    294289            break;
    295290          }
     
    304299                                    3,
    305300                                    s);
    306                 if(isalpha(*s)) {
     301                if (!isalpha(*s)) {
     302                  Runtime_Error(pszSrcFile, __LINE__, "no data");
     303                }
     304                else {
    307305                  drive = toupper(*s);
    308306                  WinQueryDlgItemText(hwnd,
     
    331329                  PostMsg(hwnd,UM_SETUP,MPVOID,MPVOID);
    332330                }
    333                 else
    334                   DosBeep(50,100);
    335331              }
    336332              break;
     
    412408        case UNDEL_DEL:
    413409        case DID_OK:
    414           if(!changed && listdone) {
     410          if (changed || !listdone) {
     411            Runtime_Error(pszSrcFile, __LINE__, "not done");
     412          }
     413          else {
    415414            sSelect = (USHORT)WinSendDlgItemMsg(hwnd,UNDEL_LISTBOX,
    416415                              LM_QUERYSELECTION,MPFROMSHORT(LIT_FIRST),
     
    422421
    423422              DosForceDelete("\\FMUNDEL.CMD");
    424               fp = fopen("\\FMUNDEL.CMD","w");
    425               if(fp) {
     423              fp = xfopen("\\FMUNDEL.CMD","w",pszSrcFile,__LINE__);
     424              if (fp) {
    426425                while(sSelect >= 0) {
    427426                  *s = 0;
     
    478477            }
    479478          }
     479          break;
     480
     481        case DID_CANCEL:
     482          if (!listdone)
     483            Runtime_Error(pszSrcFile, __LINE__, "is busy");
    480484          else
    481             DosBeep(50,100);
    482           break;
    483 
    484         case DID_CANCEL:
    485           if(listdone)
    486485            WinDismissDlg(hwnd,0);
    487           else
    488             DosBeep(100,100);
    489486          break;
    490487
     
    499496
    500497    case WM_CLOSE:
    501       if(listdone)
    502         break;
    503       DosBeep(100,100);
    504       return 0;
     498      if (!listdone) {
     499        Runtime_Error(pszSrcFile, __LINE__, "not listdone");
     500        return 0;
     501      }
     502      break;
    505503
    506504    case WM_DESTROY:
  • trunk/dll/uudecode.c

    r204 r328  
    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  06 Jun 05 SHL Indent -i2
    1212  06 Jun 05 SHL Drop unused code
     13  17 Jul 06 SHL Use Runtime_Error
    1314
    1415***********************************************************************/
     
    1617#define INCL_DOS
    1718#define INCL_WIN
    18 
    1919#include <os2.h>
     20
    2021#include <stdlib.h>
    2122#include <stdio.h>
    2223#include <string.h>
    2324#include <share.h>
     25
    2426#include "fm3dll.h"
    2527#include "fm3dlg.h"
    2628#include "fm3str.h"
     29
     30static PSZ pszSrcFile = __FILE__;
    2731
    2832/* prototypes */
     
    395399                                      MPVOID,
    396400                                      MPVOID);
    397         for (y = 0; y < x; y++)
    398         {
     401        for (y = 0; y < x; y++) {
    399402          *szBuffer = 0;
    400403          WinSendDlgItemMsg(hwnd,
     
    403406                            MPFROM2SHORT(y, CCHMAXPATH),
    404407                            MPFROMP(szBuffer));
    405           if (*szBuffer)
    406           {
     408          if (*szBuffer) {
    407409            error = AddToList(szBuffer,
    408410                              &list,
    409411                              &numfiles,
    410412                              &numalloc);
    411             if (error)
    412             {
    413               DosBeep(250, 100);
     413            if (error) {
     414              Runtime_Error(pszSrcFile, __LINE__, "AddToList");
    414415              break;
    415416            }
     
    418419        if (numfiles && list && numfiles + 1 < numalloc)
    419420        {
    420           test = realloc(list, sizeof(CHAR *) * (numfiles + 1));
     421          test = xrealloc(list, sizeof(CHAR *) * (numfiles + 1),pszSrcFile,__LINE__);
    421422          if (test)
    422423            list = test;
    423424        }
    424         if (list && list[0])
    425         {
     425        if (!list || !list[0]) {
     426          Runtime_Error(pszSrcFile, __LINE__, "no data");
     427          break;
     428        }
     429        else {
    426430          FreeList(wk -> li -> list);
    427431          wk -> li -> list = list;
    428432        }
    429         else
    430         {
    431           DosBeep(50, 100);
    432           break;
    433         }
    434433      }
    435434      WinDismissDlg(hwnd, 1);
    436435      break;
    437     }
     436    } // switch WM_COMMAND mp1
    438437    return 0;
    439   }
     438  } // switch msg
    440439  return WinDefDlgProc(hwnd, msg, mp1, mp2);
    441440}
  • trunk/dll/valid.c

    r274 r328  
    77
    88  Copyright (c) 1993, 1998 M. Kimes
    9   Copyright (c) 2002, 2005 Steven H.Levine
     9  Copyright (c) 2002, 2006 Steven H.Levine
    1010
    1111  23 Nov 02 SHL RootName: rework for sanity
     
    1717  03 Jun 05 SHL Drop CD_DEBUG logic
    1818  28 Nov 05 SHL MakeValidDir: correct DosQuerySysInfo args
     19  22 Jul 06 SHL Use Runtime_Error
    1920
    2021***********************************************************************/
     
    2425#define INCL_DOSDEVICES         // DosDevIOCtl
    2526#define INCL_DOSDEVIOCTL        // DosDevIOCtl
    26 
    2727#include <os2.h>
     28
    2829#include <stdlib.h>
    2930#include <stdio.h>
     
    3233
    3334#include "fm3dll.h"
     35#include "fm3str.h"
     36
     37static PSZ pszSrcFile = __FILE__;
    3438
    3539#pragma alloc_text(VALID,CheckDrive,IsRoot,IsFile,IsFullName,needsquoting)
     
    189193  CHAR          *pfsd;
    190194  ULONG         clBufferSize;
    191   APIRET        ulrc;
     195  APIRET        rc;
    192196  ULONG         ulAction;
    193197  ULONG         clParmBytes;
     
    217221
    218222# define BUFFER_BYTES   4096
    219   if(DosAllocMem(&pvBuffer,BUFFER_BYTES,
    220                  PAG_COMMIT | OBJ_TILE | PAG_READ | PAG_WRITE)) {
    221     DosBeep(50,50);
     223  rc = DosAllocMem(&pvBuffer,BUFFER_BYTES,PAG_COMMIT | OBJ_TILE | PAG_READ | PAG_WRITE);
     224  if (rc) {
     225    Dos_Error(MB_CANCEL,rc,HWND_DESKTOP,pszSrcFile,__LINE__,GetPString(IDS_OUTOFMEMORY));
    222226    return -1;                          // Say failed
    223227  }
     
    228232  clBufferSize = BUFFER_BYTES;
    229233  DosError(FERR_DISABLEHARDERR);
    230   ulrc = DosQueryFSAttach(szPath, 0, FSAIL_QUERYNAME,
     234  rc = DosQueryFSAttach(szPath, 0, FSAIL_QUERYNAME,
    231235                          (PFSQBUFFER2)pvBuffer, &clBufferSize);
    232   if (ulrc)
     236  if (rc)
    233237  {
    234238    /* can't get any info at all */
     
    297301
    298302  DosError(FERR_DISABLEHARDERR);
    299   ulrc = DosOpen(szPath, &hDev, &ulAction, 0, 0, FILE_OPEN,
     303  rc = DosOpen(szPath, &hDev, &ulAction, 0, 0, FILE_OPEN,
    300304                 OPEN_ACCESS_READONLY | OPEN_SHARE_DENYNONE |
    301305                 OPEN_FLAGS_DASD | OPEN_FLAGS_FAIL_ON_ERROR, 0);
    302   if(ulrc)
     306  if(rc)
    303307  {
    304308    DosError(FERR_DISABLEHARDERR);
     
    313317  NonRemovable = 1;                     // Preset as non removable
    314318  DosError(FERR_DISABLEHARDERR);
    315   ulrc = DosDevIOCtl(hDev, IOCTL_DISK, DSK_BLOCKREMOVABLE,
     319  rc = DosDevIOCtl(hDev, IOCTL_DISK, DSK_BLOCKREMOVABLE,
    316320                     &parmPkt.Cmd,              /*  Address of the command-specific argument list. */
    317321                     sizeof(parmPkt.Cmd),       /*  Length, in bytes, of pParams. */
     
    321325                     &clDataBytes);             /*  Pointer to the length of data. */
    322326
    323   if (!ulrc && NonRemovable) {
     327  if (!rc && NonRemovable) {
    324328    // Could be USB so check BPB flags
    325329    clParmBytes = sizeof(parmPkt.Cmd);
     
    327331    memset(&dataPkt, 0xff, sizeof(dataPkt));
    328332    DosError(FERR_DISABLEHARDERR);
    329     ulrc = DosDevIOCtl(hDev, IOCTL_DISK, DSK_GETDEVICEPARAMS,
     333    rc = DosDevIOCtl(hDev, IOCTL_DISK, DSK_GETDEVICEPARAMS,
    330334                       &parmPkt.Cmd,            /*  Address of the command-specific argument list. */
    331335                       sizeof(parmPkt.Cmd),     /*  Length, in bytes, of pParams. */
     
    335339                       &clDataBytes);           /*  Pointer to the length of data. */
    336340
    337     if (!ulrc && (dataPkt.bpb.fsDeviceAttr & BPB_REMOVABLE_MEDIA))
     341    if (!rc && (dataPkt.bpb.fsDeviceAttr & BPB_REMOVABLE_MEDIA))
    338342      NonRemovable = 0;
    339343  }
     
    857861  ULONG   ulAction;
    858862  ULONG   len;
    859   APIRET  ulrc;
     863  APIRET  rc;
    860864  CHAR    buff[512];
    861865
     
    867871                OPEN_ACCESS_READONLY,0L)) {
    868872      len = 512;
    869       ulrc = DosRead(handle,buff,len,&len);
     873      rc = DosRead(handle,buff,len,&len);
    870874      DosClose(handle);
    871       if(!ulrc && len)
     875      if(!rc && len)
    872876        return IsBinary(buff,len);
    873877    }
     
    887891  PFN     WQDPath;
    888892  HMODULE hmod = 0;
    889   APIRET  ulrc;
     893  APIRET  rc;
    890894  ULONG   startdrive = 3L;
    891895  CHAR    objerr[CCHMAXPATH];
    892896
    893   if(!objectpath)
     897  if (!objectpath) {
     898    Runtime_Error(pszSrcFile, __LINE__, "null pointer");
    894899    return;
     900  }
    895901  *objectpath = 0;
    896   if(OS2ver[0] > 20 || (OS2ver[0] == 20 && OS2ver[1] >= 30)) {
     902  if (OS2ver[0] > 20 || (OS2ver[0] == 20 && OS2ver[1] >= 30)) {
    897903    /*
    898904     * if running under warp, we can get the desktop name
    899905     * this way...
    900906     */
    901     ulrc = DosLoadModule(objerr,
     907    rc = DosLoadModule(objerr,
    902908                         sizeof(objerr),
    903909                         "PMWP",
    904910                         &hmod);
    905     if(!ulrc) {
    906       ulrc = DosQueryProcAddr(hmod,
     911    if(!rc) {
     912      rc = DosQueryProcAddr(hmod,
    907913                              262,
    908914                              NULL,
    909915                              &WQDPath);
    910       if(!ulrc)
     916      if(!rc)
    911917        WQDPath(objectpath,size);
    912918      DosFreeModule(hmod);
    913919    }
    914920  }
    915   if(!*objectpath) {
    916     if(!PrfQueryProfileString(HINI_SYSTEMPROFILE,
    917                               "FolderWorkareaRunningObjects",
    918                               NULL,
    919                               "\0",
    920                               (PVOID)objectpath,
    921                               sizeof(objectpath)))
     921  if (!*objectpath) {
     922    // Fall back to INI content
     923    if (!PrfQueryProfileString(HINI_SYSTEMPROFILE,
     924                               "FolderWorkareaRunningObjects",
     925                               NULL,
     926                               "\0",
     927                               (PVOID)objectpath,
     928                               sizeof(objectpath))) {
     929      Win_Error(HWND_DESKTOP,HWND_DESKTOP,pszSrcFile,__LINE__,"PrfQueryProfileString");
    922930      *objectpath = 0;
    923     if(!*objectpath || IsFile(objectpath)) {
    924       DosBeep(250,10);
     931    }
     932    else if (!*objectpath || IsFile(objectpath)) {
     933      Runtime_Error(pszSrcFile, __LINE__, "bad FolderWorkareaRunningObjects");
     934      *objectpath = 0;
     935    }
     936    if (!*objectpath) {
     937      // Fall back - fixme to work for NLS
    925938      DosError(FERR_DISABLEHARDERR);
    926939      DosQuerySysInfo(QSV_BOOT_DRIVE,QSV_BOOT_DRIVE,
  • trunk/dll/viewer.c

    r186 r328  
    77
    88  Copyright (c) 1993-97 M. Kimes
    9   Copyright (c) 2005 Steven H. Levine
     9  Copyright (c) 2005, 2006 Steven H. Levine
    1010
    1111  23 May 05 SHL Use QWL_USER
     12  17 Jul 06 SHL Use Runtime_Error
    1213
    1314***********************************************************************/
     
    1516#define INCL_DOS
    1617#define INCL_WIN
    17 
    1818#include <os2.h>
     19
    1920#include <stdlib.h>
    2021#include <stdio.h>
     
    2223#include <time.h>
    2324#include <io.h>
     25
    2426#include "fm3dll.h"
    2527#include "fm3dlg.h"
     
    2830
    2931#pragma data_seg(DATA1)
     32
     33static PSZ pszSrcFile = __FILE__;
     34
    3035#pragma alloc_text(VIEWER,MLEEditorProc,MLESubProc)
    3136#pragma alloc_text(STARTUP,StartMLEEditor)
     
    6671    return StartViewer(hwndClient,(USHORT)flags,filename,hwndRestore);
    6772
    68   vw = malloc(sizeof(XMLEWNDPTR));
    69   if(!vw) {
    70     DosBeep(50,100);
     73  vw = xmallocz(sizeof(XMLEWNDPTR),pszSrcFile,__LINE__);
     74  if(!vw)
    7175    return (HWND)0;
    72   }
    73   memset(vw,0,sizeof(XMLEWNDPTR));
    7476  vw->size = sizeof(XMLEWNDPTR);
    7577  if(flags & 1) {
     
    758760      }
    759761      switch(SHORT1FROMMP(mp1)) {
    760 /*
     762        /*
    761763        case MLE_PREVIEW:
    762764          preview_text(hwndMLE);
    763765          break;
    764 */
     766        */
    765767        case MLE_VIEWFTP:
    766768          MLEinternet(hwndMLE,TRUE);
     
    871873
    872874        case MLE_TOGGLEREADONLY:
    873           if(!vw->busy && vw->hex != 1) {  /* I dunno why I gotta reset the colors... */
    874 
     875          if (vw->busy || vw->hex == 1) {
     876            DosBeep(50,100);
     877          }
     878          else {
     879            /* I dunno why I gotta reset the colors... */
    875880            BOOL ro;
    876881            LONG fColor,bColor;
     
    914919                       MPVOID);
    915920          }
    916           else
    917             DosBeep(50,100);
    918921          break;
    919922
     
    953956                break;
    954957            }
    955             { /* zero file length instead of unlink (protects EAs from loss) */
     958            {
     959              /* zero file length instead of unlink (protects EAs from loss) */
    956960              FILE *fp;
    957961
    958               fp = fopen(vw->exportfilename,"r+");
    959               if(fp) {
     962              fp = xfopen(vw->exportfilename,"r+",pszSrcFile,__LINE__);
     963              if (fp) {
    960964                oldsize = filelength(fileno(fp));
    961965                DosSetFileSize(fileno(fp),0L);
     
    963967              }
    964968            }
    965             if(!MLEexportfile(hwndMLE,
     969            if (!MLEexportfile(hwndMLE,
    966970                              vw->exportfilename,
    967971                              vw->ExpandTabs,
     
    969973                              vw->fStripTrail)) {
    970974              FILE *fp;
    971 
    972               DosBeep(50,100);
    973               fp = fopen(vw->exportfilename,"r+");
    974               if(fp) {
     975              Runtime_Error(pszSrcFile, __LINE__, "MLEexportfile");
     976              fp = xfopen(vw->exportfilename,"r+",pszSrcFile,__LINE__);
     977              if (fp) {
    975978                DosSetFileSize(fileno(fp),oldsize);
    976979                fclose(fp);
     
    11911194            sip.title = GetPString(IDS_NVLINEJUMPTITLETEXT);
    11921195            numlines = MLEnumlines(hwndMLE);
    1193             if(numlines) {
     1196            if(!numlines)
     1197              DosBeep(50,100);
     1198            else {
    11941199              sprintf(sip.prompt,
    11951200                      GetPString(IDS_NVJUMPTEXT),
     
    12031208                        STR_FRAME,
    12041209                        &sip);
    1205               if(*s) {
     1210              if (*s) {
    12061211                linenum = atol(s);
    1207                 if(linenum > 0 && linenum <= numlines) {
     1212                if (linenum > 0 && linenum <= numlines) {
    12081213                  MLEsettopline(hwndMLE,
    12091214                                MLEstartofline(hwndMLE,
     
    12151220              }
    12161221            }
    1217             else
    1218               DosBeep(50,100);
    12191222          }
    12201223          break;
  • trunk/dll/viewinf.c

    r123 r328  
    44  $Id$
    55
     6  Launch inf viewer
     7
    68  Copyright (c) 1993-98 M. Kimes
    7   Copyright (c) 2004 Steven H.Levine
    8 
    9   Revisions     01 Aug 04 SHL - Rework lstrip/rstrip usage
     9  Copyright (c) 2004, 2006 Steven H.Levine
     10
     11  01 Aug 04 SHL Rework lstrip/rstrip usage
     12  17 Jul 06 SHL Use Runtime_Error
    1013
    1114***********************************************************************/
     
    1518#define INCL_DOS
    1619#define INCL_WIN
    17 
    1820#include <os2.h>
     21
    1922#include <stdio.h>
    2023#include <stdlib.h>
     
    2225#include <ctype.h>
    2326#include <share.h>
     27
    2428#include "fm3dll.h"
    2529#include "fm3dlg.h"
     
    2731
    2832#pragma data_seg(DATA1)
     33
     34static PSZ pszSrcFile = __FILE__;
     35
    2936#pragma alloc_text(VIEWINFS,FillListbox,ViewInfProc)
    3037
     
    3643
    3744
    38 static VOID FillListbox (VOID *args) {
    39 
     45static VOID FillListbox (VOID *args)
     46{
    4047  HWND hwnd;
    4148  DUMMY *dummy = (DUMMY *)args;
     
    7077      }
    7178      else {
    72         holdenv = malloc(strlen(env) + 2L);
    73         if(!holdenv)
    74           saymsg(MB_CANCEL,
    75                  hwnd,
    76                  GetPString(IDS_ERRORTEXT),
    77                  GetPString(IDS_OUTOFMEMORY));
    78         else {
     79        holdenv = xmalloc(strlen(env) + 2L,pszSrcFile,__LINE__);
     80        if (holdenv) {
    7981          strcpy(holdenv,env);
    8082Repeat:
     
    168170                                   &size) &&
    169171               size) {
    170               holdenv = malloc(size + 2L);
    171               if(holdenv) {
    172                 if(PrfQueryProfileData(fmprof,
    173                                        FM3Str,
    174                                        key,
    175                                        holdenv,
    176                                        &size))
     172              holdenv = xmalloc(size + 2L,pszSrcFile,__LINE__);
     173              if (holdenv) {
     174                if (!PrfQueryProfileData(fmprof,FM3Str,key,holdenv,&size)) {
     175                  Win_Error(hwnd,hwnd,pszSrcFile,__LINE__,"PrfQueryProfileData");
     176                  free(holdenv);
     177                }
     178                else
    177179                  goto Repeat;
    178                 else
    179                   free(holdenv);
    180180              }
    181181            }
     
    192192
    193193
    194 MRESULT EXPENTRY ViewInfProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    195 
     194MRESULT EXPENTRY ViewInfProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     195{
    196196  static HWND     hwndMe = (HWND)0;
    197197  static BOOL     help = FALSE;
     
    213213      }
    214214      help = (mp2 != (MPARAM)0);
    215       if(help) {
     215      if (help) {
    216216
    217217        SWP swp;
     
    282282        DUMMY *d;
    283283
    284         d = malloc(sizeof(DUMMY));
    285         if(d) {
    286           memset(d,0,sizeof(DUMMY));
     284        d = xmallocz(sizeof(DUMMY),pszSrcFile,__LINE__);
     285        if (!d) {
     286          WinDismissDlg(hwnd,0);
     287          return 0;
     288        }
     289        else {
    287290          d->size = sizeof(DUMMY);
    288291          d->hwnd = hwnd;
    289           if(help)
     292          if (help)
    290293            d->help = 1;
    291294          if(_beginthread(FillListbox,NULL,65536,(PVOID)d) == -1) {
    292             DosBeep(50,100);
     295            Runtime_Error(pszSrcFile, __LINE__, GetPString(IDS_COULDNTSTARTTHREADTEXT));
    293296            free(d);
    294297            WinDismissDlg(hwnd,0);
     
    297300          WinEnableWindow(WinWindowFromID(hwnd,DID_CANCEL),FALSE);
    298301          threaddone = FALSE;
    299         }
    300         else {
    301           DosBeep(100,100);
    302           WinDismissDlg(hwnd,0);
    303           return 0;
    304302        }
    305303      }
     
    478476                sSelect++;
    479477            }
    480 #else
     478#else // !BUGIFIXED
    481479            for(sSelect = 0;sSelect < sTotal;sSelect++)
    482480              WinSendDlgItemMsg(hwnd,
     
    524522                sSelect++;
    525523            }
    526 #endif
     524#endif // BUGFIXED
    527525          }
    528526          break;
     
    532530            CHAR szBuffer[1001],*key = "INFPaths";
    533531
    534             if(help)
     532            if (help)
    535533              key = "HLPPaths";
    536534            *szBuffer = 0;
     
    569567                                               MPFROM2SHORT(LIT_FIRST,0),
    570568                                               MPVOID);
    571             if(sSelect >= 0) {
    572               if(help) {
     569            if (sSelect < 0) {
     570                DosBeep(50,100);
     571            }
     572            else {
     573              if (help) {
    573574                *text = 0;
    574575                WinSendDlgItemMsg(hwnd,
     
    578579                                  MPFROMP(text));
    579580                p = strchr(text,'>');
    580                 if(!p)
     581                if(!p) {
     582                  DosBeep(50,100);
    581583                  break;
     584                }
    582585                p++;
    583586                  bstrip(p);
    584                 if(*p)
     587                if (!*p)
     588                  DosBeep(50,100);
     589                else
    585590                  ViewHelp(p);
    586                 else
    587                   DosBeep(250,100);
    588591                break;
    589592              }
     
    592595                strcat(filename,"\\");
    593596              strcat(filename,"FM2VINF.CMD");
    594               fp = fopen(filename,"w");
    595               if(fp) {
     597              fp = xfopen(filename,"w",pszSrcFile,__LINE__);
     598              if (fp) {
    596599                fprintf(fp,"@ECHO OFF\nSET FM2REF=");
    597600                while(sSelect >= 0) {
     
    619622                                                     MPFROM2SHORT(sSelect,0),
    620623                                                     MPVOID);
    621                 }
     624                } // while
    622625                *text = 0;
    623626                WinQueryDlgItemText(hwnd,
  • trunk/dll/walkem.c

    r259 r328  
    55
    66  Copyright (c) 1993-98 M. Kimes
    7   Copyright (c) 2005, 2004, 2005 Steven H. Levine
     7  Copyright (c) 2005, 2006 Steven H. Levine
    88
    99  01 Aug 04 SHL Rework lstrip/rstrip usage
     
    1111  13 Aug 05 SHL Run through indent
    1212  13 Aug 05 SHL remove_udir - avoid corrupting last dirs list
     13  17 Jul 06 SHL Use Runtime_Error
    1314
    1415***********************************************************************/
     
    3132
    3233#pragma data_seg(DATA1)
     34
     35static PSZ pszSrcFile = __FILE__;
     36
    3337#pragma alloc_text(WALKER,FillPathListBox,WalkDlgProc,TextSubProc)
    3438#pragma alloc_text(WALKER,WalkAllDlgProc,WalkCopyDlgProc)
     
    157161            if (*s && *s != ';')
    158162            {
    159                 info = malloc(sizeof(LINKDIRS));
    160                 if (info)
    161                 {
    162                     info -> path = strdup(s);
    163                     if (info -> path)
     163                info = xmalloc(sizeof(LINKDIRS),pszSrcFile,__LINE__);
     164                if (info) {
     165                    info -> path = xstrdup(s,pszSrcFile,__LINE__);
     166                    if (!info -> path)
     167                        free(info);
     168                    else
    164169                    {
    165170                        info -> next = NULL;
     
    170175                        last = info;
    171176                    }
    172                     else
    173                         free(info);
    174177                }
    175178            }
     
    194197                strcat(s, "\\");
    195198            strcat(s, "USERDIRS.DAT");
    196             fp = fopen(s, "w");
     199            fp = xfopen(s, "w",pszSrcFile,__LINE__);
    197200            if (fp)
    198201            {
     
    279282            }
    280283            // Append entry to end of user dirs list
    281             info = malloc(sizeof(LINKDIRS));
     284            info = xmalloc(sizeof(LINKDIRS),pszSrcFile,__LINE__);
    282285            if (info)
    283286            {
    284                 info -> path = strdup(path);
    285                 if (info -> path)
     287                info -> path = xstrdup(path,pszSrcFile,__LINE__);
     288                if (!info -> path)
     289                    free(info);
     290                else
    286291                {
    287292                    info -> next = NULL;
     
    303308                    return TRUE;
    304309                }
    305                 else
    306                     free(info);
    307310            }
    308311        }
     
    511514        if (!mp2)
    512515        {
     516            Runtime_Error(pszSrcFile, __LINE__, "no data");
    513517            WinDismissDlg(hwnd, 0);
    514518            break;
    515519        }
    516         wa = malloc(sizeof(WALKER));
     520        wa = xmallocz(sizeof(WALKER),pszSrcFile,__LINE__);
    517521        if (!wa)
    518522        {
    519             DosBeep(50, 100);
    520523            WinDismissDlg(hwnd, 0);
    521524            break;
    522525        }
    523         memset(wa, 0, sizeof(WALKER));
    524526        wa -> size = (USHORT) sizeof(WALKER);
    525527        WinSetWindowPtr(hwnd, 0, (PVOID) wa);
     
    819821                APIRET rc;
    820822
    821 //            *szBuffer = 0;
    822                 //            WinQueryDlgItemText(hwnd,WALK_RECENT,CCHMAXPATH,szBuffer);
     823                // *szBuffer = 0;
     824                // WinQueryDlgItemText(hwnd,WALK_RECENT,CCHMAXPATH,szBuffer);
    823825                if (!*szBuffer)
    824826                    break;
     
    841843                    rc = 0;
    842844                }
    843                 if (!rc && (findbuf.attrFile & FILE_DIRECTORY))
     845                if (rc)
     846                    Dos_Error(MB_CANCEL,rc,hwnd,pszSrcFile,__LINE__,"DosFindFirst");
     847                else if (~findbuf.attrFile & FILE_DIRECTORY)
     848                    Runtime_Error(pszSrcFile, __LINE__, "not a directory");
     849                else
    844850                {
    845851                    strcpy(wa -> szCurrentPath, szBuffer);
     
    851857                                    wa -> szCurrentPath, FALSE);
    852858                }
    853                 else
    854                     DosBeep(50, 100);
    855859            }
    856860            else if (SHORT2FROMMP(mp1) == CBN_ENTER)
     
    892896                    rc = 0;
    893897                }
    894                 if (!rc && (findbuf.attrFile & FILE_DIRECTORY))
     898                if (rc)
     899                    Dos_Error(MB_CANCEL,rc,hwnd,pszSrcFile,__LINE__,"DosFindFirst");
     900                else if (~findbuf.attrFile & FILE_DIRECTORY)
     901                    Runtime_Error(pszSrcFile, __LINE__, "not a directory");
     902                else
    895903                {
    896904                    strcpy(wa -> szCurrentPath, szBuffer);
     
    901909                                    wa -> szCurrentPath, FALSE);
    902910                }
    903                 else
    904                     DosBeep(50, 100);
    905911            }
    906912            else if (SHORT2FROMMP(mp1) == LN_ENTER)
     
    10571063            {
    10581064                MakeFullName(szBuff);
    1059                 if (add_udir(TRUE,
    1060                              szBuff))
    1061                 {
     1065                if (!add_udir(TRUE, szBuff))
     1066                    Runtime_Error(pszSrcFile, __LINE__, "add_udir");
     1067                else {
    10621068                    WinSendDlgItemMsg(hwnd,
    10631069                                      WALK_USERLIST,
     
    10671073                    wa -> changed = 1;
    10681074                }
    1069                 else
    1070                     DosBeep(50, 100);
    10711075            }
    10721076            break;
Note: See TracChangeset for help on using the changeset viewer.