Changeset 985 for trunk/dll/notebook.c
- Timestamp:
- Mar 1, 2008, 2:37:14 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/notebook.c
r972 r985 29 29 16 Feb 08 SHL Restore SaveDirCnrState internal state save logic - accidentally removed 30 30 22 Feb 08 JBS Ticket 230: Fix/improve various code related to state or presparam values in the INI file. 31 29 Feb 08 GKY Changes to enable user settable command line length 32 29 Feb 08 GKY Use xfree where appropriate 31 33 32 34 ***********************************************************************/ … … 201 203 PrfWriteProfileString(fmprof, appname, "DefArc", szDefArc); 202 204 { 203 CHAR szCLBuf[MAXCOMLINESTRG], szPathBuf[CCHMAXPATH]; 205 CHAR *szCLBuf; 206 CHAR szPathBuf[CCHMAXPATH]; 204 207 PSZ pszWorkBuf; 205 208 206 pszWorkBuf = xmalloc(MAXCOMLINESTRG, pszSrcFile, __LINE__); 207 if (!pszWorkBuf) 209 szCLBuf = xmalloc(MaxComLineStrg, pszSrcFile, __LINE__); 210 if (!szCLBuf) 211 return 0; //already complained 212 pszWorkBuf = xmalloc(MaxComLineStrg, pszSrcFile, __LINE__); 213 if (!pszWorkBuf) { 214 xfree(szCLBuf); 208 215 return 0; //already complained 209 WinQueryDlgItemText(hwnd, CFGA_VIRUS, MAXCOMLINESTRG, szCLBuf); 210 szCLBuf[MAXCOMLINESTRG - 1] = 0; 216 } 217 WinQueryDlgItemText(hwnd, CFGA_VIRUS, MaxComLineStrg, szCLBuf); 218 szCLBuf[MaxComLineStrg - 1] = 0; 211 219 if (strcmp(szCLBuf, virus)){ 212 220 NormalizeCmdLine(pszWorkBuf, szCLBuf); 213 221 memcpy(virus, pszWorkBuf, strlen(pszWorkBuf) + 1); 214 xfree(pszWorkBuf); 222 xfree(pszWorkBuf); 223 xfree(szCLBuf); 215 224 if (!strchr(virus, '%') && strlen(virus) > 3) 216 225 strcat(virus, " %p"); … … 376 385 case WM_INITDLG: 377 386 WinSendDlgItemMsg(hwnd, CFGV_VIEWER, EM_SETTEXTLIMIT, 378 MPFROM2SHORT(M AXCOMLINESTRG, 0), MPVOID);387 MPFROM2SHORT(MaxComLineStrg, 0), MPVOID); 379 388 WinSendDlgItemMsg(hwnd, CFGV_EDITOR, EM_SETTEXTLIMIT, 380 MPFROM2SHORT(M AXCOMLINESTRG, 0), MPVOID);389 MPFROM2SHORT(MaxComLineStrg, 0), MPVOID); 381 390 WinSendDlgItemMsg(hwnd, CFGV_BINVIEW, EM_SETTEXTLIMIT, 382 MPFROM2SHORT(M AXCOMLINESTRG, 0), MPVOID);391 MPFROM2SHORT(MaxComLineStrg, 0), MPVOID); 383 392 WinSendDlgItemMsg(hwnd, CFGV_BINED, EM_SETTEXTLIMIT, 384 MPFROM2SHORT(M AXCOMLINESTRG, 0), MPVOID);393 MPFROM2SHORT(MaxComLineStrg, 0), MPVOID); 385 394 WinEnableWindow(WinWindowFromID(hwnd, CFGV_FIND), FALSE); 386 395 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); … … 468 477 case WM_CLOSE: 469 478 { 470 CHAR szCLBuf[MAXCOMLINESTRG];479 CHAR *szCLBuf; 471 480 PSZ pszWorkBuf; 472 481 473 pszWorkBuf = xmalloc(MAXCOMLINESTRG, pszSrcFile, __LINE__); 474 if (!pszWorkBuf) 482 szCLBuf = xmalloc(MaxComLineStrg, pszSrcFile, __LINE__); 483 if (!szCLBuf) 484 return 0; //already complained 485 pszWorkBuf = xmalloc(MaxComLineStrg, pszSrcFile, __LINE__); 486 if (!pszWorkBuf) { 487 xfree(szCLBuf); 475 488 return 0; //already complained 476 WinQueryDlgItemText(hwnd, CFGV_VIEWER, MAXCOMLINESTRG, szCLBuf); 477 szCLBuf[MAXCOMLINESTRG - 1] = 0; 489 } 490 WinQueryDlgItemText(hwnd, CFGV_VIEWER, MaxComLineStrg, szCLBuf); 491 szCLBuf[MaxComLineStrg - 1] = 0; 478 492 if (strcmp(szCLBuf, viewer)){ 479 493 NormalizeCmdLine(pszWorkBuf, szCLBuf); … … 482 496 strcat(viewer, " %a"); 483 497 } 484 WinQueryDlgItemText(hwnd, CFGV_EDITOR, M AXCOMLINESTRG, szCLBuf);485 szCLBuf[M AXCOMLINESTRG- 1] = 0;498 WinQueryDlgItemText(hwnd, CFGV_EDITOR, MaxComLineStrg, szCLBuf); 499 szCLBuf[MaxComLineStrg - 1] = 0; 486 500 if (strcmp(szCLBuf, editor)){ 487 501 NormalizeCmdLine(pszWorkBuf, szCLBuf); … … 490 504 strcat(editor, " %a"); 491 505 } 492 WinQueryDlgItemText(hwnd, CFGV_BINVIEW, M AXCOMLINESTRG, szCLBuf);493 szCLBuf[M AXCOMLINESTRG- 1] = 0;506 WinQueryDlgItemText(hwnd, CFGV_BINVIEW, MaxComLineStrg, szCLBuf); 507 szCLBuf[MaxComLineStrg - 1] = 0; 494 508 if (strcmp(szCLBuf, binview)){ 495 509 NormalizeCmdLine(pszWorkBuf, szCLBuf); … … 498 512 strcat(binview, " %a"); 499 513 } 500 WinQueryDlgItemText(hwnd, CFGV_BINED, M AXCOMLINESTRG, szCLBuf);501 szCLBuf[M AXCOMLINESTRG- 1] = 0;514 WinQueryDlgItemText(hwnd, CFGV_BINED, MaxComLineStrg, szCLBuf); 515 szCLBuf[MaxComLineStrg - 1] = 0; 502 516 if (strcmp(szCLBuf, bined)){ 503 517 NormalizeCmdLine(pszWorkBuf, szCLBuf); … … 507 521 } 508 522 xfree(pszWorkBuf); 523 xfree(szCLBuf); 509 524 PrfWriteProfileString(fmprof, appname, "Viewer", viewer); 510 525 PrfWriteProfileString(fmprof, appname, "Editor", editor); … … 547 562 MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 548 563 WinSendDlgItemMsg(hwnd, CFGH_FTPRUN, EM_SETTEXTLIMIT, 549 MPFROM2SHORT(M AXCOMLINESTRG, 0), MPVOID);564 MPFROM2SHORT(MaxComLineStrg, 0), MPVOID); 550 565 WinSendDlgItemMsg(hwnd, CFGH_HTTPRUN, EM_SETTEXTLIMIT, 551 MPFROM2SHORT(M AXCOMLINESTRG, 0), MPVOID);566 MPFROM2SHORT(MaxComLineStrg, 0), MPVOID); 552 567 WinSendDlgItemMsg(hwnd, CFGH_MAILRUN, EM_SETTEXTLIMIT, 553 MPFROM2SHORT(M AXCOMLINESTRG, 0), MPVOID);568 MPFROM2SHORT(MaxComLineStrg, 0), MPVOID); 554 569 WinSendDlgItemMsg(hwnd, CFGH_RUNMAILWORKDIR, EM_SETTEXTLIMIT, 555 570 MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); … … 664 679 case WM_CLOSE: 665 680 { 666 CHAR szCLBuf[MAXCOMLINESTRG], szPathBuf[CCHMAXPATH]; 681 CHAR *szCLBuf; 682 CHAR szPathBuf[CCHMAXPATH]; 667 683 PSZ pszWorkBuf; 668 684 669 pszWorkBuf = xmalloc(MAXCOMLINESTRG, pszSrcFile, __LINE__); 670 if (!pszWorkBuf) 685 szCLBuf = xmalloc(MaxComLineStrg, pszSrcFile, __LINE__); 686 if (!szCLBuf) 687 return 0; //already complained 688 pszWorkBuf = xmalloc(MaxComLineStrg, pszSrcFile, __LINE__); 689 if (!pszWorkBuf) { 690 xfree(szCLBuf); 671 691 return 0; //already complained 692 } 672 693 WinQueryDlgItemText(hwnd, CFGH_RUNHTTPWORKDIR, CCHMAXPATH, szPathBuf); 673 694 szPathBuf[CCHMAXPATH - 1] = 0; … … 682 703 bstrip(szPathBuf); 683 704 memcpy(mailrundir, szPathBuf, strlen(szPathBuf) + 1); 684 WinQueryDlgItemText(hwnd, CFGH_FTPRUN, M AXCOMLINESTRG, szCLBuf);685 szCLBuf[M AXCOMLINESTRG- 1] = 0;705 WinQueryDlgItemText(hwnd, CFGH_FTPRUN, MaxComLineStrg, szCLBuf); 706 szCLBuf[MaxComLineStrg - 1] = 0; 686 707 if (strcmp(szCLBuf, ftprun)){ 687 708 NormalizeCmdLine(pszWorkBuf, szCLBuf); 688 709 memcpy(ftprun, pszWorkBuf, strlen(pszWorkBuf) + 1); 689 710 } 690 WinQueryDlgItemText(hwnd, CFGH_HTTPRUN, M AXCOMLINESTRG, szCLBuf);691 szCLBuf[M AXCOMLINESTRG- 1] = 0;711 WinQueryDlgItemText(hwnd, CFGH_HTTPRUN, MaxComLineStrg, szCLBuf); 712 szCLBuf[MaxComLineStrg - 1] = 0; 692 713 if (strcmp(szCLBuf, httprun)){ 693 714 NormalizeCmdLine(pszWorkBuf, szCLBuf); 694 715 memcpy(httprun, pszWorkBuf, strlen(pszWorkBuf) + 1); 695 716 } 696 WinQueryDlgItemText(hwnd, CFGH_MAILRUN, M AXCOMLINESTRG, szCLBuf);697 szCLBuf[M AXCOMLINESTRG- 1] = 0;717 WinQueryDlgItemText(hwnd, CFGH_MAILRUN, MaxComLineStrg, szCLBuf); 718 szCLBuf[MaxComLineStrg - 1] = 0; 698 719 if (strcmp(szCLBuf, mailrun)){ 699 720 NormalizeCmdLine(pszWorkBuf, szCLBuf); … … 701 722 } 702 723 xfree(pszWorkBuf); 724 xfree(szCLBuf); 703 725 PrfWriteProfileString(fmprof, appname, "HttpRunDir", httprundir); 704 726 PrfWriteProfileString(fmprof, appname, "FtpRunDir", ftprundir); … … 1065 1087 switch (msg) { 1066 1088 case WM_INITDLG: 1089 WinSendDlgItemMsg(hwnd, CFGG_CMDLNLNGTH, SPBM_SETTEXTLIMIT, 1090 MPFROMSHORT(8), MPVOID); 1091 WinSendDlgItemMsg(hwnd, CFGG_CMDLNLNGTH, SPBM_OVERRIDESETLIMITS, 1092 MPFROMLONG(CMDLNLNGTH_MAX), MPFROMLONG(CMDLNLNGTH_MIN)); 1067 1093 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1068 1094 break; … … 1086 1112 WinCheckButton(hwnd, CFGG_CONFIRMTARGET, fConfirmTarget); 1087 1113 WinSetDlgItemText(hwnd, CFGG_TARGETDIR, targetdir); 1114 WinSendDlgItemMsg(hwnd, CFGG_CMDLNLNGTH, SPBM_SETCURRENTVALUE, 1115 MPFROMLONG(MaxComLineStrg), MPVOID); 1088 1116 return 0; 1089 1117 … … 1189 1217 fConfirmTarget = WinQueryButtonCheckstate(hwnd, CFGG_CONFIRMTARGET); 1190 1218 PrfWriteProfileData(fmprof, appname, "ConfirmTarget", 1191 &fConfirmTarget, sizeof(BOOL)); 1219 &fConfirmTarget, sizeof(BOOL)); 1220 { 1221 WinSendDlgItemMsg(hwnd, CFGG_CMDLNLNGTH, SPBM_QUERYVALUE, 1222 MPFROMP(&MaxComLineStrg), MPFROM2SHORT(0, SPBQ_DONOTUPDATE)); 1223 if (MaxComLineStrg < CMDLNLNGTH_MIN) 1224 MaxComLineStrg = CMDLNLNGTH_MIN; 1225 else if (MaxComLineStrg > CMDLNLNGTH_MAX) 1226 MaxComLineStrg = CMDLNLNGTH_MAX; 1227 PrfWriteProfileData(fmprof, 1228 appname, "MaxComLineStrg", &MaxComLineStrg, sizeof(ULONG)); 1229 } 1192 1230 break; 1193 1231 } … … 1200 1238 case WM_INITDLG: 1201 1239 WinSendDlgItemMsg(hwnd, CFGC_COMPARE, EM_SETTEXTLIMIT, 1202 MPFROM2SHORT(M AXCOMLINESTRG, 0), MPVOID);1240 MPFROM2SHORT(MaxComLineStrg, 0), MPVOID); 1203 1241 WinSendDlgItemMsg(hwnd, CFGC_DIRCOMPARE, EM_SETTEXTLIMIT, 1204 MPFROM2SHORT(M AXCOMLINESTRG, 0), MPVOID);1242 MPFROM2SHORT(MaxComLineStrg, 0), MPVOID); 1205 1243 WinEnableWindow(WinWindowFromID(hwnd, CFGC_FIND), FALSE); 1206 1244 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); … … 1278 1316 case WM_CLOSE: 1279 1317 { 1280 CHAR szCLBuf[MAXCOMLINESTRG];1318 CHAR *szCLBuf; 1281 1319 PSZ pszWorkBuf; 1282 1320 1283 pszWorkBuf = xmalloc(MAXCOMLINESTRG, pszSrcFile, __LINE__); 1284 if (!pszWorkBuf) 1321 szCLBuf = xmalloc(MaxComLineStrg, pszSrcFile, __LINE__); 1322 if (!szCLBuf) 1323 return 0; //already complained 1324 pszWorkBuf = xmalloc(MaxComLineStrg, pszSrcFile, __LINE__); 1325 if (!pszWorkBuf) { 1326 xfree(szCLBuf); 1285 1327 return 0; //already complained 1286 WinQueryDlgItemText(hwnd, CFGC_DIRCOMPARE, MAXCOMLINESTRG, szCLBuf); 1287 szCLBuf[MAXCOMLINESTRG - 1] = 0; 1328 } 1329 WinQueryDlgItemText(hwnd, CFGC_DIRCOMPARE, MaxComLineStrg, szCLBuf); 1330 szCLBuf[MaxComLineStrg - 1] = 0; 1288 1331 if (strcmp(szCLBuf, dircompare)){ 1289 1332 NormalizeCmdLine(pszWorkBuf, szCLBuf); … … 1293 1336 } 1294 1337 PrfWriteProfileString(fmprof, appname, "DirCompare", dircompare); 1295 WinQueryDlgItemText(hwnd, CFGC_COMPARE, M AXCOMLINESTRG, szCLBuf);1296 szCLBuf[MAXCOMLINESTRG- 1] = 0;1297 1298 1299 1300 1301 1302 1338 WinQueryDlgItemText(hwnd, CFGC_COMPARE, MaxComLineStrg, szCLBuf); 1339 szCLBuf[MaxComLineStrg - 1] = 0; 1340 if (strcmp(szCLBuf, compare)){ 1341 NormalizeCmdLine(pszWorkBuf, szCLBuf); 1342 memcpy(compare, pszWorkBuf, strlen(pszWorkBuf) + 1); 1343 if (!strchr(compare, '%') && strlen(compare) > 3) 1344 strcat(compare, " %a"); 1345 } 1303 1346 xfree(pszWorkBuf); 1347 xfree(szCLBuf); 1304 1348 PrfWriteProfileString(fmprof, appname, "Compare", compare); 1305 1349 break;
Note:
See TracChangeset
for help on using the changeset viewer.