Changeset 335 for trunk/dll/subj.c
- Timestamp:
- Jul 25, 2006, 9:03:44 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/dll/subj.c (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/subj.c
r123 r335 4 4 $Id$ 5 5 6 Edit .subject EAs 7 6 8 Copyright (c) 1993-98 M. Kimes 7 Copyright (c) 2004 Steven H.Levine9 Copyright (c) 2004, 2006 Steven H.Levine 8 10 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 10 13 11 14 ***********************************************************************/ … … 14 17 #define INCL_DOS 15 18 #define INCL_DOSERRORS 19 #include <os2.h> 16 20 17 #include <os2.h>18 21 #include <stdlib.h> 19 22 #include <stdio.h> 20 23 #include <string.h> 21 24 #include <ctype.h> 25 22 26 #include "fm3dll.h" 23 27 #include "fm3dlg.h" … … 26 30 #pragma alloc_text(FMINPUT,Subject) 27 31 32 static PSZ pszSrcFile = __FILE__; 28 33 29 INT Subject (HWND hwnd,CHAR *filename) {30 34 INT Subject (HWND hwnd,CHAR *filename) 35 { 31 36 APIRET rc; 32 37 EAOP2 eaop; … … 40 45 41 46 *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) { 45 49 pgea = &pgealist->list[0]; 46 50 strcpy(pgea->szName,SUBJECT); … … 48 52 pgea->oNextEntryOffset = 0L; 49 53 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 { 53 58 pfealist->cbList = 1024; 54 59 eaop.fpGEA2List = pgealist; … … 59 64 (ULONG)sizeof(EAOP2)); 60 65 free(pgealist); 61 if (!rc) {66 if (!rc) { 62 67 pfea = &eaop.fpFEA2List->list[0]; 63 68 value = pfea->szName + pfea->cbName + 1; … … 68 73 } 69 74 free(pfealist); 70 if (rc == ERROR_SHARING_VIOLATION || rc == ERROR_ACCESS_DENIED) {75 if (rc == ERROR_SHARING_VIOLATION || rc == ERROR_ACCESS_DENIED) { 71 76 saymsg(MB_CANCEL, 72 77 hwnd, … … 74 79 GetPString(IDS_EASBUSYTEXT), 75 80 filename); 76 return 2; 81 return 2; // Error 77 82 } 78 else if (rc) {79 Dos Beep(50,100);80 return 2; 83 else if (rc) { 84 Dos_Error(MB_CANCEL,rc,hwnd,pszSrcFile,__LINE__,"DosQueryPathInfo"); 85 return 2; // Error 81 86 } 82 87 } … … 89 94 sip.inputlen = 40; 90 95 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) 92 97 && isalpha(*filename) && 93 98 !(driveflags[toupper(*filename) - 'A'] & DRIVE_NOTWRITEABLE)) { … … 101 106 102 107 len = strlen(subject); 103 if (len)108 if (len) 104 109 ealen = sizeof(FEA2LIST) + 9 + len + 4; 105 110 else 106 111 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 { 109 117 memset(pfealist,0,ealen + 1); 110 118 pfealist->cbList = ealen; … … 113 121 pfealist->list[0].cbName = 8; 114 122 strcpy(pfealist->list[0].szName,SUBJECT); 115 if (len) {123 if (len) { 116 124 eaval = pfealist->list[0].szName + 9; 117 125 *(USHORT *)eaval = (USHORT)EAT_ASCII; … … 130 138 (ULONG)sizeof(EAOP2),DSPI_WRTTHRU); 131 139 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 } 140 144 else 141 ret = 1; 145 ret = 1; // OK 142 146 } 143 else144 DosBeep(250,100);145 147 } 146 148 } 147 return ret; 149 return ret; // No change? 148 150 }
Note:
See TracChangeset
for help on using the changeset viewer.
