Changeset 1077 for trunk/dll/arccnrs.c
- Timestamp:
- Jul 18, 2008, 8:11:54 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/arccnrs.c
r1076 r1077 339 339 if (pai->pszFileName && pai->pszFileName != NullStr) { 340 340 psz = pai->pszFileName; 341 pai->pszFileName = NULL; 341 pai->pszFileName = NULL; // 08 Jul 08 SHL was NulStr 342 342 free(psz); 343 343 } … … 1230 1230 1231 1231 switch (msg) { 1232 case WM_CREATE: 1233 DbgMsg(pszSrcFile, __LINE__, "WM_CREATE mp1 %p mp2 %p", mp1, mp2); // 18 Jul 08 SHL fixme 1234 break; 1235 1232 1236 case DM_PRINTOBJECT: 1233 1237 case DM_DISCARDOBJECT: … … 1347 1351 1348 1352 case UM_SETUP: 1353 # ifdef FORTIFY 1354 Fortify_EnterScope(); 1355 # endif 1349 1356 dcd = WinQueryWindowPtr(hwnd, QWL_USER); 1350 1357 if (!dcd) { … … 1353 1360 } 1354 1361 else { 1362 # ifdef FORTIFY 1363 Fortify_ChangeOwner(dcd); 1364 # endif 1355 1365 /* set unique id */ 1356 1366 WinSetWindowUShort(hwnd, QWS_ID, ARCOBJ_FRAME + (ARC_FRAME - dcd->id)); … … 1500 1510 1501 1511 if (li && li->list && li->list[0]) { 1502 1512 printf("%x/r", li->type); fflush(stdout); 1503 1513 switch (li->type) { 1504 1514 case IDM_ARCHIVE: … … 1565 1575 case IDM_DELETE: 1566 1576 { 1567 1568 1577 CHAR *endofit; 1578 PSZ pszCmdLine; 1569 1579 INT z; 1570 1580 CHECKLIST ck; … … 1592 1602 li->list = ck.list; 1593 1603 if (!li->list || !li->list[0]) 1594 1595 1596 1597 1604 break; 1605 pszCmdLine = xmallocz(MaxComLineStrg, pszSrcFile, __LINE__); 1606 if (!pszCmdLine) 1607 break; 1598 1608 strcpy(pszCmdLine, li->type == IDM_DELETE ? 1599 1609 dcd->info->delete : … … 1613 1623 (fArcStuffVisible ? 0 : BACKGROUND | MINIMIZED), 1614 1624 hwnd, pszSrcFile, __LINE__, NullStr, NULL, "%s", pszCmdLine); 1615 1616 1625 *endofit = 0; 1626 free(pszCmdLine); 1617 1627 } while (li->list[x]); 1618 1628 PostMsg(dcd->hwndCnr, UM_RESCAN, MPFROMSHORT(1), MPVOID); … … 1639 1649 case IDM_OPENSETTINGS: 1640 1650 { 1641 1642 1651 CHAR *endofit, *ptr; 1652 PSZ pszCmdLine; 1643 1653 INT z; 1644 1654 if ((li->type == IDM_EXTRACT && !li->info->extract) || … … 1699 1709 } 1700 1710 if (!li->list || !li->list[0]) 1701 1702 1703 1704 1711 break; 1712 pszCmdLine = xmallocz(MaxComLineStrg, pszSrcFile, __LINE__); 1713 if (!pszCmdLine) 1714 break; 1705 1715 strcpy(pszCmdLine, 1706 1716 (li->type == IDM_EXTRACT || … … 1739 1749 (fArcStuffVisible ? 0 : BACKGROUND | MINIMIZED) | 1740 1750 WAIT, hwnd, pszSrcFile, __LINE__, 1741 1751 li->targetpath, NULL, "%s", pszCmdLine); 1742 1752 *endofit = 0; 1743 1753 } while (li->list[x]); … … 1757 1767 p = xmalloc(strlen(temp) + strlen(li->targetpath) + 2, 1758 1768 pszSrcFile, __LINE__); 1759 1760 1769 if (p) { 1770 BldFullPathName(p, li->targetpath, temp); 1761 1771 /*strcpy(p, li->targetpath); 1762 1772 if (p[strlen(p) - 1] != '\\') … … 1827 1837 } 1828 1838 } 1829 1839 } 1830 1840 BldFullPathName(pszCmdLine, li->targetpath, li->list[x]); 1831 1841 temp = li->list[x]; 1832 1842 li->list[x] = xstrdup(pszCmdLine, pszSrcFile, __LINE__); 1833 1843 if (!li->list[x]) 1834 1844 li->list[x] = temp; 1835 1845 else 1836 1846 xfree(temp, pszSrcFile, __LINE__); 1837 1838 1847 } 1848 free(pszCmdLine); 1839 1849 if (li->type == IDM_VIEW || li->type == IDM_EDIT) { 1840 1850 … … 1856 1866 if (li->type == IDM_MCIPLAY) { 1857 1867 1858 1859 1860 1861 1868 FILE *fp; 1869 CHAR szTempFile[CCHMAXPATH]; 1870 1871 BldFullPathName(szTempFile, pTmpDir, "$FM2PLAY.$$$"); 1862 1872 fp = xfopen(szTempFile, "w", pszSrcFile, __LINE__); 1863 1873 if (fp) { … … 1866 1876 fprintf(fp, "%s\n", li->list[x]); 1867 1877 fprintf(fp, ";end\n"); 1868 1869 1870 1871 1878 fclose(fp); 1879 strrev(szTempFile); 1880 strcat(szTempFile, "@/"); 1881 strrev(szTempFile); 1872 1882 RunFM2Util("FM2PLAY.EXE", szTempFile); 1873 1883 } … … 1913 1923 li->type == IDM_OPENSETTINGS) { 1914 1924 WORKER *wk; 1915 # 1916 1917 # 1925 # ifdef FORTIFY 1926 Fortify_EnterScope(); 1927 # endif 1918 1928 wk = xmallocz(sizeof(WORKER), pszSrcFile, __LINE__); 1919 1929 if (!wk) 1920 1930 FreeListInfo(li); 1921 1931 else { 1922 wk->size = sizeof(WORKER); 1923 wk->hwndCnr = dcd->hwndCnr; 1924 wk->hwndParent = dcd->hwndParent; 1925 wk->hwndFrame = dcd->hwndFrame; 1926 wk->hwndClient = dcd->hwndClient; 1927 wk->li = li; 1928 strcpy(wk->directory, dcd->directory); 1929 if (_beginthread(Action, NULL, 122880, (PVOID) wk) == -1) { 1930 Runtime_Error(pszSrcFile, __LINE__, 1931 GetPString(IDS_COULDNTSTARTTHREADTEXT)); 1932 free(wk); 1933 FreeListInfo((LISTINFO *) mp1); 1934 # ifdef FORTIFY 1935 Fortify_LeaveScope(); 1936 # endif 1937 } 1938 } 1939 1932 wk->size = sizeof(WORKER); 1933 wk->hwndCnr = dcd->hwndCnr; 1934 wk->hwndParent = dcd->hwndParent; 1935 wk->hwndFrame = dcd->hwndFrame; 1936 wk->hwndClient = dcd->hwndClient; 1937 wk->li = li; 1938 strcpy(wk->directory, dcd->directory); 1939 if (_beginthread(Action, NULL, 122880, (PVOID) wk) == -1) { 1940 Runtime_Error(pszSrcFile, __LINE__, 1941 GetPString(IDS_COULDNTSTARTTHREADTEXT)); 1942 free(wk); 1943 FreeListInfo((LISTINFO *) mp1); 1944 } 1945 } 1946 # ifdef FORTIFY 1947 Fortify_LeaveScope(); 1948 # endif 1940 1949 } 1941 1950 else { … … 1954 1963 else 1955 1964 viewtype = 0; 1965 # ifdef FORTIFY 1966 Fortify_EnterScope(); 1967 # endif 1956 1968 temp = xstrdup(li->list[x], pszSrcFile, __LINE__); 1957 1969 if (temp) { … … 1964 1976 free(temp); 1965 1977 } 1978 # ifdef FORTIFY 1979 DosSleep(1); // Allow MassAction to take ownership 1980 Fortify_LeaveScope(); 1981 # endif 1966 1982 } 1967 1983 } … … 2020 2036 if (li->type != IDM_OPENDEFAULT && li->type != IDM_OPENSETTINGS) 2021 2037 { 2022 2038 FreeListInfo(li); 2023 2039 } 2024 2040 } … … 2045 2061 free(dcd); 2046 2062 # ifdef FORTIFY 2047 //Fortify_LeaveScope();2048 # 2063 Fortify_LeaveScope(); 2064 # endif 2049 2065 WinSetWindowPtr(dcd->hwndCnr, QWL_USER, NULL); 2050 2066 } … … 2592 2608 2593 2609 if ((INT)mp1 == 5 || (INT)mp1 == 13 || (INT)mp1 == 21) 2594 2595 2610 hwnd = StartViewer(HWND_DESKTOP, (INT)mp1, 2611 (CHAR *)mp2, dcd->hwndFrame); 2596 2612 else 2597 2598 2613 hwnd = StartMLEEditor(dcd->hwndParent, 2614 (INT)mp1, (CHAR *)mp2, dcd->hwndFrame); 2599 2615 free((CHAR *)mp2); 2600 2616 return MRFROMLONG(hwnd); … … 2953 2969 { 2954 2970 LISTINFO *li; 2955 # 2956 2957 # 2971 # ifdef FORTIFY 2972 Fortify_EnterScope(); 2973 # endif 2958 2974 li = xmallocz(sizeof(LISTINFO), pszSrcFile, __LINE__); 2959 2975 if (li) { … … 3015 3031 case IDM_VIRUSSCAN: 3016 3032 case IDM_OPENDEFAULT: 3017 3018 3033 case IDM_OPENSETTINGS: 3034 case IDM_MCIPLAY: 3019 3035 strcpy(li->targetpath, dcd->workdir); 3020 3036 break; … … 3031 3047 UnHilite(hwnd, TRUE, &dcd->lastselection, 0); 3032 3048 } 3033 3049 else { 3034 3050 free(li); 3035 # ifdef FORTIFY 3036 Fortify_LeaveScope(); 3037 # endif3038 } 3039 } 3051 } 3052 } 3053 # ifdef FORTIFY 3054 Fortify_LeaveScope(); 3055 # endif 3040 3056 } 3041 3057 break; … … 3509 3525 # ifdef FORTIFY 3510 3526 Fortify_EnterScope(); 3511 # 3527 # endif 3512 3528 dcd = xmallocz(sizeof(DIRCNRDATA), pszSrcFile, __LINE__); 3513 3529 if (!dcd) { … … 3519 3535 dcd->id = id; 3520 3536 dcd->type = ARC_FRAME; 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3537 if (!pTmpDir) { 3538 save_dir2(dcd->workdir); 3539 if (dcd->workdir[strlen(dcd->workdir) - 1] != '\\') 3540 strcat(dcd->workdir, "\\"); 3541 sprintf(dcd->workdir + strlen(dcd->workdir), "%s.%03x", 3542 ArcTempRoot, (clock() & 4095)); 3543 } 3544 else 3545 sprintf(dcd->workdir, "%s.%03x", 3546 ArcTempRoot, (clock() & 4095)); 3531 3547 strcpy(dcd->arcname, fullname); 3532 3548 if (*extractpath) { … … 3598 3614 IDS_WINCREATEWINDOW); 3599 3615 PostMsg(hwndClient, WM_CLOSE, MPVOID, MPVOID); 3600 free(dcd); 3601 # ifdef FORTIFY 3602 Fortify_LeaveScope(); 3603 # endif 3616 free(dcd); 3604 3617 hwndFrame = (HWND) 0; 3605 3618 } … … 3692 3705 } 3693 3706 } 3707 # ifdef FORTIFY 3708 Fortify_LeaveScope(); 3709 # endif 3694 3710 } 3695 3711 }
Note:
See TracChangeset
for help on using the changeset viewer.