Changeset 345 for trunk/dll/cmdline.c
- Timestamp:
- Jul 26, 2006, 7:34:36 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/cmdline.c
r186 r345 4 4 $Id$ 5 5 6 User defined commands support 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 05 Jun 05 SHL Use QWL_USER 13 22 Jul 06 SHL Check more run time errors 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" … … 26 30 #include "mle.h" 27 31 32 static PSZ pszSrcFile = __FILE__; 33 28 34 #pragma alloc_text(CMDLINE1,CmdLineDlgProc,CmdListSubProc,CmdLine2DlgProc,CmdBtnSubProc) 29 35 #pragma alloc_text(CMDLINE2,save_cmdlines,load_cmdlines,add_cmdline,remove_cmdline,free_cmdlines) … … 40 46 41 47 42 VOID load_cmdlines (BOOL big) {43 48 VOID load_cmdlines (BOOL big) 49 { 44 50 /* load linked list of cmdlines from CMDLINES.DAT file */ 45 51 … … 59 65 strcat(s,(big) ? "CMDLINES.DAT" : "CMDMINI.DAT"); 60 66 fp = _fsopen(s,"r",SH_DENYWR); 61 if (fp) {62 while (x < MAXNUMCLS && !feof(fp)) {63 if (!fgets(s,sizeof(s),fp))67 if (fp) { 68 while (x < MAXNUMCLS && !feof(fp)) { 69 if (!fgets(s,sizeof(s),fp)) 64 70 break; 65 71 s[sizeof(s) - 1] = 0; 66 72 bstripcr(s); 67 if (*s && *s != ';') {68 info = malloc(sizeof(LINKCLS));69 if (info) {73 if (*s && *s != ';') { 74 info = xmalloc(sizeof(LINKCLS), pszSrcFile, __LINE__); 75 if (info) { 70 76 x++; 71 info->cl = strdup(s); 72 if(info->cl) { 77 info->cl = xstrdup(s, pszSrcFile, __LINE__); 78 if (!info->cl) 79 free(info); 80 else { 73 81 info->next = NULL; 74 if (!clhead)82 if (!clhead) 75 83 clhead = info; 76 84 else … … 78 86 last = info; 79 87 } 80 else81 free(info);82 88 } 83 89 } … … 85 91 fclose(fp); 86 92 } 87 if (big)93 if (big) 88 94 clbig = clhead; 89 95 else … … 92 98 93 99 94 VOID save_cmdlines (BOOL big) {95 100 VOID save_cmdlines (BOOL big) 101 { 96 102 /* save linked list of cmdlines to CMDLINES.DAT file */ 97 103 … … 107 113 strcat(s,"\\"); 108 114 strcat(s,(big) ? "CMDLINES.DAT" : "CMDMINI.DAT"); 109 if (clhead) {110 fp = fopen(s,"w");111 if (fp) {115 if (clhead) { 116 fp = xfopen(s,"w",pszSrcFile,__LINE__); 117 if (fp) { 112 118 fputs(GetPString(IDS_COMMANDFILE2TEXT),fp); 113 119 info = clhead; … … 121 127 else 122 128 unlink(s); 123 if (big)129 if (big) 124 130 clbig = clhead; 125 131 else … … 128 134 129 135 130 BOOL add_cmdline (CHAR *cl,BOOL big) {131 136 BOOL add_cmdline (CHAR *cl,BOOL big) 137 { 132 138 LINKCLS *info,*last = NULL,*clhead; 133 139 INT x = 0; … … 139 145 load_cmdlines(big); 140 146 info = clhead; 141 while (info) {142 if (!stricmp(info->cl,cl))147 while (info) { 148 if (!stricmp(info->cl,cl)) 143 149 return FALSE; 144 150 last = info; … … 146 152 x++; 147 153 } 148 info = malloc(sizeof(LINKCLS)); 149 if(info) { 150 info->cl = strdup(cl); 151 if(info->cl) { 154 info = xmalloc(sizeof(LINKCLS), pszSrcFile, __LINE__); 155 if (info) { 156 info->cl = xstrdup(cl, pszSrcFile, __LINE__); 157 if (!info->cl) 158 free(info); 159 else { 152 160 info->next = NULL; 153 if (!clhead)161 if (!clhead) 154 162 clhead = info; 155 163 else 156 164 last->next = info; 157 if (x > MAXNUMCLS) {165 if (x > MAXNUMCLS) { 158 166 info = clhead; 159 167 clhead = clhead->next; … … 166 174 return TRUE; 167 175 } 168 else169 free(info);170 176 } 171 177 return FALSE; … … 173 179 174 180 175 BOOL remove_cmdline (CHAR *cl,BOOL big) {176 181 BOOL remove_cmdline (CHAR *cl,BOOL big) 182 { 177 183 LINKCLS *info,*last = NULL,*clhead; 178 184 … … 204 210 205 211 206 VOID free_cmdlines (BOOL big) {207 212 VOID free_cmdlines (BOOL big) 213 { 208 214 LINKCLS *info,*next,*clhead; 209 215 … … 225 231 226 232 227 MRESULT EXPENTRY CmdBtnSubProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {228 233 MRESULT EXPENTRY CmdBtnSubProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 234 { 229 235 switch(msg) { 230 236 case WM_MOUSEMOVE: … … 274 280 275 281 276 MRESULT EXPENTRY CmdListSubProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {277 282 MRESULT EXPENTRY CmdListSubProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 283 { 278 284 PFNWP oldproc = (PFNWP)WinQueryWindowPtr(hwnd,0); 279 285 … … 302 308 303 309 304 MRESULT EXPENTRY CmdLineDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {305 310 MRESULT EXPENTRY CmdLineDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 311 { 306 312 EXECARGS *ex; 307 313 … … 781 787 782 788 783 MRESULT EXPENTRY CmdLine2DlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {784 789 MRESULT EXPENTRY CmdLine2DlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 790 { 785 791 switch(msg) { 786 792 case WM_INITDLG:
Note:
See TracChangeset
for help on using the changeset viewer.