- Timestamp:
- Jul 26, 2006, 7:16:35 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/dll/objcnr.c (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/objcnr.c
r159 r349 7 7 8 8 Copyright (c) 1993-98 M. Kimes 9 Copyright (c) 2005 Steven H. Levine9 Copyright (c) 2005, 2006 Steven H. Levine 10 10 11 11 24 May 05 SHL Rework for CNRITEM.szSubject 12 13 Jul 06 SHL Use Runtime_Error 12 13 13 14 ***********************************************************************/ … … 15 16 #define INCL_DOS 16 17 #define INCL_WIN 17 18 18 #include <os2.h> 19 19 20 #include <stdio.h> 20 21 #include <stdlib.h> 21 22 #include <string.h> 22 23 #include <ctype.h> 24 23 25 #include "fm3dll.h" 24 26 #include "fm3dlg.h" 25 27 #include "fm3str.h" 26 27 #pragma data_seg(DATA1)28 #pragma alloc_text(OBJCNR,ProcessDir,FillCnrs,ObjCnrDlgProc)29 28 30 29 typedef struct { … … 41 40 } TEMP; 42 41 43 static HWND objcnrwnd = (HWND)0; 44 45 46 static VOID ProcessDir (HWND hwndCnr,CHAR *filename,PCNRITEM pciParent, 47 CHAR *stopflag) { 48 42 #pragma data_seg(DATA1) 43 44 static PSZ pszSrcFile = __FILE__; 45 46 static HWND objcnrwnd; 47 48 #pragma alloc_text(OBJCNR,ProcessDir,FillCnrs,ObjCnrDlgProc) 49 50 static VOID ProcessDir(HWND hwndCnr,CHAR *filename,PCNRITEM pciParent, 51 CHAR *stopflag) 52 { 49 53 CHAR maskstr[CCHMAXPATH],*endpath,*p; 50 54 ULONG nm,ulM; … … 55 59 PCNRITEM pciP; 56 60 57 ffb = malloc(sizeof(FILEFINDBUF3));61 ffb = xmalloc(sizeof(FILEFINDBUF3),pszSrcFile,__LINE__); 58 62 if(!ffb) 59 63 return; … … 112 116 rc, 113 117 HWND_DESKTOP, 114 __FILE__,118 pszSrcFile, 115 119 __LINE__, 116 120 GetPString(IDS_CANTFINDDIRTEXT), … … 145 149 ulM = min(FilesToGet,225); 146 150 if(ulM > 1L) { 147 fft = realloc(ffb, sizeof(FILEFINDBUF3) * ulM);151 fft = xrealloc(ffb, sizeof(FILEFINDBUF3) * ulM,pszSrcFile,__LINE__); 148 152 if(!fft) 149 153 ulM = 1L; … … 191 195 192 196 193 static VOID FillCnrs (VOID *args) {194 197 static VOID FillCnrs (VOID *args) 198 { 195 199 HAB hab; 196 200 HMQ hmq; … … 220 224 221 225 222 MRESULT EXPENTRY ObjCnrDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {223 226 MRESULT EXPENTRY ObjCnrDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 227 { 224 228 TEMP *data; 225 229 226 230 switch(msg) { 227 231 case WM_INITDLG: 228 if(objcnrwnd || !mp2) { 229 if(objcnrwnd) { 230 WinSetWindowPos(objcnrwnd,HWND_TOP,0,0,0,0, 231 SWP_RESTORE | SWP_SHOW | SWP_ACTIVATE | SWP_ZORDER); 232 DosBeep(1000,100); 233 } 234 else 235 DosBeep(50,100); 232 if(objcnrwnd) { 233 Runtime_Error(pszSrcFile, __LINE__, "objcnrwnd set"); 234 WinSetWindowPos(objcnrwnd,HWND_TOP,0,0,0,0, 235 SWP_RESTORE | SWP_SHOW | SWP_ACTIVATE | SWP_ZORDER); 236 236 WinDismissDlg(hwnd,0); 237 237 break; 238 238 } 239 if(!mp2) { 240 Runtime_Error(pszSrcFile, __LINE__, "mp2 NULL"); 241 WinDismissDlg(hwnd,0); 242 break; 243 } 239 244 objcnrwnd = hwnd; 240 data = malloc(sizeof(TEMP));245 data = xmallocz(sizeof(TEMP),pszSrcFile,__LINE__); 241 246 if(!data) { 242 247 WinDismissDlg(hwnd,0); 243 248 break; 244 249 } 245 memset(data,0,sizeof(TEMP));246 250 data->dirname = (CHAR *)mp2; 247 251 WinSetWindowPtr(hwnd,0,(PVOID)data); … … 251 255 DIRSIZE *dirsize; 252 256 253 dirsize = malloc(sizeof(DIRSIZE));257 dirsize = xmalloc(sizeof(DIRSIZE),pszSrcFile,__LINE__); 254 258 if(!dirsize) { 255 259 WinDismissDlg(hwnd,0); … … 259 263 dirsize->filename = data->dirname; 260 264 dirsize->hwndCnr = WinWindowFromID(hwnd,OBJCNR_CNR); 261 if(_beginthread(FillCnrs,NULL,65536 * 8,(PVOID)dirsize) == -1) { 265 if (_beginthread(FillCnrs,NULL,65536 * 8,(PVOID)dirsize) == -1) { 266 Runtime_Error(pszSrcFile, __LINE__, GetPString(IDS_COULDNTSTARTTHREADTEXT)); 262 267 free(dirsize); 263 268 WinDismissDlg(hwnd,0); … … 271 276 272 277 case UM_SETUP: 273 //WinEnableWindowUpdate(WinWindowFromID(hwnd,OBJCNR_CNR),FALSE);278 // WinEnableWindowUpdate(WinWindowFromID(hwnd,OBJCNR_CNR),FALSE); 274 279 { 275 280 CNRINFO cnri; … … 375 380 376 381 if(data->working) { 377 DosBeep(50,100);382 Runtime_Error(pszSrcFile, __LINE__, "working unexpected"); 378 383 break; 379 384 } … … 398 403 data->dying = TRUE; 399 404 data->stopflag = 0xff; 400 DosBeep(1000,100);405 Runtime_Error(pszSrcFile, __LINE__, "working unexpected"); 401 406 break; 402 407 }
Note:
See TracChangeset
for help on using the changeset viewer.
