Changeset 335 for trunk/dll/subj.c


Ignore:
Timestamp:
Jul 25, 2006, 9:03:44 PM (19 years ago)
Author:
root
Message:

Use Runtime_Error

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/subj.c

    r123 r335  
    44  $Id$
    55
     6  Edit .subject EAs
     7
    68  Copyright (c) 1993-98 M. Kimes
    7   Copyright (c) 2004 Steven H.Levine
     9  Copyright (c) 2004, 2006 Steven H.Levine
    810
    9   Revisions     01 Aug 04 SHL - Rework lstrip/rstrip usage
     11  01 Aug 04 SHL Rework lstrip/rstrip usage
     12  17 Jul 06 SHL Use Runtime_Error
    1013
    1114***********************************************************************/
     
    1417#define INCL_DOS
    1518#define INCL_DOSERRORS
     19#include <os2.h>
    1620
    17 #include <os2.h>
    1821#include <stdlib.h>
    1922#include <stdio.h>
    2023#include <string.h>
    2124#include <ctype.h>
     25
    2226#include "fm3dll.h"
    2327#include "fm3dlg.h"
     
    2630#pragma alloc_text(FMINPUT,Subject)
    2731
     32static PSZ pszSrcFile = __FILE__;
    2833
    29 INT Subject (HWND hwnd,CHAR *filename) {
    30 
     34INT Subject (HWND hwnd,CHAR *filename)
     35{
    3136  APIRET        rc;
    3237  EAOP2         eaop;
     
    4045
    4146  *subject = 0;
    42   pgealist = malloc(sizeof(GEA2LIST) + 64);
    43   if(pgealist) {
    44     memset(pgealist,0,sizeof(GEA2LIST) + 64);
     47  pgealist = xmallocz(sizeof(GEA2LIST) + 64,pszSrcFile,__LINE__);
     48  if (pgealist) {
    4549    pgea = &pgealist->list[0];
    4650    strcpy(pgea->szName,SUBJECT);
     
    4852    pgea->oNextEntryOffset = 0L;
    4953    pgealist->cbList = (sizeof(GEA2LIST) + pgea->cbName);
    50     pfealist = malloc(1024);
    51     if(pfealist) {
    52       memset(pfealist,0,1024);
     54    pfealist = xmallocz(1024,pszSrcFile,__LINE__);
     55    if(pfealist)
     56      free(pgealist);
     57    else {
    5358      pfealist->cbList = 1024;
    5459      eaop.fpGEA2List = pgealist;
     
    5964                            (ULONG)sizeof(EAOP2));
    6065      free(pgealist);
    61       if(!rc) {
     66      if (!rc) {
    6267        pfea = &eaop.fpFEA2List->list[0];
    6368        value = pfea->szName + pfea->cbName + 1;
     
    6873      }
    6974      free(pfealist);
    70       if(rc == ERROR_SHARING_VIOLATION || rc == ERROR_ACCESS_DENIED) {
     75      if (rc == ERROR_SHARING_VIOLATION || rc == ERROR_ACCESS_DENIED) {
    7176        saymsg(MB_CANCEL,
    7277               hwnd,
     
    7479               GetPString(IDS_EASBUSYTEXT),
    7580               filename);
    76         return 2;
     81        return 2;                       // Error
    7782      }
    78       else if(rc) {
    79         DosBeep(50,100);
    80         return 2;
     83      else if (rc) {
     84        Dos_Error(MB_CANCEL,rc,hwnd,pszSrcFile,__LINE__,"DosQueryPathInfo");
     85        return 2;                       // Error
    8186      }
    8287    }
     
    8994  sip.inputlen = 40;
    9095  sip.title = filename;
    91   if(WinDlgBox(HWND_DESKTOP,hwnd,InputDlgProc,FM3ModHandle,STR_FRAME,&sip)
     96  if (WinDlgBox(HWND_DESKTOP,hwnd,InputDlgProc,FM3ModHandle,STR_FRAME,&sip)
    9297     && isalpha(*filename) &&
    9398     !(driveflags[toupper(*filename) - 'A'] & DRIVE_NOTWRITEABLE)) {
     
    101106
    102107      len = strlen(subject);
    103       if(len)
     108      if (len)
    104109        ealen = sizeof(FEA2LIST) + 9 + len + 4;
    105110      else
    106111        ealen = sizeof(FEALIST) + 9;
    107       if(!DosAllocMem((PPVOID)&pfealist,ealen + 1L,
    108                        OBJ_TILE | PAG_COMMIT | PAG_READ | PAG_WRITE)) {
     112      rc = DosAllocMem((PPVOID)&pfealist,ealen + 1L,
     113                       OBJ_TILE | PAG_COMMIT | PAG_READ | PAG_WRITE);
     114      if (rc)
     115        Dos_Error(MB_CANCEL,rc,hwnd,pszSrcFile,__LINE__,GetPString(IDS_OUTOFMEMORY));
     116      else {
    109117        memset(pfealist,0,ealen + 1);
    110118        pfealist->cbList = ealen;
     
    113121        pfealist->list[0].cbName = 8;
    114122        strcpy(pfealist->list[0].szName,SUBJECT);
    115         if(len) {
     123        if (len) {
    116124          eaval = pfealist->list[0].szName + 9;
    117125          *(USHORT *)eaval = (USHORT)EAT_ASCII;
     
    130138                            (ULONG)sizeof(EAOP2),DSPI_WRTTHRU);
    131139        DosFreeMem(pfealist);
    132         if(rc)
    133           Dos_Error(MB_ENTER,
    134                     rc,
    135                     HWND_DESKTOP,
    136                     __FILE__,
    137                     __LINE__,
    138                     GetPString(IDS_ERRORSETTINGSUBJECTTEXT),
    139                     filename);
     140        if (rc) {
     141          Dos_Error(MB_ENTER,rc,HWND_DESKTOP,pszSrcFile,__LINE__,
     142                    GetPString(IDS_ERRORSETTINGSUBJECTTEXT),filename);
     143        }
    140144        else
    141           ret = 1;
     145          ret = 1;                      // OK
    142146      }
    143       else
    144         DosBeep(250,100);
    145147    }
    146148  }
    147   return ret;
     149  return ret;                           // No change?
    148150}
Note: See TracChangeset for help on using the changeset viewer.