Changeset 347 for trunk/dll


Ignore:
Timestamp:
Jul 26, 2006, 7:43:28 AM (19 years ago)
Author:
root
Message:

Use Runtime_Error

Location:
trunk/dll
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/avv.c

    r313 r347  
    1717  29 May 06 SHL EditArchiverData: rework
    1818  26 Jun 06 SHL rewrite_archiverbb2: include user comments
     19  14 Jul 06 SHL Use Runtime_Error
    1920
    2021***********************************************************************/
     
    3738
    3839#pragma data_seg(DATA1)
    39 #pragma alloc_text(AVV,EditArchiverData,xstrdup,xstrdup_from_window)
     40
     41static PSZ pszSrcFile = __FILE__;
     42
     43#pragma alloc_text(AVV,EditArchiverData,free_and_strdup_from_window)
    4044#pragma alloc_text(AVV,get_int_from_window,get_int2_from_window)
    4145#pragma alloc_text(AVV,get_long_from_window,get_int3_from_window)
     
    4751static LONG get_long_from_window (HWND hwnd,USHORT id);
    4852static PSZ nonull(PSZ a);
    49 static PSZ xstrdup(PSZ pszDest,PSZ pszSrc);
    50 static PSZ xstrdup_from_window(HWND hwnd,USHORT id,PSZ pszDest);
     53static PSZ free_and_strdup_from_window(HWND hwnd,USHORT id,PSZ pszDest);
    5154
    5255//=== EditArchiverData() Select archiver to edit ===
     
    8386}
    8487
    85 static PSZ xstrdup(PSZ a,PSZ b)
    86 {
    87   if (a)
    88     free(a);
    89   if (b && *b)
    90     a = strdup(b);
    91   else
    92     a = NULL;
    93   return a;
    94 }
    95 
    96 static PSZ xstrdup_from_window(HWND hwnd,USHORT id,PSZ pszDest)
     88static PSZ free_and_strdup_from_window(HWND hwnd,USHORT id,PSZ pszDest)
    9789{
    9890  char sz[257] = "";
     91
     92  if (pszDest)
     93    free(pszDest);
    9994
    10095  WinQueryDlgItemText(hwnd,
     
    10297                      255,
    10398                      sz);
    104   pszDest = xstrdup(pszDest,sz);
     99  if (*sz)
     100    pszDest = xstrdup(sz, pszSrcFile, __LINE__);
     101  else
     102    pszDest = NULL;
    105103  return pszDest;
    106104}
     
    634632              for(sSelect = 0;sSelect < 10;sSelect++)
    635633                WinSetDlgItemText(hwnd,AD_FLD1 + sSelect,NullStr);
    636               if(admp->listname) {
     634              if (!admp->listname)
     635                Runtime_Error(pszSrcFile, __LINE__, "no listname");
     636              else {
    637637                sSelect = (SHORT)WinSendDlgItemMsg(hwnd,
    638638                                                   AD_LISTBOX,
     
    645645                                  MPFROM2SHORT(sSelect,255),
    646646                                  MPFROMP(s));
    647                 if(*s) {
    648 
     647                if(!*s)
     648                  Runtime_Error(pszSrcFile, __LINE__, "no text");
     649                else {
    649650                  PSZ p;
    650651                  PSZ pp;
    651 
    652652                  p = s;
    653653                  for(sSelect = 0;sSelect < 10;sSelect++) {
     
    667667                  }
    668668                }
    669                 else
    670                   DosBeep(50,100);
    671669              }
    672               else
    673                 DosBeep(50,100);
    674670              break;
    675671
     
    916912        case DID_OK:
    917913          // fixme to avoid creating empty strings for startlist and endlist
    918           admp->info->startlist = xstrdup_from_window(hwnd,AD_STARTLIST,admp->info->startlist);
    919           admp->info->endlist = xstrdup_from_window(hwnd,AD_ENDLIST,admp->info->endlist);
    920           admp->info->id = xstrdup_from_window(hwnd,AD_ID,admp->info->id);
    921           admp->info->create = xstrdup_from_window(hwnd,AD_ADD,admp->info->create);
    922           admp->info->createwdirs = xstrdup_from_window(hwnd,AD_ADDWPATHS,admp->info->createwdirs);
    923           admp->info->createrecurse = xstrdup_from_window(hwnd,AD_ADDRECURSE,admp->info->createrecurse);
    924           admp->info->movewdirs = xstrdup_from_window(hwnd,AD_MOVEWPATHS,admp->info->movewdirs);
    925           admp->info->move = xstrdup_from_window(hwnd,AD_MOVE,admp->info->move);
    926           admp->info->delete = xstrdup_from_window(hwnd,AD_DELETE,admp->info->delete);
    927           admp->info->test = xstrdup_from_window(hwnd,AD_TEST,admp->info->test);
    928           admp->info->extract = xstrdup_from_window(hwnd,AD_EXTRACT,admp->info->extract);
    929           admp->info->exwdirs = xstrdup_from_window(hwnd,AD_WDIRS,admp->info->exwdirs);
    930           admp->info->ext = xstrdup_from_window(hwnd,AD_EXT,admp->info->ext);
    931           admp->info->signature = xstrdup_from_window(hwnd,
     914          admp->info->startlist = free_and_strdup_from_window(hwnd,AD_STARTLIST,admp->info->startlist);
     915          admp->info->endlist = free_and_strdup_from_window(hwnd,AD_ENDLIST,admp->info->endlist);
     916          admp->info->id = free_and_strdup_from_window(hwnd,AD_ID,admp->info->id);
     917          admp->info->create = free_and_strdup_from_window(hwnd,AD_ADD,admp->info->create);
     918          admp->info->createwdirs = free_and_strdup_from_window(hwnd,AD_ADDWPATHS,admp->info->createwdirs);
     919          admp->info->createrecurse = free_and_strdup_from_window(hwnd,AD_ADDRECURSE,admp->info->createrecurse);
     920          admp->info->movewdirs = free_and_strdup_from_window(hwnd,AD_MOVEWPATHS,admp->info->movewdirs);
     921          admp->info->move = free_and_strdup_from_window(hwnd,AD_MOVE,admp->info->move);
     922          admp->info->delete = free_and_strdup_from_window(hwnd,AD_DELETE,admp->info->delete);
     923          admp->info->test = free_and_strdup_from_window(hwnd,AD_TEST,admp->info->test);
     924          admp->info->extract = free_and_strdup_from_window(hwnd,AD_EXTRACT,admp->info->extract);
     925          admp->info->exwdirs = free_and_strdup_from_window(hwnd,AD_WDIRS,admp->info->exwdirs);
     926          admp->info->ext = free_and_strdup_from_window(hwnd,AD_EXT,admp->info->ext);
     927          admp->info->signature = free_and_strdup_from_window(hwnd,
    932928                                                      AD_SIG,
    933929                                                      admp->info->signature);
    934930          admp->info->siglen = literal(admp->info->signature);
    935           admp->info->list = xstrdup_from_window(hwnd,
     931          admp->info->list = free_and_strdup_from_window(hwnd,
    936932                                                  AD_LIST,
    937933                                                  admp->info->list);
     
    977973
    978974        case AD_TOSTART:
    979           if(admp->listname) {
     975          if(!admp->listname)
     976            Runtime_Error(pszSrcFile, __LINE__, "no listname");
     977          else {
    980978            sSelect = (SHORT)WinSendDlgItemMsg(hwnd,
    981979                                               AD_LISTBOX,
     
    999997                     GetPString(IDS_SELECTFROMLISTTEXT));
    1000998          }
    1001           else
    1002             DosBeep(50,100);
    1003999          return 0;
    10041000
    10051001        case AD_TOEND:
    1006           if(admp->listname) {
     1002          if(!admp->listname)
     1003            Runtime_Error(pszSrcFile, __LINE__, "no listname");
     1004          else {
    10071005            sSelect = (SHORT)WinSendDlgItemMsg(hwnd,
    10081006                                               AD_LISTBOX,
     
    10221020              goto BooBoo;
    10231021          }
    1024           else
    1025             DosBeep(50,100);
    10261022          return 0;
    10271023      }
  • trunk/dll/chklist.c

    r129 r347  
    44  $Id$
    55
    6   Main window
     6  Utility windows and mouse positioning
    77
    88  Copyright (c) 1993-98 M. Kimes
    9   Copyright (c) 2005 Steven H.Levine
    10 
    11   Revisions     10 Jan 05 SHL Allow DND_TARGET to hold CCHMAXPATH
     9  Copyright (c) 2005, 2006 Steven H.Levine
     10
     11  10 Jan 05 SHL Allow DND_TARGET to hold CCHMAXPATH
     12  14 Jul 06 SHL Use Runtime_Error
    1213
    1314***********************************************************************/
     
    1617#define INCL_WIN
    1718#define INCL_GPI
    18 
    1919#include <os2.h>
     20
    2021#include <stdio.h>
    2122#include <stdlib.h>
    2223#include <string.h>
    2324#include <ctype.h>
     25
    2426#include "fm3dll.h"
    2527#include "fm3dlg.h"
     
    2729
    2830#pragma data_seg(DATA1)
     31
     32static PSZ pszSrcFile = __FILE__;
     33
    2934#pragma alloc_text(CHECKLIST,CheckListProc)
    3035#pragma alloc_text(DNDLIST,DropListProc)
    3136#pragma alloc_text(MISC7,PosOverOkay,CenterOverWindow,PopupMenu)
    3237
    33 
    34 VOID CenterOverWindow (HWND hwnd) {
    35 
     38VOID CenterOverWindow (HWND hwnd)
     39{
    3640  SWP    swp;
    3741  POINTL ptl;
     
    4852
    4953
    50 BOOL PopupMenu (HWND hwndParent,HWND hwndOwner,HWND hwndMenu) {
    51 
     54BOOL PopupMenu (HWND hwndParent,HWND hwndOwner,HWND hwndMenu)
     55{
    5256  POINTL ptl;
    5357  BOOL   rc;
     
    6670
    6771
    68 VOID PosOverOkay (HWND hwnd) {
    69 
     72VOID PosOverOkay (HWND hwnd)
     73{
    7074  SWP    swp;
    7175  POINTL ptl;
     
    8286
    8387
    84 MRESULT EXPENTRY CheckListProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    85 
     88MRESULT EXPENTRY CheckListProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     89{
    8690  CHECKLIST *cl;
    8791
     
    207211                  error = AddToList(szBuffer,&cl->list,&numfiles,&numalloc);
    208212                  if(error) {
    209                     DosBeep(250,100);
     213                    Runtime_Error(pszSrcFile, __LINE__, "AddToList");
    210214                    break;
    211215                  }
     
    232236
    233237
    234 MRESULT EXPENTRY DropListProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    235 
     238MRESULT EXPENTRY DropListProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     239{
    236240  CHECKLIST  *cl;
    237241  static BOOL Shadow = FALSE,Wild = FALSE;
     
    538542                if(*szBuffer) {
    539543                  error = AddToList(szBuffer,&cl->list,&numfiles,&numalloc);
    540                   if(error) {
    541                     DosBeep(250,100);
     544                  if (error) {
     545                    Runtime_Error(pszSrcFile, __LINE__, "AddToList");
    542546                    break;
    543547                  }
  • trunk/dll/codepage.c

    r2 r347  
     1
     2/***********************************************************************
     3
     4  $Id$
     5
     6  Select code page
     7
     8  Copyright (c) 1993-98 M. Kimes
     9  Copyright (c) 2006 Steven H.Levine
     10
     11  14 Jul 06 SHL Use Runtime_Error
     12
     13***********************************************************************/
     14
    115#define INCL_DOS
    216#define INCL_WIN
    3 
    417#include <os2.h>
     18
    519#include <stdlib.h>
    620#include <stdio.h>
    721#include <string.h>
    822#include <time.h>
     23
    924#include "fm3dll.h"
    1025#include "fm3dlg.h"
     
    1227
    1328#pragma data_seg(DATA1)
     29
     30static PSZ pszSrcFile = __FILE__;
    1431
    1532#pragma alloc_text(FMCODEPAGE,PickCodePageDlgBox,PickCodepage)
     
    151168                                257,
    152169                                s);
    153             if(*s) {
     170            if(!*s)
     171              Runtime_Error(pszSrcFile, __LINE__, "no input");
     172            else {
    154173              for(x = 0;
    155174                  (p = GetPString(IDS_CODEPAGES1 + x)) != NULL;
     
    161180              }
    162181            }
    163             else
    164               DosBeep(50,100);
    165182          }
    166183          break;
  • trunk/dll/colors.c

    r2 r347  
     1
     2/***********************************************************************
     3
     4  $Id$
     5
     6  Set colors
     7
     8  Copyright (c) 1993-98 M. Kimes
     9  Copyright (c) 2006 Steven H. Levine
     10
     11  14 Jul 06 SHL Use Runtime_Error
     12
     13***********************************************************************/
     14
    115#define INCL_DOS
    216#define INCL_WIN
    317#define INCL_GPI
    4 
    518#include <os2.h>
     19
    620#include <stdlib.h>
    721#include <stdio.h>
    822#include <string.h>
     23#include <ctype.h>
     24
    925#include "fm3dll.h"
    1026#include "fm3dlg.h"
    11 #include <ctype.h>
    1227
    1328#pragma data_seg(DATA2)
     29
     30static PSZ pszSrcFile = __FILE__;
     31
    1432#pragma alloc_text(COLORS,ColorDlgProc)
    1533
    16 
    17 MRESULT EXPENTRY ColorDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    18 
     34MRESULT EXPENTRY ColorDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     35{
    1936  COLORS *co;
    2037
     
    139156            co->colors[co->currentcolor] = (LONG)(SHORT1FROMMP(mp1) -
    140157                                                  COLOR_FIRST);
    141             DosBeep(1000,1);
     158            DosBeep(1000,1);            // fixme to be gone?
    142159          }
    143160          break;
     
    154171                                                   MPFROMSHORT(LIT_FIRST),
    155172                                                   MPVOID);
    156                 if(sSelect >= 0) {
     173                if(sSelect < 0)
     174                  Runtime_Error(pszSrcFile, __LINE__, "LM_QUERYSELECTION");
     175                else {
    157176                  co->currentcolor = (USHORT)sSelect;
    158177                  WinCheckButton(hwnd,COLOR_FIRST +
    159178                                      co->colors[co->currentcolor],TRUE);
    160179                }
    161                 else
    162                   DosBeep(250,100);
    163180              }
    164181              break;
  • trunk/dll/command.c

    r204 r347  
    44  $Id$
    55
     6  Custom commands
     7
    68  Copyright (c) 1993-98 M. Kimes
    7   Copyright (c) 2004, 2005 Steven H. Levine
     9  Copyright (c) 2004, 2006 Steven H. Levine
    810
    911  01 Aug 04 SHL Rework lstrip/rstrip usage
    1012  06 Jun 05 SHL Drop unused code
     13  14 Jul 06 SHL Use Runtime_Error
    1114
    1215***********************************************************************/
     
    1417#define INCL_DOS
    1518#define INCL_WIN
    16 
    1719#include <os2.h>
     20
    1821#include <stdio.h>
    1922#include <stdlib.h>
     
    2124#include <ctype.h>
    2225#include <share.h>
     26
    2327#include "fm3dll.h"
    2428#include "fm3dlg.h"
     
    3337
    3438#pragma data_seg(DATA1)
     39
     40static PSZ pszSrcFile = __FILE__;
     41
    3542#pragma alloc_text(COMMAND,command_title,free_commands,add_command,kill_command)
    3643#pragma alloc_text(COMMAND,CommandDlgProc,EditCommands,ReOrderProc,CommandTextProc)
    3744
    3845
    39 MRESULT EXPENTRY CommandTextProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    40 
     46MRESULT EXPENTRY CommandTextProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     47{
    4148  PFNWP       oldproc = (PFNWP)WinQueryWindowPtr(hwnd,0);
    4249  static BOOL emphasized = FALSE;
     
    8794
    8895
    89 MRESULT EXPENTRY ReOrderProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    90 
     96MRESULT EXPENTRY ReOrderProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     97{
    9198  switch(msg) {
    9299    case WM_INITDLG:
     
    104111                                       MPFROMSHORT(LIT_END),
    105112                                       MPFROMP(info->title));
    106           if(x >= 0)
     113          if(x < 0) {
     114            Runtime_Error(pszSrcFile, __LINE__, "no cmd");
     115            WinDismissDlg(hwnd,0);
     116          }
     117          else {
    107118            WinSendDlgItemMsg(hwnd,RE_ADDLISTBOX,LM_SETITEMHANDLE,
    108119                              MPFROMSHORT(x),MPFROMP(info));
    109           else {
    110             DosBeep(50,100);
    111             WinDismissDlg(hwnd,0);
    112           }
     120          }
    113121          info = info->next;
    114122        }
     
    275283
    276284
    277 CHAR *command_title (INT cx) {
    278 
     285CHAR *command_title (INT cx)
     286{
    279287  static CHAR  duh[] = "???";
    280288  LINKCMDS    *info;
     
    293301
    294302
    295 VOID free_commands (VOID) {
    296 
     303VOID free_commands (VOID)
     304{
    297305  LINKCMDS *info,*next;
    298306
     
    309317
    310318
    311 VOID load_commands (VOID) {
    312 
     319VOID load_commands (VOID)
     320{
    313321  FILE     *fp;
    314322  LINKCMDS *info;
     
    342350      if(!*cl)
    343351        continue;
    344       info = malloc(sizeof(LINKCMDS));
     352      info = xmallocz(sizeof(LINKCMDS),pszSrcFile,__LINE__);
    345353      if(info) {
    346         memset(info,0,sizeof(LINKCMDS));
    347         info->cl = strdup(cl);
    348         info->title = strdup(title);
     354        info->cl = xstrdup(cl,pszSrcFile,__LINE__);
     355        info->title = xstrdup(title,pszSrcFile,__LINE__);
    349356        info->flags = atol(flags);
    350357        if(!info->cl || !info->title) {
     
    370377
    371378
    372 VOID save_commands (VOID) {
    373 
     379VOID save_commands (VOID)
     380{
    374381  LINKCMDS *info;
    375382  FILE     *fp;
     
    383390    strcat(s,"\\");
    384391  strcat(s,"COMMANDS.DAT");
    385   fp = fopen(s,"w");
    386   if(fp) {
     392  fp = xfopen(s,"w",pszSrcFile,__LINE__);
     393  if (fp) {
    387394    fputs(GetPString(IDS_COMMANDFILETEXT),fp);
    388395    info = cmdhead;
     
    400407
    401408
    402 LINKCMDS * add_command (COMMAND *addme) {
    403 
     409LINKCMDS * add_command (COMMAND *addme)
     410{
    404411  LINKCMDS *info;
    405412
     
    412419    }
    413420    if(!info) {
    414       info = malloc(sizeof(LINKCMDS));
     421      info = xmallocz(sizeof(LINKCMDS),pszSrcFile,__LINE__);
    415422      if(info) {
    416         memset(info,0,sizeof(LINKCMDS));
    417         info->cl = strdup(addme->cl);
    418         info->title = strdup(addme->title);
     423        info->cl = xstrdup(addme->cl,pszSrcFile,__LINE__);
     424        info->title = xstrdup(addme->title,pszSrcFile,__LINE__);
    419425        if(addme->flags)
    420426          info->flags = addme->flags;
     
    443449
    444450
    445 BOOL kill_command (CHAR *killme) {
    446 
     451BOOL kill_command (CHAR *killme)
     452{
    447453  LINKCMDS *info;
    448454
     
    476482
    477483
    478 MRESULT EXPENTRY CommandDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    479 
     484MRESULT EXPENTRY CommandDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     485{
    480486  SHORT     x;
    481487  LINKCMDS *info;
     
    530536                                                   MPVOID);
    531537              if(!info) {
    532                 DosBeep(50,100);
     538                Runtime_Error(pszSrcFile, __LINE__, "LM_QUERYITEMHANDLE");
    533539                break;
    534540              }
     
    584590        case CMD_REORDER:
    585591          if(!cmdhead || !cmdhead->next) {
    586             DosBeep(250,100);
     592            Runtime_Error(pszSrcFile, __LINE__, "no cmd");
    587593            break;
    588594          }
     
    682688              temp.flags |= ONCE;
    683689            info = add_command(&temp);
    684             if(info) {
     690            if(!info)
     691              Runtime_Error(pszSrcFile, __LINE__, "add_command");
     692            else {
    685693              {
    686694                CHAR env[1002];
     
    717725              }
    718726            }
    719             else
    720               DosBeep(50,200);
    721727          }
    722728          break;
     
    728734            WinQueryDlgItemText(hwnd,CMD_TITLE,34,temp);
    729735            bstrip(temp);
    730             if(kill_command(temp)) {
     736            if (!kill_command(temp))
     737              Runtime_Error(pszSrcFile, __LINE__, "kill_command");
     738            else {
    731739              x = (SHORT)WinSendDlgItemMsg(hwnd,
    732740                                           CMD_LISTBOX,
     
    748756              save_commands();
    749757            }
    750             else
    751               DosBeep(50,200);
    752758          }
    753759          break;
     
    759765
    760766
    761 VOID RunCommand (HWND hwnd,INT cx) {
    762 
     767VOID RunCommand (HWND hwnd,INT cx)
     768{
    763769  INT          x;
    764770  CHAR       **list;
     
    819825
    820826
    821 VOID EditCommands (HWND hwnd) {
    822 
     827VOID EditCommands (HWND hwnd)
     828{
    823829  static CHAR stop = 0;
    824830
     
    836842  stop = 0;
    837843}
    838 
  • trunk/dll/copyf.c

    r173 r347  
    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  14 Sep 02 SHL Drop obsolete debug code
    1212  14 Oct 02 SHL Drop obsolete debug code
    1313  10 Nov 02 SHL docopyf - don't forget to terminate longname
    14                         optimize longname logic
     14                optimize longname logic
    1515  01 Aug 04 SHL Rework lstrip/rstrip usage
    1616  28 May 05 SHL Drop debug code
     17  14 Jul 06 SHL Use Runtime_Error
    1718
    1819***********************************************************************/
     
    2122#define INCL_DOSERRORS
    2223#define INCL_WIN
    23 
    2424#include <os2.h>
     25
    2526#include <io.h>
    2627#include <string.h>
     
    3031#include <ctype.h>
    3132#include <time.h>
     33
    3234#include "fm3dll.h"
     35#include "fm3str.h"
     36
     37static PSZ pszSrcFile = __FILE__;
    3338
    3439#ifndef WinMoveObject
     
    4954
    5055
    51 char *MakeTempName (char *buffer) {
    52 
     56char *MakeTempName (char *buffer)
     57{
    5358  FILESTATUS3 fs3;
    5459  APIRET      rc;
     
    9196
    9297
    93 CHAR *TruncName (CHAR *oldname,CHAR *buffer) {
    94 
     98CHAR *TruncName (CHAR *oldname,CHAR *buffer)
     99{
    95100  CHAR       *p,*f,*s,*o;
    96101  FILESTATUS3 fs3;
     
    188193
    189194
    190 CHAR *GetLongName (CHAR *oldname,CHAR *longname) {
    191 
     195CHAR *GetLongName (CHAR *oldname,CHAR *longname)
     196{
    192197  if(!longname)
    193198    return NULL;
     
    219224      *value = 0;
    220225    }
    221     pgealist = malloc(sizeof(GEA2LIST) + 32);
    222     if(pgealist) {
    223       memset(pgealist,0,sizeof(GEA2LIST) + 32);
     226    pgealist = xmallocz(sizeof(GEA2LIST) + 32,pszSrcFile,__LINE__);
     227    if (pgealist) {
    224228      pgea = &pgealist->list[0];
    225229      strcpy(pgea->szName,LONGNAME);
     
    227231      pgea->oNextEntryOffset = 0L;
    228232      pgealist->cbList = (sizeof(GEA2LIST) + pgea->cbName);
    229       pfealist = malloc(1536);
    230       if(pfealist) {
    231         memset(pfealist,0,1024);
     233      pfealist = xmallocz(1536,pszSrcFile,__LINE__);
     234      if (pfealist) {
    232235        pfealist->cbList = 1024;
    233236        eaop.fpGEA2List = pgealist;
     
    258261
    259262
    260 BOOL ZapLongName (char *filename) {
    261 
     263BOOL ZapLongName (char *filename)
     264{
    262265  return WriteLongName(filename, "");
    263266}
    264267
    265268
    266 BOOL WriteLongName (CHAR *filename,CHAR *longname) {
    267 
     269BOOL WriteLongName (CHAR *filename,CHAR *longname)
     270{
    268271  APIRET    rc;
    269272  EAOP2     eaop;
     
    293296  else
    294297    ealen = sizeof(FEALIST) + 10;
    295   if(!DosAllocMem((PPVOID)&pfealist,
    296                   ealen + 32L,
    297                   OBJ_TILE | PAG_COMMIT | PAG_READ | PAG_WRITE)) {
     298  rc = DosAllocMem((PPVOID)&pfealist,
     299                   ealen + 32L,
     300                   OBJ_TILE | PAG_COMMIT | PAG_READ | PAG_WRITE);
     301  if (rc)
     302    Dos_Error(MB_CANCEL,rc,HWND_DESKTOP,pszSrcFile,__LINE__,GetPString(IDS_OUTOFMEMORY));
     303  else {
    298304    memset(pfealist,
    299305           0,
     
    335341
    336342
    337 BOOL AdjustWildcardName (CHAR *oldname,CHAR *newname) {
    338 
     343BOOL AdjustWildcardName (CHAR *oldname,CHAR *newname)
     344{
    339345  BOOL ret = FALSE;
    340346
     
    365371
    366372
    367 CHAR default_disk (VOID) {
    368 
     373CHAR default_disk (VOID)
     374{
    369375  ULONG ulDriveNum,ulDriveMap;
    370376
     
    377383#ifdef NEVER
    378384
    379 APIRET docopyallf (INT type,CHAR *oldname,CHAR *newname,...) {
    380 
     385APIRET docopyallf (INT type,CHAR *oldname,CHAR *newname,...)
     386{
    381387  FILEFINDBUF3 fb;
    382388  ULONG        nm;
     
    421427
    422428
    423 APIRET docopyf (INT type,CHAR *oldname,CHAR *newname,...) {
    424 
     429APIRET docopyf (INT type,CHAR *oldname,CHAR *newname,...)
     430{
    425431  /*
    426432   * returns:
     
    766772
    767773    default:  /* shouldn't happen */
    768       DosBeep(50,100);
     774      Runtime_Error(pszSrcFile, __LINE__, "bad case %u", type);
    769775      break;
    770776  }
     
    773779
    774780
    775 INT make_deleteable (CHAR *filename) {
    776 
     781INT make_deleteable (CHAR *filename)
     782{
    777783  INT ret = -1;
    778784  FILESTATUS3 fsi;
     
    796802
    797803
    798 INT wipeallf (CHAR *string,...) {
    799 
     804INT wipeallf (CHAR *string,...)
     805{
    800806  /* unlink everything from directory on down... */
    801807
     
    820826  }
    821827
    822   str = strdup(s);
     828  str = xstrdup(s,pszSrcFile,__LINE__);
    823829  if(!str)
    824830    return -1;
     
    832838      temp = *p;
    833839      *p = 0;
    834       if(IsRoot(str) || !IsFullName(str)) {   /* under no circumstances! */
     840      if(IsRoot(str) || !IsFullName(str)) {
     841        /* under no circumstances! */
     842        Runtime_Error(pszSrcFile, __LINE__, "bad name %s", str);
    835843        free(str);
    836         DosBeep(100,250);
    837844        return -1;
    838845      }
     
    856863  }
    857864
    858   ss = (CHAR *)malloc(CCHMAXPATH);
    859   f = (FILEFINDBUF3 *)malloc(sizeof(FILEFINDBUF3));
    860   if(!ss || !f) {
    861     if(ss)
    862       free(ss);
    863     if(f)
    864       free(f);
     865  ss = xmalloc(CCHMAXPATH,pszSrcFile,__LINE__);
     866  f = xmalloc(sizeof(FILEFINDBUF3),pszSrcFile,__LINE__);
     867  if (!ss || !f) {
     868    xfree(ss);
     869    xfree(f);
    865870    free(str);
    866871    return -1;
     
    915920
    916921
    917 INT unlink_allf (CHAR *string,...) {
    918 
     922INT unlink_allf (CHAR *string,...)
     923{
    919924  /* wildcard delete */
    920925
     
    938943  }
    939944
    940   str = strdup(s);
    941   if(!str)
     945  str = xstrdup(s,pszSrcFile,__LINE__);
     946  if (!str)
    942947    return -1;
    943948
     
    953958    *s = 0;
    954959
    955   ss = (CHAR *)malloc(CCHMAXPATH);
    956   f = (FILEFINDBUF3 *)malloc(sizeof(FILEFINDBUF3));
    957   if(!ss || !f) {
    958     if(ss)
    959       free(ss);
    960     if(f)
    961       free(f);
     960  ss = xmalloc(CCHMAXPATH,pszSrcFile,__LINE__);
     961  f = xmalloc(sizeof(FILEFINDBUF3),pszSrcFile,__LINE__);
     962  if (!ss || !f) {
     963    xfree(ss);
     964    xfree(f);
    962965    free(str);
    963966    return -1;
     
    991994
    992995
    993 INT unlinkf (CHAR *string,...) {
    994 
     996INT unlinkf (CHAR *string,...)
     997{
    995998  CHAR buffer[CCHMAXPATH];
    996999  va_list ap;
  • trunk/dll/defview.c

    r92 r347  
    55
    66  Copyright (c) 1993-98 M. Kimes
    7   Copyright (c) 2003 Steven H.Levine
    8 
    9   Archive containers
    10 
    11   Revisions     20 Nov 03 SHL - ShowMultimedia: try to convince fmplay to not play exes (Gregg Young)
     7  Copyright (c) 2003, 2006 Steven H.Levine
     8
     9  Default file viewer
     10
     11  20 Nov 03 SHL ShowMultimedia: try to convince fmplay to not play exes (Gregg Young)
     12  14 Jul 06 SHL Use Runtime_Error
    1213
    1314***********************************************************************/
     
    1718#define INCL_GPI
    1819#define INCL_MMIOOS2
    19 
    2020#include <os2.h>
    2121#include <os2me.h>
     22
    2223#include <stdio.h>
    2324#include <stdlib.h>
    2425#include <string.h>
    2526#include <ctype.h>
     27
    2628#include "fm3dll.h"
    2729#include "fm3dlg.h"
     30
     31static PSZ pszSrcFile = __FILE__;
    2832
    2933#pragma alloc_text(DEFVIEW,DefaultView,ShowMultimedia,DefaultViewKeys)
     
    113117
    114118VOID DefaultViewKeys (HWND hwnd,HWND hwndFrame,HWND hwndParent,
    115                       SWP *swp,CHAR *filename) {
    116 
     119                      SWP *swp,CHAR *filename)
     120{
    117121  if((shiftstate & (KC_CTRL | KC_SHIFT)) ==
    118122     (KC_CTRL | KC_SHIFT))
     
    148152
    149153VOID DefaultView (HWND hwnd,HWND hwndFrame,HWND hwndParent,SWP *swp,
    150                   ULONG flags,CHAR *filename) {
    151 
     154                  ULONG flags,CHAR *filename)
     155{
    152156  /*
    153157   * bitmapped flags:
     
    170174    flags &= (~16);
    171175    if(!IsFile(filename)) {
    172       DosBeep(50,100);
     176      Runtime_Error(pszSrcFile, __LINE__, "%s not found", filename);
    173177      return;
    174178    }
  • trunk/dll/eas.c

    r207 r347  
    44  $Id$
    55
     6  Display/edit EAs
     7
    68  Copyright (c) 1993-98 M. Kimes
    7   Copyright (c) 2004, 2005 Steven H. Levine
     9  Copyright (c) 2004, 2006 Steven H. Levine
    810
    911  01 Aug 04 SHL Rework lstrip/rstrip usage
     
    1113  06 Jun 05 SHL Rework DisplayEAsProc for VAC3.65 compat
    1214  06 Jun 05 SHL Drop unused variables
     15  17 Jul 06 SHL Use Runtime_Error
    1316
    1417***********************************************************************/
     
    3033
    3134#pragma data_seg(DATA1)
     35
     36static PSZ pszSrcFile = __FILE__;
     37
    3238#pragma alloc_text(EAS,DisplayEAsProc,SaveEA,HexDumpEA,CheckEA,AddEAProc)
    3339#pragma alloc_text(EAS1,HexDump,GetFileEAs,Free_FEAList)
     
    172178            ULONG ealen;
    173179            CHAR *eaval;
     180            APIRET rc;
    174181
    175182            ealen = sizeof(FEA2LIST) + strlen(s) + 64;
    176             if (!DosAllocMem((PPVOID) & pfealist, ealen + 1L,
    177                              OBJ_TILE | PAG_COMMIT | PAG_READ | PAG_WRITE))
    178             {
     183            rc = DosAllocMem((PPVOID) & pfealist, ealen + 1L,
     184                             OBJ_TILE | PAG_COMMIT | PAG_READ | PAG_WRITE);
     185            if (rc)
     186              Dos_Error(MB_CANCEL,rc,HWND_DESKTOP,pszSrcFile,__LINE__,GetPString(IDS_OUTOFMEMORY));
     187            else {
    179188              memset(pfealist, 0, ealen + 1);
    180189              pfealist -> cbList = ealen;
     
    322331      break;
    323332    }
    324     eap = malloc(sizeof(EAPROCDATA));
     333    eap = xmalloc(sizeof(EAPROCDATA),pszSrcFile,__LINE__);
    325334    if (!eap)
    326335    {
     
    841850          }
    842851          if (!isalpha(*eap -> filename) ||
    843           (driveflags[toupper(*eap -> filename) - 'A'] & DRIVE_NOTWRITEABLE))
     852              (driveflags[toupper(*eap -> filename) - 'A'] & DRIVE_NOTWRITEABLE))
    844853          {
    845854            WinEnableWindow(WinWindowFromID(hwnd, EA_CHANGE), FALSE);
     
    932941        USHORT control;
    933942
    934         if (eap -> head && *eap -> filename)
     943        if (!eap -> head || !*eap -> filename)
     944          Runtime_Error(pszSrcFile, __LINE__, "no data");
     945        else
    935946        {
    936947          switch (*(USHORT *) eap -> current -> value)
     
    947958            break;
    948959          default:
    949             DosBeep(250, 100);
     960            Runtime_Error(pszSrcFile, __LINE__, "unexpected type");
    950961            WinShowWindow(WinWindowFromID(hwnd, EA_CHANGE), FALSE);
    951962            control = 0;
     
    953964          if (control)
    954965          {
    955             s = malloc(32768);
    956             if (s)
    957             {
     966            s = xmalloc(32768,pszSrcFile,__LINE__);
     967            if (s) {
    958968              *s = 0;
    959969              WinQueryDlgItemText(hwnd, control, 32767L, (PCH) s);
    960               if (*s)
    961               {
    962 
     970              if (!*s)
     971                Runtime_Error(pszSrcFile, __LINE__, "no data");
     972              else {
    963973                PFEA2LIST pfealist;
    964974
    965975                pfealist = SaveEA(eap -> filename, eap -> current, s, FALSE);
    966                 if (pfealist)
    967                 {
    968 
     976                if (!pfealist)
     977                  Runtime_Error(pszSrcFile, __LINE__, "SaveEA");
     978                else {
    969979                  PFEA2 pfea;
    970980
    971                   pfea = malloc(pfealist -> cbList);
    972                   if (pfea)
    973                   {
     981                  pfea = xmalloc(pfealist -> cbList,pszSrcFile,__LINE__);
     982                  if (pfea) {
    974983                    memcpy(pfea, pfealist -> list,
    975984                           pfealist -> cbList - sizeof(ULONG));
     
    988997                  DosFreeMem(pfealist);
    989998                }
    990                 else
    991                   DosBeep(250, 100);
    992999              }
    993               else
    994                 DosBeep(500, 100);
    9951000              free(s);
    9961001            }
    997             else
    998               DosBeep(100, 100);
    9991002          }
    10001003        }
    1001         else
    1002           DosBeep(50, 100);
    10031004      }
    10041005      break;
     
    10141015        SHORT sSelect;
    10151016
    1016         pfealist = malloc(sizeof(FEA2LIST) + eap -> current -> cbName + 1);
    1017         if (pfealist)
    1018         {
    1019           memset(pfealist, 0, sizeof(FEA2LIST) + eap -> current -> cbName + 1);
     1017        pfealist = xmallocz(sizeof(FEA2LIST) + eap -> current -> cbName + 1,pszSrcFile,__LINE__);
     1018        if (pfealist) {
    10201019          pfealist -> cbList = sizeof(FEA2LIST) + eap -> current -> cbName + 1;
    10211020          pfealist -> list[0].cbName = eap -> current -> cbName;
     
    10301029                              (ULONG) sizeof(EAOP2), DSPI_WRTTHRU);
    10311030          free(pfealist);
    1032           if (!rc)
    1033           {
     1031          if (rc)
     1032            Dos_Error(MB_CANCEL,rc,hwnd,pszSrcFile,__LINE__,"DosSetPathInfo");
     1033          else {
    10341034            sSelect = 0;
    1035             if (eap -> current == eap -> head)
    1036             {
     1035            if (eap -> current == eap -> head) {
    10371036              eap -> head = eap -> head -> next;
    10381037              free(eap -> current -> pfea);
     
    10401039              eap -> current = NULL;
    10411040            }
    1042             else
    1043             {
     1041            else {
    10441042              info = eap -> head;
    1045               while (info)
    1046               {
    1047                 if (info -> next == eap -> current)
    1048                 {
     1043              while (info) {
     1044                if (info -> next == eap -> current) {
    10491045                  sSelect++;
    10501046                  info -> next = eap -> current -> next;
     
    10781074                              MPFROM2SHORT(TRUE, 0));
    10791075          }
    1080           else
    1081             DosBeep(50, 100);
    10821076        }
    10831077      }
     
    11171111    }
    11181112    break;
    1119   }
     1113  } // switch
    11201114  return WinDefDlgProc(hwnd, msg, mp1, mp2);
    11211115}
     
    11711165  }
    11721166
    1173   if (!DosAllocMem((PPVOID) & pfealist, ealen,
    1174                    OBJ_TILE | PAG_COMMIT | PAG_READ | PAG_WRITE))
     1167  rc = DosAllocMem((PPVOID) & pfealist, ealen,
     1168                   OBJ_TILE | PAG_COMMIT | PAG_READ | PAG_WRITE);
     1169  if (rc)
     1170    Dos_Error(MB_CANCEL,rc,HWND_DESKTOP,pszSrcFile,__LINE__,GetPString(IDS_OUTOFMEMORY));
     1171  else
    11751172  {
    11761173    memset(pfealist, 0, ealen);
     
    12861283      (ULONG) pfealist -> list[0].cbValue;
    12871284
    1288 /*
    1289    {
    1290    FILE *fp;
    1291 
    1292    fp = fopen("test","wb");
    1293    if(fp) {
    1294    fwrite(pfealist,pfealist->cbList,1,fp);
    1295    fclose(fp);
    1296    }
    1297    }
    1298  */
    1299 
    13001285    rc = DosSetPathInfo(filename, FIL_QUERYEASIZE, (PVOID) & eaop,
    13011286                        (ULONG) sizeof(EAOP2), DSPI_WRTTHRU);
     
    13071292    if (rc && !silentfail)
    13081293    {
    1309       if (rc == ERROR_ACCESS_DENIED || rc == ERROR_SHARING_VIOLATION)
     1294      if (rc == ERROR_ACCESS_DENIED || rc == ERROR_SHARING_VIOLATION) {
    13101295        saymsg(MB_ENTER,
    13111296               HWND_DESKTOP,
     
    13141299               current -> name,
    13151300               filename);
    1316       else
     1301      }
     1302      else {
    13171303        Dos_Error(MB_ENTER,
    13181304                  rc,
    13191305                  HWND_DESKTOP,
    1320                   __FILE__,
     1306                  pszSrcFile,
    13211307                  __LINE__,
    13221308                  GetPString(IDS_ERRORWRITEEATEXT),
     
    13241310                  filename,
    13251311                  eaop.oError);
     1312      }
    13261313    }
    13271314  }
     
    13611348      ULONG x = 1L, ecnt = 1L;
    13621349
    1363       pdena = malloc(65536 + 1024);
     1350      pdena = xmalloc(65536 + 1024,pszSrcFile,__LINE__);
    13641351      if (pdena)
    13651352      {
     
    13681355               ecnt)
    13691356        {
    1370           pgealist = malloc(64 + pdena -> cbName);
     1357          pgealist = xmalloc(64 + pdena -> cbName,pszSrcFile,__LINE__);
    13711358          if (pgealist)
    13721359          {
     
    13761363            pgea -> cbName = pdena -> cbName;
    13771364            memcpy(pgea -> szName, pdena -> szName, pdena -> cbName + 1);
    1378             pfealist = malloc(64 + pdena -> cbName + pdena -> cbValue);
    1379             if (pfealist)
    1380             {
    1381               memset(pfealist, 0, 64 + pdena -> cbName + pdena -> cbValue);
     1365            pfealist = xmallocz(64 + pdena -> cbName + pdena -> cbValue,pszSrcFile,__LINE__);
     1366            if (pfealist) {
    13821367              pfealist -> cbList = 64 + pdena -> cbName + pdena -> cbValue;
    13831368              eaop.fpGEA2List = pgealist;
    13841369              eaop.fpFEA2List = pfealist;
    13851370              eaop.oError = 0L;
    1386 // saymsg(MB_ENTER,HWND_DESKTOP,"Debug1","\"%s\" %ld",pdena->szName,x);
     1371              // saymsg(MB_ENTER,HWND_DESKTOP,"Debug1","\"%s\" %ld",pdena->szName,x);
    13871372              rc = DosQueryFileInfo(handle, FIL_QUERYEASFROMLIST, (PVOID) & eaop,
    13881373                                    (ULONG) sizeof(EAOP2));
    1389               if (!rc)
    1390               {
    1391                 info = malloc(sizeof(HOLDFEA));
     1374              if (rc) {
     1375                if (!silentfail) {
     1376                  Dos_Error(MB_ENTER,
     1377                            rc,
     1378                            HWND_DESKTOP,
     1379                            pszSrcFile,
     1380                            __LINE__,
     1381                            GetPString(IDS_ERRORREADEATEXT),
     1382                            pdena -> szName);
     1383                }
     1384              }
     1385              else {
     1386                info = xmalloc(sizeof(HOLDFEA),pszSrcFile,__LINE__);
    13921387                if (info)
    13931388                {
    1394                   info -> pfea = malloc(eaop.fpFEA2List -> cbList - sizeof(ULONG));
     1389                  info -> pfea = xmalloc(eaop.fpFEA2List -> cbList - sizeof(ULONG),pszSrcFile,__LINE__);
    13951390                  memcpy(info -> pfea, eaop.fpFEA2List -> list,
    13961391                         eaop.fpFEA2List -> cbList - sizeof(ULONG));
     
    14081403                }
    14091404              }
    1410               else
    1411               {
    1412                 if (!silentfail)
    1413                   Dos_Error(MB_ENTER,
    1414                             rc,
    1415                             HWND_DESKTOP,
    1416                             __FILE__,
    1417                             __LINE__,
    1418                             GetPString(IDS_ERRORREADEATEXT),
    1419                             pdena -> szName);
    1420               }
    14211405              free(pfealist);
    14221406            }
     
    14461430      ULONG x = 1L, ecnt = 1L;
    14471431
    1448       pdena = malloc(65536 + 1024);
     1432      pdena = xmalloc(65536 + 1024,pszSrcFile,__LINE__);
    14491433      if (pdena)
    14501434      {
     
    14531437               ecnt)
    14541438        {
    1455           pgealist = malloc(64 + pdena -> cbName);
     1439          pgealist = xmalloc(64 + pdena -> cbName,pszSrcFile,__LINE__);
    14561440          if (pgealist)
    14571441          {
     
    14611445            pgea -> cbName = pdena -> cbName;
    14621446            memcpy(pgea -> szName, pdena -> szName, pdena -> cbName + 1);
    1463             pfealist = malloc(64 + pdena -> cbName + pdena -> cbValue);
    1464             if (pfealist)
    1465             {
    1466               memset(pfealist, 0, 64 + pdena -> cbName + pdena -> cbValue);
     1447            pfealist = xmallocz(64 + pdena -> cbName + pdena -> cbValue,pszSrcFile,__LINE__);
     1448            if (pfealist) {
    14671449              pfealist -> cbList = 64 + pdena -> cbName + pdena -> cbValue;
    14681450              eaop.fpGEA2List = pgealist;
     
    14751457              if (!rc)
    14761458              {
    1477                 info = malloc(sizeof(HOLDFEA));
     1459                info = xmalloc(sizeof(HOLDFEA),pszSrcFile,__LINE__);
    14781460                if (info)
    14791461                {
    1480                   info -> pfea = malloc(eaop.fpFEA2List -> cbList - sizeof(ULONG));
     1462                  info -> pfea = xmalloc(eaop.fpFEA2List -> cbList - sizeof(ULONG),pszSrcFile,__LINE__);
    14811463                  memcpy(info -> pfea, eaop.fpFEA2List -> list,
    14821464                         eaop.fpFEA2List -> cbList - sizeof(ULONG));
     
    15151497                    }
    15161498                  }
    1517                   else
     1499                  else {
    15181500                    Dos_Error(MB_ENTER,
    15191501                              rc,
    15201502                              HWND_DESKTOP,
    1521                               __FILE__,
     1503                              pszSrcFile,
    15221504                              __LINE__,
    15231505                              GetPString(IDS_ERRORREADEATEXT),
    15241506                              pdena -> szName);
     1507                  }
    15251508                }
    15261509              }
Note: See TracChangeset for help on using the changeset viewer.