Changeset 730 for trunk/dll/comp.c
- Timestamp:
- Jul 22, 2007, 7:57:09 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/comp.c
r689 r730 355 355 CHAR newname[CCHMAXPATH], dirname[CCHMAXPATH], *p; 356 356 APIRET rc; 357 CHAR *f = 0; 357 358 358 359 if (!cmp) … … 414 415 pciOn = WinSendMsg(hwndCnrD, CM_QUERYRECORD, MPFROMP(pciO), 415 416 MPFROM2SHORT(CMA_NEXT, CMA_ITEMORDER)); 416 if (*pci-> szFileName && (pci->rc.flRecordAttr & CRA_SELECTED)) {417 if (*pci->pszFileName && (pci->rc.flRecordAttr & CRA_SELECTED)) { 417 418 switch (cmp->action) { 418 419 case IDM_DELETE: 419 if (!unlinkf("%s", pci-> szFileName)) {420 if (!unlinkf("%s", pci->pszFileName)) { 420 421 WinSendMsg(hwndCnrS, CM_SETRECORDEMPHASIS, MPFROMP(pci), 421 422 MPFROM2SHORT(FALSE, CRA_SELECTED)); 422 if (!*pciO-> szFileName) {423 if (!*pciO->pszFileName) { 423 424 WinSendMsg(hwndCnrS, CM_REMOVERECORD, MPFROMP(&pci), 424 425 MPFROM2SHORT(1, CMA_FREE | CMA_INVALIDATE)); … … 429 430 MPFROM2SHORT(1, CMA_FREE | CMA_INVALIDATE)); 430 431 } 431 432 *pci->szFileName = 0;433 pci->pszFileName = pci->szFileName;432 else { 433 pci->pszFileName = xstrdup(f, pszSrcFile, __LINE__); 434 //pci->pszFileName = pci->szFileName; 434 435 pci->flags = 0; 435 436 WinSendMsg(hwndCnrS, CM_INVALIDATERECORD, MPFROMP(&pci), … … 463 464 MassMkdir(hwndMain, dirname); 464 465 } 465 rc = docopyf(MOVE, pci-> szFileName, "%s", newname);466 if (!rc && stricmp(pci-> szFileName, newname)) {466 rc = docopyf(MOVE, pci->pszFileName, "%s", newname); 467 if (!rc && stricmp(pci->pszFileName, newname)) { 467 468 WinSendMsg(hwndCnrS, CM_SETRECORDEMPHASIS, MPFROMP(pci), 468 469 MPFROM2SHORT(FALSE, CRA_SELECTED)); … … 470 471 WinSendMsg(hwndCnrD, CM_SETRECORDEMPHASIS, MPFROMP(pciO), 471 472 MPFROM2SHORT(FALSE, CRA_SELECTED)); 472 strcpy(pciO->szFileName, newname);473 pciO->pszFileName = xstrdup(newname, pszSrcFile, __LINE__); 473 474 if (hwndCnrS == WinWindowFromID(cmp->hwnd, COMP_RIGHTDIR)) { 474 pciO->pszFileName = pciO-> szFileName + strlen(cmp->leftdir);475 pciO->pszFileName = pciO->pszFileName + strlen(cmp->leftdir); 475 476 if (cmp->leftdir[strlen(cmp->leftdir) - 1] != '\\') 476 477 pciO->pszFileName++; 477 478 } 478 479 else { 479 pciO->pszFileName = pciO-> szFileName + strlen(cmp->rightdir);480 pciO->pszFileName = pciO->pszFileName + strlen(cmp->rightdir); 480 481 if (cmp->rightdir[strlen(cmp->rightdir) - 1] != '\\') 481 482 pciO->pszFileName++; 482 483 } 483 484 strcpy(pciO->szDispAttr, pci->szDispAttr); 484 485 pciO->attrFile = pci->attrFile; … … 492 493 pciO->cbFile = pci->cbFile; 493 494 pciO->easize = pci->easize; 494 *pciO->szSubject = 0;495 *pci->szFileName = 0;496 pci->pszFileName = pci->szFileName;495 pciO->pszSubject = xstrdup(f, pszSrcFile, __LINE__); 496 pci->pszFileName = xstrdup(f, pszSrcFile, __LINE__); 497 //pci->pszFileName = pci->szFileName; 497 498 pci->flags = 0; 498 499 WinSendMsg(hwndCnrS, CM_INVALIDATERECORD, MPFROMP(&pci), … … 508 509 __LINE__, 509 510 GetPString(IDS_COMPMOVEFAILEDTEXT), 510 pci-> szFileName, newname);511 pci->pszFileName, newname); 511 512 if (rc == MBID_CANCEL) /* cause loop to break */ 512 513 pcin = NULL; … … 533 534 MassMkdir(hwndMain, dirname); 534 535 } 535 rc = docopyf(COPY, pci-> szFileName, "%s", newname);536 rc = docopyf(COPY, pci->pszFileName, "%s", newname); 536 537 if (rc) { 537 538 rc = Dos_Error(MB_ENTERCANCEL, … … 541 542 __LINE__, 542 543 GetPString(IDS_COMPCOPYFAILEDTEXT), 543 pci-> szFileName, newname);544 pci->pszFileName, newname); 544 545 if (rc == MBID_CANCEL) 545 546 pcin = NULL; /* cause loop to break */ … … 551 552 WinSendMsg(hwndCnrD, CM_SETRECORDEMPHASIS, MPFROMP(pciO), 552 553 MPFROM2SHORT(FALSE, CRA_SELECTED)); 553 strcpy(pciO->szFileName, newname);554 pciO->pszFileName = xstrdup(newname, pszSrcFile, __LINE__); 554 555 if (hwndCnrS == WinWindowFromID(cmp->hwnd, COMP_RIGHTDIR)) { 555 pciO->pszFileName = pciO-> szFileName + strlen(cmp->leftdir);556 pciO->pszFileName = pciO->pszFileName + strlen(cmp->leftdir); 556 557 if (cmp->leftdir[strlen(cmp->leftdir) - 1] != '\\') 557 558 pciO->pszFileName++; 558 559 } 559 560 else { 560 pciO->pszFileName = pciO-> szFileName + strlen(cmp->rightdir);561 pciO->pszFileName = pciO->pszFileName + strlen(cmp->rightdir); 561 562 if (cmp->rightdir[strlen(cmp->rightdir) - 1] != '\\') 562 563 pciO->pszFileName++; 563 564 } 564 565 strcpy(pciO->szDispAttr, pci->szDispAttr); 565 566 pciO->attrFile = pci->attrFile; … … 573 574 pciO->cbFile = pci->cbFile; 574 575 pciO->easize = pci->easize; 575 *pci->szSubject = 0;576 pci->pszSubject = xstrdup(f, pszSrcFile, __LINE__); 576 577 pci->flags = CNRITEM_EXISTS; 577 578 WinSendMsg(hwndCnrS, CM_INVALIDATERECORD, MPFROMP(&pci), … … 792 793 RECORDINSERT ri; 793 794 CHAR *pch; 795 CHAR fname[CCHMAXPATH]; 794 796 795 797 WinCancelShutdown(hmq, TRUE); … … 1024 1026 while ((filesl && filesl[l]) || (filesr && filesr[r])) { 1025 1027 pcir->hwndCnr = hwndRight; 1026 pcir->pszFileName = pcir->szFileName;1028 //pcir->pszFileName = pcir->szFileName; 1027 1029 pcir->rc.pszIcon = pcir->pszFileName; 1028 1030 pcir->rc.hptrIcon = (HPOINTER) 0; 1029 pcir->pszSubject = pcir->szSubject;1030 pcir->pszLongname = pcir->szLongname;1031 //pcir->pszSubject = pcir->szSubject; 1032 //pcir->pszLongname = pcir->szLongname; 1031 1033 pcir->pszDispAttr = pcir->szDispAttr; 1032 1034 pcil->hwndCnr = hwndLeft; 1033 pcil->pszFileName = pcil->szFileName;1035 //pcil->pszFileName = pcil->szFileName; 1034 1036 pcil->rc.pszIcon = pcil->pszFileName; 1035 1037 pcil->rc.hptrIcon = (HPOINTER) 0; 1036 1038 pcil->pszDispAttr = pcil->szDispAttr; 1037 pcil->pszSubject = pcil->szSubject;1038 pcil->pszLongname = pcil->szLongname;1039 //pcil->pszSubject = pcil->szSubject; 1040 //pcil->pszLongname = pcil->szLongname; 1039 1041 if ((filesl && filesl[l]) && (filesr && filesr[r])) { 1040 1042 x = stricmp(filesl[l]->fname, filesr[r]->fname); 1041 1043 if (!x) { 1042 1043 sprintf( pcil->szFileName, "%s%s%s", cmp->leftdir,1044 // Same 1045 sprintf(fname, "%s%s%s", cmp->leftdir, 1044 1046 (cmp->leftdir[strlen(cmp->leftdir) - 1] == '\\') ? 1045 1047 NullStr : "\\", filesl[l]->fname); 1046 1048 // pcil->rc.hptrIcon = hptrFile; 1047 pcil->pszFileName = pcil->szFileName + lenl;1049 pcil->pszFileName = xstrdup((fname + lenl), pszSrcFile, __LINE__); 1048 1050 pcil->attrFile = filesl[l]->attrFile; 1049 1051 y = 0; … … 1081 1083 } 1082 1084 } 1083 sprintf( pcir->szFileName, "%s%s%s", cmp->rightdir,1085 sprintf(fname, "%s%s%s", cmp->rightdir, 1084 1086 (cmp->rightdir[strlen(cmp->rightdir) - 1] == '\\') ? 1085 1087 NullStr : "\\", filesr[r]->fname); 1086 pcir->pszFileName = pcir->szFileName + lenr;1088 pcir->pszFileName = xstrdup((fname + lenr), pszSrcFile, __LINE__); 1087 1089 pcir->attrFile = filesr[r]->attrFile; 1088 1090 // pcir->rc.hptrIcon = hptrFile; … … 1116 1118 pcil->flags |= CNRITEM_EXISTS; 1117 1119 pcir->flags |= CNRITEM_EXISTS; 1118 pch = pcil-> szSubject;1120 pch = pcil->pszSubject; 1119 1121 if (pcil->cbFile + pcil->easize > pcir->cbFile + pcir->easize) { 1120 1122 pcil->flags |= CNRITEM_LARGER; … … 1144 1146 pcil->flags |= CNRITEM_NEWER; 1145 1147 pcir->flags |= CNRITEM_OLDER; 1146 if (pch != pcil-> szSubject) {1148 if (pch != pcil->pszSubject) { 1147 1149 strcpy(pch, ", "); 1148 1150 pch += 2; … … 1166 1168 pcil->flags |= CNRITEM_OLDER; 1167 1169 pcir->flags |= CNRITEM_NEWER; 1168 if (pch != pcil-> szSubject) {1170 if (pch != pcil->pszSubject) { 1169 1171 strcpy(pch, ", "); 1170 1172 pch += 2; … … 1179 1181 else if (x < 0) { 1180 1182 // Just on left 1181 sprintf( pcil->szFileName, "%s%s%s", cmp->leftdir,1183 sprintf(fname, "%s%s%s", cmp->leftdir, 1182 1184 (cmp->leftdir[strlen(cmp->leftdir) - 1] == '\\') ? 1183 1185 NullStr : "\\", filesl[l]->fname); 1184 pcil->pszFileName = pcil->szFileName + lenl;1186 pcil->pszFileName = xstrdup((fname + lenl), pszSrcFile, __LINE__); 1185 1187 pcil->attrFile = filesl[l]->attrFile; 1186 1188 // pcil->rc.hptrIcon = hptrFile; … … 1223 1225 else { 1224 1226 // Just on right 1225 sprintf( pcir->szFileName, "%s%s%s", cmp->rightdir,1227 sprintf(fname, "%s%s%s", cmp->rightdir, 1226 1228 (cmp->rightdir[strlen(cmp->rightdir) - 1] == '\\') ? 1227 1229 NullStr : "\\", filesr[r]->fname); 1228 pcir->pszFileName = pcir->szFileName + lenr;1230 pcir->pszFileName = xstrdup((fname + lenr), pszSrcFile, __LINE__); 1229 1231 pcir->attrFile = filesr[r]->attrFile; 1230 1232 // pcir->rc.hptrIcon = hptrFile; … … 1269 1271 else if (filesl && filesl[l]) { 1270 1272 // Just on left 1271 sprintf( pcil->szFileName, "%s%s%s", cmp->leftdir,1273 sprintf(fname, "%s%s%s", cmp->leftdir, 1272 1274 (cmp->leftdir[strlen(cmp->leftdir) - 1] == '\\') ? 1273 1275 NullStr : "\\", filesl[l]->fname); 1274 pcil->pszFileName = pcil->szFileName + lenl;1276 pcil->pszFileName = xstrdup((fname + lenl), pszSrcFile, __LINE__); 1275 1277 pcil->attrFile = filesl[l]->attrFile; 1276 1278 // pcil->rc.hptrIcon = hptrFile; … … 1313 1315 /* filesr && filesr[r] */ 1314 1316 // Just on right 1315 sprintf( pcir->szFileName, "%s%s%s", cmp->rightdir,1317 sprintf(fname, "%s%s%s", cmp->rightdir, 1316 1318 (cmp->rightdir[strlen(cmp->rightdir) - 1] == '\\') ? 1317 1319 NullStr : "\\", filesr[r]->fname); 1318 pcir->pszFileName = pcir->szFileName + lenr;1320 pcir->pszFileName = xstrdup((fname + lenr), pszSrcFile, __LINE__); 1319 1321 pcir->attrFile = filesr[r]->attrFile; 1320 1322 // pcir->rc.hptrIcon = hptrFile; … … 1621 1623 if (pcown) { 1622 1624 pci = (PCNRITEM) pcown->pRecord; 1623 if (pci && (INT) pci != -1 && !*pci-> szFileName)1625 if (pci && (INT) pci != -1 && !*pci->pszFileName) 1624 1626 return MRFROMLONG(TRUE); 1625 1627 } … … 1761 1763 SetShiftState(); 1762 1764 if (pci) { 1763 if ((pci->rc.flRecordAttr & CRA_INUSE) || !*pci-> szFileName)1765 if ((pci->rc.flRecordAttr & CRA_INUSE) || !*pci->pszFileName) 1764 1766 break; 1765 1767 WinSendMsg(hwndCnr, CM_SETRECORDEMPHASIS, MPFROMP(pci), … … 1767 1769 if (pci->attrFile & FILE_DIRECTORY) { 1768 1770 if ((shiftstate & (KC_CTRL | KC_SHIFT)) == (KC_CTRL | KC_SHIFT)) 1769 OpenObject(pci-> szFileName, Settings, hwnd);1771 OpenObject(pci->pszFileName, Settings, hwnd); 1770 1772 else 1771 OpenObject(pci-> szFileName, Default, hwnd);1773 OpenObject(pci->pszFileName, Default, hwnd); 1772 1774 } 1773 1775 else 1774 1776 DefaultViewKeys(hwnd, hwnd, HWND_DESKTOP, NULL, 1775 pci-> szFileName);1777 pci->pszFileName); 1776 1778 WinSendMsg(hwndCnr, CM_SETRECORDEMPHASIS, 1777 1779 MPFROMP(pci), … … 1794 1796 cmp->hwndCalling = WinWindowFromID(hwnd, SHORT1FROMMP(mp1)); 1795 1797 if (pci) { 1796 if (!*pci-> szFileName || *cmp->rightlist)1798 if (!*pci->pszFileName || *cmp->rightlist) 1797 1799 break; 1798 1800 id = COMP_MENU; … … 1842 1844 pci = (PCNRITEM) pre->pRecord; 1843 1845 if (pci) { 1844 if (!*pci-> szFileName) {1846 if (!*pci->pszFileName) { 1845 1847 if (pci->rc.flRecordAttr & CRA_SELECTED) 1846 1848 WinSendDlgItemMsg(hwnd, SHORT1FROMMP(mp1), … … 2088 2090 CHAR *fakelist[3]; 2089 2091 2090 fakelist[0] = pci-> szFileName;2092 fakelist[0] = pci->pszFileName; 2091 2093 fakelist[1] = ofile; 2092 2094 fakelist[2] = NULL; … … 2101 2103 fc.size = sizeof(fc); 2102 2104 fc.hwndParent = hwnd; 2103 strcpy(fc.file1, pci-> szFileName);2105 strcpy(fc.file1, pci->pszFileName); 2104 2106 strcpy(fc.file2, ofile); 2105 2107 WinDlgBox(HWND_DESKTOP, hwnd, … … 2127 2129 fSelectedAlways = temp; 2128 2130 if (pci && !(pci->attrFile & FILE_DIRECTORY)) { 2129 p = strrchr(pci-> szFileName, '\\');2131 p = strrchr(pci->pszFileName, '\\'); 2130 2132 if (p) { 2131 2133 p++;
Note:
See TracChangeset
for help on using the changeset viewer.