Changeset 328 for trunk/dll/undel.c


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

Use Runtime_Error

File:
1 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:
Note: See TracChangeset for help on using the changeset viewer.