Changeset 347 for trunk/dll/command.c
- Timestamp:
- Jul 26, 2006, 7:43:28 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note:
See TracChangeset
for help on using the changeset viewer.