Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/avv.c
r313 r347 17 17 29 May 06 SHL EditArchiverData: rework 18 18 26 Jun 06 SHL rewrite_archiverbb2: include user comments 19 14 Jul 06 SHL Use Runtime_Error 19 20 20 21 ***********************************************************************/ … … 37 38 38 39 #pragma data_seg(DATA1) 39 #pragma alloc_text(AVV,EditArchiverData,xstrdup,xstrdup_from_window) 40 41 static PSZ pszSrcFile = __FILE__; 42 43 #pragma alloc_text(AVV,EditArchiverData,free_and_strdup_from_window) 40 44 #pragma alloc_text(AVV,get_int_from_window,get_int2_from_window) 41 45 #pragma alloc_text(AVV,get_long_from_window,get_int3_from_window) … … 47 51 static LONG get_long_from_window (HWND hwnd,USHORT id); 48 52 static PSZ nonull(PSZ a); 49 static PSZ xstrdup(PSZ pszDest,PSZ pszSrc); 50 static PSZ xstrdup_from_window(HWND hwnd,USHORT id,PSZ pszDest); 53 static PSZ free_and_strdup_from_window(HWND hwnd,USHORT id,PSZ pszDest); 51 54 52 55 //=== EditArchiverData() Select archiver to edit === … … 83 86 } 84 87 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) 88 static PSZ free_and_strdup_from_window(HWND hwnd,USHORT id,PSZ pszDest) 97 89 { 98 90 char sz[257] = ""; 91 92 if (pszDest) 93 free(pszDest); 99 94 100 95 WinQueryDlgItemText(hwnd, … … 102 97 255, 103 98 sz); 104 pszDest = xstrdup(pszDest,sz); 99 if (*sz) 100 pszDest = xstrdup(sz, pszSrcFile, __LINE__); 101 else 102 pszDest = NULL; 105 103 return pszDest; 106 104 } … … 634 632 for(sSelect = 0;sSelect < 10;sSelect++) 635 633 WinSetDlgItemText(hwnd,AD_FLD1 + sSelect,NullStr); 636 if(admp->listname) { 634 if (!admp->listname) 635 Runtime_Error(pszSrcFile, __LINE__, "no listname"); 636 else { 637 637 sSelect = (SHORT)WinSendDlgItemMsg(hwnd, 638 638 AD_LISTBOX, … … 645 645 MPFROM2SHORT(sSelect,255), 646 646 MPFROMP(s)); 647 if(*s) { 648 647 if(!*s) 648 Runtime_Error(pszSrcFile, __LINE__, "no text"); 649 else { 649 650 PSZ p; 650 651 PSZ pp; 651 652 652 p = s; 653 653 for(sSelect = 0;sSelect < 10;sSelect++) { … … 667 667 } 668 668 } 669 else670 DosBeep(50,100);671 669 } 672 else673 DosBeep(50,100);674 670 break; 675 671 … … 916 912 case DID_OK: 917 913 // 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, 932 928 AD_SIG, 933 929 admp->info->signature); 934 930 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, 936 932 AD_LIST, 937 933 admp->info->list); … … 977 973 978 974 case AD_TOSTART: 979 if(admp->listname) { 975 if(!admp->listname) 976 Runtime_Error(pszSrcFile, __LINE__, "no listname"); 977 else { 980 978 sSelect = (SHORT)WinSendDlgItemMsg(hwnd, 981 979 AD_LISTBOX, … … 999 997 GetPString(IDS_SELECTFROMLISTTEXT)); 1000 998 } 1001 else1002 DosBeep(50,100);1003 999 return 0; 1004 1000 1005 1001 case AD_TOEND: 1006 if(admp->listname) { 1002 if(!admp->listname) 1003 Runtime_Error(pszSrcFile, __LINE__, "no listname"); 1004 else { 1007 1005 sSelect = (SHORT)WinSendDlgItemMsg(hwnd, 1008 1006 AD_LISTBOX, … … 1022 1020 goto BooBoo; 1023 1021 } 1024 else1025 DosBeep(50,100);1026 1022 return 0; 1027 1023 } -
trunk/dll/chklist.c
r129 r347 4 4 $Id$ 5 5 6 Main window6 Utility windows and mouse positioning 7 7 8 8 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 12 13 13 14 ***********************************************************************/ … … 16 17 #define INCL_WIN 17 18 #define INCL_GPI 18 19 19 #include <os2.h> 20 20 21 #include <stdio.h> 21 22 #include <stdlib.h> 22 23 #include <string.h> 23 24 #include <ctype.h> 25 24 26 #include "fm3dll.h" 25 27 #include "fm3dlg.h" … … 27 29 28 30 #pragma data_seg(DATA1) 31 32 static PSZ pszSrcFile = __FILE__; 33 29 34 #pragma alloc_text(CHECKLIST,CheckListProc) 30 35 #pragma alloc_text(DNDLIST,DropListProc) 31 36 #pragma alloc_text(MISC7,PosOverOkay,CenterOverWindow,PopupMenu) 32 37 33 34 VOID CenterOverWindow (HWND hwnd) { 35 38 VOID CenterOverWindow (HWND hwnd) 39 { 36 40 SWP swp; 37 41 POINTL ptl; … … 48 52 49 53 50 BOOL PopupMenu (HWND hwndParent,HWND hwndOwner,HWND hwndMenu) {51 54 BOOL PopupMenu (HWND hwndParent,HWND hwndOwner,HWND hwndMenu) 55 { 52 56 POINTL ptl; 53 57 BOOL rc; … … 66 70 67 71 68 VOID PosOverOkay (HWND hwnd) {69 72 VOID PosOverOkay (HWND hwnd) 73 { 70 74 SWP swp; 71 75 POINTL ptl; … … 82 86 83 87 84 MRESULT EXPENTRY CheckListProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {85 88 MRESULT EXPENTRY CheckListProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 89 { 86 90 CHECKLIST *cl; 87 91 … … 207 211 error = AddToList(szBuffer,&cl->list,&numfiles,&numalloc); 208 212 if(error) { 209 DosBeep(250,100);213 Runtime_Error(pszSrcFile, __LINE__, "AddToList"); 210 214 break; 211 215 } … … 232 236 233 237 234 MRESULT EXPENTRY DropListProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {235 238 MRESULT EXPENTRY DropListProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 239 { 236 240 CHECKLIST *cl; 237 241 static BOOL Shadow = FALSE,Wild = FALSE; … … 538 542 if(*szBuffer) { 539 543 error = AddToList(szBuffer,&cl->list,&numfiles,&numalloc); 540 if (error) {541 DosBeep(250,100);544 if (error) { 545 Runtime_Error(pszSrcFile, __LINE__, "AddToList"); 542 546 break; 543 547 } -
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 1 15 #define INCL_DOS 2 16 #define INCL_WIN 3 4 17 #include <os2.h> 18 5 19 #include <stdlib.h> 6 20 #include <stdio.h> 7 21 #include <string.h> 8 22 #include <time.h> 23 9 24 #include "fm3dll.h" 10 25 #include "fm3dlg.h" … … 12 27 13 28 #pragma data_seg(DATA1) 29 30 static PSZ pszSrcFile = __FILE__; 14 31 15 32 #pragma alloc_text(FMCODEPAGE,PickCodePageDlgBox,PickCodepage) … … 151 168 257, 152 169 s); 153 if(*s) { 170 if(!*s) 171 Runtime_Error(pszSrcFile, __LINE__, "no input"); 172 else { 154 173 for(x = 0; 155 174 (p = GetPString(IDS_CODEPAGES1 + x)) != NULL; … … 161 180 } 162 181 } 163 else164 DosBeep(50,100);165 182 } 166 183 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 1 15 #define INCL_DOS 2 16 #define INCL_WIN 3 17 #define INCL_GPI 4 5 18 #include <os2.h> 19 6 20 #include <stdlib.h> 7 21 #include <stdio.h> 8 22 #include <string.h> 23 #include <ctype.h> 24 9 25 #include "fm3dll.h" 10 26 #include "fm3dlg.h" 11 #include <ctype.h>12 27 13 28 #pragma data_seg(DATA2) 29 30 static PSZ pszSrcFile = __FILE__; 31 14 32 #pragma alloc_text(COLORS,ColorDlgProc) 15 33 16 17 MRESULT EXPENTRY ColorDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) { 18 34 MRESULT EXPENTRY ColorDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 35 { 19 36 COLORS *co; 20 37 … … 139 156 co->colors[co->currentcolor] = (LONG)(SHORT1FROMMP(mp1) - 140 157 COLOR_FIRST); 141 DosBeep(1000,1); 158 DosBeep(1000,1); // fixme to be gone? 142 159 } 143 160 break; … … 154 171 MPFROMSHORT(LIT_FIRST), 155 172 MPVOID); 156 if(sSelect >= 0) { 173 if(sSelect < 0) 174 Runtime_Error(pszSrcFile, __LINE__, "LM_QUERYSELECTION"); 175 else { 157 176 co->currentcolor = (USHORT)sSelect; 158 177 WinCheckButton(hwnd,COLOR_FIRST + 159 178 co->colors[co->currentcolor],TRUE); 160 179 } 161 else162 DosBeep(250,100);163 180 } 164 181 break; -
trunk/dll/command.c
r204 r347 4 4 $Id$ 5 5 6 Custom commands 7 6 8 Copyright (c) 1993-98 M. Kimes 7 Copyright (c) 2004, 200 5Steven H. Levine9 Copyright (c) 2004, 2006 Steven H. Levine 8 10 9 11 01 Aug 04 SHL Rework lstrip/rstrip usage 10 12 06 Jun 05 SHL Drop unused code 13 14 Jul 06 SHL Use Runtime_Error 11 14 12 15 ***********************************************************************/ … … 14 17 #define INCL_DOS 15 18 #define INCL_WIN 16 17 19 #include <os2.h> 20 18 21 #include <stdio.h> 19 22 #include <stdlib.h> … … 21 24 #include <ctype.h> 22 25 #include <share.h> 26 23 27 #include "fm3dll.h" 24 28 #include "fm3dlg.h" … … 33 37 34 38 #pragma data_seg(DATA1) 39 40 static PSZ pszSrcFile = __FILE__; 41 35 42 #pragma alloc_text(COMMAND,command_title,free_commands,add_command,kill_command) 36 43 #pragma alloc_text(COMMAND,CommandDlgProc,EditCommands,ReOrderProc,CommandTextProc) 37 44 38 45 39 MRESULT EXPENTRY CommandTextProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {40 46 MRESULT EXPENTRY CommandTextProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 47 { 41 48 PFNWP oldproc = (PFNWP)WinQueryWindowPtr(hwnd,0); 42 49 static BOOL emphasized = FALSE; … … 87 94 88 95 89 MRESULT EXPENTRY ReOrderProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {90 96 MRESULT EXPENTRY ReOrderProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 97 { 91 98 switch(msg) { 92 99 case WM_INITDLG: … … 104 111 MPFROMSHORT(LIT_END), 105 112 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 { 107 118 WinSendDlgItemMsg(hwnd,RE_ADDLISTBOX,LM_SETITEMHANDLE, 108 119 MPFROMSHORT(x),MPFROMP(info)); 109 else { 110 DosBeep(50,100); 111 WinDismissDlg(hwnd,0); 112 } 120 } 113 121 info = info->next; 114 122 } … … 275 283 276 284 277 CHAR *command_title (INT cx) {278 285 CHAR *command_title (INT cx) 286 { 279 287 static CHAR duh[] = "???"; 280 288 LINKCMDS *info; … … 293 301 294 302 295 VOID free_commands (VOID) {296 303 VOID free_commands (VOID) 304 { 297 305 LINKCMDS *info,*next; 298 306 … … 309 317 310 318 311 VOID load_commands (VOID) {312 319 VOID load_commands (VOID) 320 { 313 321 FILE *fp; 314 322 LINKCMDS *info; … … 342 350 if(!*cl) 343 351 continue; 344 info = malloc(sizeof(LINKCMDS));352 info = xmallocz(sizeof(LINKCMDS),pszSrcFile,__LINE__); 345 353 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__); 349 356 info->flags = atol(flags); 350 357 if(!info->cl || !info->title) { … … 370 377 371 378 372 VOID save_commands (VOID) {373 379 VOID save_commands (VOID) 380 { 374 381 LINKCMDS *info; 375 382 FILE *fp; … … 383 390 strcat(s,"\\"); 384 391 strcat(s,"COMMANDS.DAT"); 385 fp = fopen(s,"w");386 if (fp) {392 fp = xfopen(s,"w",pszSrcFile,__LINE__); 393 if (fp) { 387 394 fputs(GetPString(IDS_COMMANDFILETEXT),fp); 388 395 info = cmdhead; … … 400 407 401 408 402 LINKCMDS * add_command (COMMAND *addme) {403 409 LINKCMDS * add_command (COMMAND *addme) 410 { 404 411 LINKCMDS *info; 405 412 … … 412 419 } 413 420 if(!info) { 414 info = malloc(sizeof(LINKCMDS));421 info = xmallocz(sizeof(LINKCMDS),pszSrcFile,__LINE__); 415 422 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__); 419 425 if(addme->flags) 420 426 info->flags = addme->flags; … … 443 449 444 450 445 BOOL kill_command (CHAR *killme) {446 451 BOOL kill_command (CHAR *killme) 452 { 447 453 LINKCMDS *info; 448 454 … … 476 482 477 483 478 MRESULT EXPENTRY CommandDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {479 484 MRESULT EXPENTRY CommandDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 485 { 480 486 SHORT x; 481 487 LINKCMDS *info; … … 530 536 MPVOID); 531 537 if(!info) { 532 DosBeep(50,100);538 Runtime_Error(pszSrcFile, __LINE__, "LM_QUERYITEMHANDLE"); 533 539 break; 534 540 } … … 584 590 case CMD_REORDER: 585 591 if(!cmdhead || !cmdhead->next) { 586 DosBeep(250,100);592 Runtime_Error(pszSrcFile, __LINE__, "no cmd"); 587 593 break; 588 594 } … … 682 688 temp.flags |= ONCE; 683 689 info = add_command(&temp); 684 if(info) { 690 if(!info) 691 Runtime_Error(pszSrcFile, __LINE__, "add_command"); 692 else { 685 693 { 686 694 CHAR env[1002]; … … 717 725 } 718 726 } 719 else720 DosBeep(50,200);721 727 } 722 728 break; … … 728 734 WinQueryDlgItemText(hwnd,CMD_TITLE,34,temp); 729 735 bstrip(temp); 730 if(kill_command(temp)) { 736 if (!kill_command(temp)) 737 Runtime_Error(pszSrcFile, __LINE__, "kill_command"); 738 else { 731 739 x = (SHORT)WinSendDlgItemMsg(hwnd, 732 740 CMD_LISTBOX, … … 748 756 save_commands(); 749 757 } 750 else751 DosBeep(50,200);752 758 } 753 759 break; … … 759 765 760 766 761 VOID RunCommand (HWND hwnd,INT cx) {762 767 VOID RunCommand (HWND hwnd,INT cx) 768 { 763 769 INT x; 764 770 CHAR **list; … … 819 825 820 826 821 VOID EditCommands (HWND hwnd) {822 827 VOID EditCommands (HWND hwnd) 828 { 823 829 static CHAR stop = 0; 824 830 … … 836 842 stop = 0; 837 843 } 838 -
trunk/dll/copyf.c
r173 r347 7 7 8 8 Copyright (c) 1993-98 M. Kimes 9 Copyright (c) 2001, 200 5Steven H.Levine9 Copyright (c) 2001, 2006 Steven H.Levine 10 10 11 11 14 Sep 02 SHL Drop obsolete debug code 12 12 14 Oct 02 SHL Drop obsolete debug code 13 13 10 Nov 02 SHL docopyf - don't forget to terminate longname 14 optimize longname logic14 optimize longname logic 15 15 01 Aug 04 SHL Rework lstrip/rstrip usage 16 16 28 May 05 SHL Drop debug code 17 14 Jul 06 SHL Use Runtime_Error 17 18 18 19 ***********************************************************************/ … … 21 22 #define INCL_DOSERRORS 22 23 #define INCL_WIN 23 24 24 #include <os2.h> 25 25 26 #include <io.h> 26 27 #include <string.h> … … 30 31 #include <ctype.h> 31 32 #include <time.h> 33 32 34 #include "fm3dll.h" 35 #include "fm3str.h" 36 37 static PSZ pszSrcFile = __FILE__; 33 38 34 39 #ifndef WinMoveObject … … 49 54 50 55 51 char *MakeTempName (char *buffer) {52 56 char *MakeTempName (char *buffer) 57 { 53 58 FILESTATUS3 fs3; 54 59 APIRET rc; … … 91 96 92 97 93 CHAR *TruncName (CHAR *oldname,CHAR *buffer) {94 98 CHAR *TruncName (CHAR *oldname,CHAR *buffer) 99 { 95 100 CHAR *p,*f,*s,*o; 96 101 FILESTATUS3 fs3; … … 188 193 189 194 190 CHAR *GetLongName (CHAR *oldname,CHAR *longname) {191 195 CHAR *GetLongName (CHAR *oldname,CHAR *longname) 196 { 192 197 if(!longname) 193 198 return NULL; … … 219 224 *value = 0; 220 225 } 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) { 224 228 pgea = &pgealist->list[0]; 225 229 strcpy(pgea->szName,LONGNAME); … … 227 231 pgea->oNextEntryOffset = 0L; 228 232 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) { 232 235 pfealist->cbList = 1024; 233 236 eaop.fpGEA2List = pgealist; … … 258 261 259 262 260 BOOL ZapLongName (char *filename) {261 263 BOOL ZapLongName (char *filename) 264 { 262 265 return WriteLongName(filename, ""); 263 266 } 264 267 265 268 266 BOOL WriteLongName (CHAR *filename,CHAR *longname) {267 269 BOOL WriteLongName (CHAR *filename,CHAR *longname) 270 { 268 271 APIRET rc; 269 272 EAOP2 eaop; … … 293 296 else 294 297 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 { 298 304 memset(pfealist, 299 305 0, … … 335 341 336 342 337 BOOL AdjustWildcardName (CHAR *oldname,CHAR *newname) {338 343 BOOL AdjustWildcardName (CHAR *oldname,CHAR *newname) 344 { 339 345 BOOL ret = FALSE; 340 346 … … 365 371 366 372 367 CHAR default_disk (VOID) {368 373 CHAR default_disk (VOID) 374 { 369 375 ULONG ulDriveNum,ulDriveMap; 370 376 … … 377 383 #ifdef NEVER 378 384 379 APIRET docopyallf (INT type,CHAR *oldname,CHAR *newname,...) {380 385 APIRET docopyallf (INT type,CHAR *oldname,CHAR *newname,...) 386 { 381 387 FILEFINDBUF3 fb; 382 388 ULONG nm; … … 421 427 422 428 423 APIRET docopyf (INT type,CHAR *oldname,CHAR *newname,...) {424 429 APIRET docopyf (INT type,CHAR *oldname,CHAR *newname,...) 430 { 425 431 /* 426 432 * returns: … … 766 772 767 773 default: /* shouldn't happen */ 768 DosBeep(50,100);774 Runtime_Error(pszSrcFile, __LINE__, "bad case %u", type); 769 775 break; 770 776 } … … 773 779 774 780 775 INT make_deleteable (CHAR *filename) {776 781 INT make_deleteable (CHAR *filename) 782 { 777 783 INT ret = -1; 778 784 FILESTATUS3 fsi; … … 796 802 797 803 798 INT wipeallf (CHAR *string,...) {799 804 INT wipeallf (CHAR *string,...) 805 { 800 806 /* unlink everything from directory on down... */ 801 807 … … 820 826 } 821 827 822 str = strdup(s);828 str = xstrdup(s,pszSrcFile,__LINE__); 823 829 if(!str) 824 830 return -1; … … 832 838 temp = *p; 833 839 *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); 835 843 free(str); 836 DosBeep(100,250);837 844 return -1; 838 845 } … … 856 863 } 857 864 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); 865 870 free(str); 866 871 return -1; … … 915 920 916 921 917 INT unlink_allf (CHAR *string,...) {918 922 INT unlink_allf (CHAR *string,...) 923 { 919 924 /* wildcard delete */ 920 925 … … 938 943 } 939 944 940 str = strdup(s);941 if (!str)945 str = xstrdup(s,pszSrcFile,__LINE__); 946 if (!str) 942 947 return -1; 943 948 … … 953 958 *s = 0; 954 959 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); 962 965 free(str); 963 966 return -1; … … 991 994 992 995 993 INT unlinkf (CHAR *string,...) {994 996 INT unlinkf (CHAR *string,...) 997 { 995 998 CHAR buffer[CCHMAXPATH]; 996 999 va_list ap; -
trunk/dll/defview.c
r92 r347 5 5 6 6 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 12 13 13 14 ***********************************************************************/ … … 17 18 #define INCL_GPI 18 19 #define INCL_MMIOOS2 19 20 20 #include <os2.h> 21 21 #include <os2me.h> 22 22 23 #include <stdio.h> 23 24 #include <stdlib.h> 24 25 #include <string.h> 25 26 #include <ctype.h> 27 26 28 #include "fm3dll.h" 27 29 #include "fm3dlg.h" 30 31 static PSZ pszSrcFile = __FILE__; 28 32 29 33 #pragma alloc_text(DEFVIEW,DefaultView,ShowMultimedia,DefaultViewKeys) … … 113 117 114 118 VOID DefaultViewKeys (HWND hwnd,HWND hwndFrame,HWND hwndParent, 115 SWP *swp,CHAR *filename) {116 119 SWP *swp,CHAR *filename) 120 { 117 121 if((shiftstate & (KC_CTRL | KC_SHIFT)) == 118 122 (KC_CTRL | KC_SHIFT)) … … 148 152 149 153 VOID DefaultView (HWND hwnd,HWND hwndFrame,HWND hwndParent,SWP *swp, 150 ULONG flags,CHAR *filename) {151 154 ULONG flags,CHAR *filename) 155 { 152 156 /* 153 157 * bitmapped flags: … … 170 174 flags &= (~16); 171 175 if(!IsFile(filename)) { 172 DosBeep(50,100);176 Runtime_Error(pszSrcFile, __LINE__, "%s not found", filename); 173 177 return; 174 178 } -
trunk/dll/eas.c
r207 r347 4 4 $Id$ 5 5 6 Display/edit EAs 7 6 8 Copyright (c) 1993-98 M. Kimes 7 Copyright (c) 2004, 200 5Steven H. Levine9 Copyright (c) 2004, 2006 Steven H. Levine 8 10 9 11 01 Aug 04 SHL Rework lstrip/rstrip usage … … 11 13 06 Jun 05 SHL Rework DisplayEAsProc for VAC3.65 compat 12 14 06 Jun 05 SHL Drop unused variables 15 17 Jul 06 SHL Use Runtime_Error 13 16 14 17 ***********************************************************************/ … … 30 33 31 34 #pragma data_seg(DATA1) 35 36 static PSZ pszSrcFile = __FILE__; 37 32 38 #pragma alloc_text(EAS,DisplayEAsProc,SaveEA,HexDumpEA,CheckEA,AddEAProc) 33 39 #pragma alloc_text(EAS1,HexDump,GetFileEAs,Free_FEAList) … … 172 178 ULONG ealen; 173 179 CHAR *eaval; 180 APIRET rc; 174 181 175 182 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 { 179 188 memset(pfealist, 0, ealen + 1); 180 189 pfealist -> cbList = ealen; … … 322 331 break; 323 332 } 324 eap = malloc(sizeof(EAPROCDATA));333 eap = xmalloc(sizeof(EAPROCDATA),pszSrcFile,__LINE__); 325 334 if (!eap) 326 335 { … … 841 850 } 842 851 if (!isalpha(*eap -> filename) || 843 (driveflags[toupper(*eap -> filename) - 'A'] & DRIVE_NOTWRITEABLE))852 (driveflags[toupper(*eap -> filename) - 'A'] & DRIVE_NOTWRITEABLE)) 844 853 { 845 854 WinEnableWindow(WinWindowFromID(hwnd, EA_CHANGE), FALSE); … … 932 941 USHORT control; 933 942 934 if (eap -> head && *eap -> filename) 943 if (!eap -> head || !*eap -> filename) 944 Runtime_Error(pszSrcFile, __LINE__, "no data"); 945 else 935 946 { 936 947 switch (*(USHORT *) eap -> current -> value) … … 947 958 break; 948 959 default: 949 DosBeep(250, 100);960 Runtime_Error(pszSrcFile, __LINE__, "unexpected type"); 950 961 WinShowWindow(WinWindowFromID(hwnd, EA_CHANGE), FALSE); 951 962 control = 0; … … 953 964 if (control) 954 965 { 955 s = malloc(32768); 956 if (s) 957 { 966 s = xmalloc(32768,pszSrcFile,__LINE__); 967 if (s) { 958 968 *s = 0; 959 969 WinQueryDlgItemText(hwnd, control, 32767L, (PCH) s); 960 if ( *s)961 { 962 970 if (!*s) 971 Runtime_Error(pszSrcFile, __LINE__, "no data"); 972 else { 963 973 PFEA2LIST pfealist; 964 974 965 975 pfealist = SaveEA(eap -> filename, eap -> current, s, FALSE); 966 if ( pfealist)967 { 968 976 if (!pfealist) 977 Runtime_Error(pszSrcFile, __LINE__, "SaveEA"); 978 else { 969 979 PFEA2 pfea; 970 980 971 pfea = malloc(pfealist -> cbList); 972 if (pfea) 973 { 981 pfea = xmalloc(pfealist -> cbList,pszSrcFile,__LINE__); 982 if (pfea) { 974 983 memcpy(pfea, pfealist -> list, 975 984 pfealist -> cbList - sizeof(ULONG)); … … 988 997 DosFreeMem(pfealist); 989 998 } 990 else991 DosBeep(250, 100);992 999 } 993 else994 DosBeep(500, 100);995 1000 free(s); 996 1001 } 997 else998 DosBeep(100, 100);999 1002 } 1000 1003 } 1001 else1002 DosBeep(50, 100);1003 1004 } 1004 1005 break; … … 1014 1015 SHORT sSelect; 1015 1016 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) { 1020 1019 pfealist -> cbList = sizeof(FEA2LIST) + eap -> current -> cbName + 1; 1021 1020 pfealist -> list[0].cbName = eap -> current -> cbName; … … 1030 1029 (ULONG) sizeof(EAOP2), DSPI_WRTTHRU); 1031 1030 free(pfealist); 1032 if (!rc) 1033 { 1031 if (rc) 1032 Dos_Error(MB_CANCEL,rc,hwnd,pszSrcFile,__LINE__,"DosSetPathInfo"); 1033 else { 1034 1034 sSelect = 0; 1035 if (eap -> current == eap -> head) 1036 { 1035 if (eap -> current == eap -> head) { 1037 1036 eap -> head = eap -> head -> next; 1038 1037 free(eap -> current -> pfea); … … 1040 1039 eap -> current = NULL; 1041 1040 } 1042 else 1043 { 1041 else { 1044 1042 info = eap -> head; 1045 while (info) 1046 { 1047 if (info -> next == eap -> current) 1048 { 1043 while (info) { 1044 if (info -> next == eap -> current) { 1049 1045 sSelect++; 1050 1046 info -> next = eap -> current -> next; … … 1078 1074 MPFROM2SHORT(TRUE, 0)); 1079 1075 } 1080 else1081 DosBeep(50, 100);1082 1076 } 1083 1077 } … … 1117 1111 } 1118 1112 break; 1119 } 1113 } // switch 1120 1114 return WinDefDlgProc(hwnd, msg, mp1, mp2); 1121 1115 } … … 1171 1165 } 1172 1166 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 1175 1172 { 1176 1173 memset(pfealist, 0, ealen); … … 1286 1283 (ULONG) pfealist -> list[0].cbValue; 1287 1284 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 1300 1285 rc = DosSetPathInfo(filename, FIL_QUERYEASIZE, (PVOID) & eaop, 1301 1286 (ULONG) sizeof(EAOP2), DSPI_WRTTHRU); … … 1307 1292 if (rc && !silentfail) 1308 1293 { 1309 if (rc == ERROR_ACCESS_DENIED || rc == ERROR_SHARING_VIOLATION) 1294 if (rc == ERROR_ACCESS_DENIED || rc == ERROR_SHARING_VIOLATION) { 1310 1295 saymsg(MB_ENTER, 1311 1296 HWND_DESKTOP, … … 1314 1299 current -> name, 1315 1300 filename); 1316 else 1301 } 1302 else { 1317 1303 Dos_Error(MB_ENTER, 1318 1304 rc, 1319 1305 HWND_DESKTOP, 1320 __FILE__,1306 pszSrcFile, 1321 1307 __LINE__, 1322 1308 GetPString(IDS_ERRORWRITEEATEXT), … … 1324 1310 filename, 1325 1311 eaop.oError); 1312 } 1326 1313 } 1327 1314 } … … 1361 1348 ULONG x = 1L, ecnt = 1L; 1362 1349 1363 pdena = malloc(65536 + 1024);1350 pdena = xmalloc(65536 + 1024,pszSrcFile,__LINE__); 1364 1351 if (pdena) 1365 1352 { … … 1368 1355 ecnt) 1369 1356 { 1370 pgealist = malloc(64 + pdena -> cbName);1357 pgealist = xmalloc(64 + pdena -> cbName,pszSrcFile,__LINE__); 1371 1358 if (pgealist) 1372 1359 { … … 1376 1363 pgea -> cbName = pdena -> cbName; 1377 1364 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) { 1382 1367 pfealist -> cbList = 64 + pdena -> cbName + pdena -> cbValue; 1383 1368 eaop.fpGEA2List = pgealist; 1384 1369 eaop.fpFEA2List = pfealist; 1385 1370 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); 1387 1372 rc = DosQueryFileInfo(handle, FIL_QUERYEASFROMLIST, (PVOID) & eaop, 1388 1373 (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__); 1392 1387 if (info) 1393 1388 { 1394 info -> pfea = malloc(eaop.fpFEA2List -> cbList - sizeof(ULONG));1389 info -> pfea = xmalloc(eaop.fpFEA2List -> cbList - sizeof(ULONG),pszSrcFile,__LINE__); 1395 1390 memcpy(info -> pfea, eaop.fpFEA2List -> list, 1396 1391 eaop.fpFEA2List -> cbList - sizeof(ULONG)); … … 1408 1403 } 1409 1404 } 1410 else1411 {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 }1421 1405 free(pfealist); 1422 1406 } … … 1446 1430 ULONG x = 1L, ecnt = 1L; 1447 1431 1448 pdena = malloc(65536 + 1024);1432 pdena = xmalloc(65536 + 1024,pszSrcFile,__LINE__); 1449 1433 if (pdena) 1450 1434 { … … 1453 1437 ecnt) 1454 1438 { 1455 pgealist = malloc(64 + pdena -> cbName);1439 pgealist = xmalloc(64 + pdena -> cbName,pszSrcFile,__LINE__); 1456 1440 if (pgealist) 1457 1441 { … … 1461 1445 pgea -> cbName = pdena -> cbName; 1462 1446 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) { 1467 1449 pfealist -> cbList = 64 + pdena -> cbName + pdena -> cbValue; 1468 1450 eaop.fpGEA2List = pgealist; … … 1475 1457 if (!rc) 1476 1458 { 1477 info = malloc(sizeof(HOLDFEA));1459 info = xmalloc(sizeof(HOLDFEA),pszSrcFile,__LINE__); 1478 1460 if (info) 1479 1461 { 1480 info -> pfea = malloc(eaop.fpFEA2List -> cbList - sizeof(ULONG));1462 info -> pfea = xmalloc(eaop.fpFEA2List -> cbList - sizeof(ULONG),pszSrcFile,__LINE__); 1481 1463 memcpy(info -> pfea, eaop.fpFEA2List -> list, 1482 1464 eaop.fpFEA2List -> cbList - sizeof(ULONG)); … … 1515 1497 } 1516 1498 } 1517 else 1499 else { 1518 1500 Dos_Error(MB_ENTER, 1519 1501 rc, 1520 1502 HWND_DESKTOP, 1521 __FILE__,1503 pszSrcFile, 1522 1504 __LINE__, 1523 1505 GetPString(IDS_ERRORREADEATEXT), 1524 1506 pdena -> szName); 1507 } 1525 1508 } 1526 1509 }
Note:
See TracChangeset
for help on using the changeset viewer.
