彻底修复多次打开文件管理窗口崩溃的缺陷
1、在主对话框清理子窗口的资源(原先在各自的OnClose函数),通过CLOSE_DELETE_DLG控制。 2、修正CFileManagerDlg的构造函数调用SHGetFileInfo和FromHandle方法,解决多次打开崩溃。 3、更新服务端zlib版本为V1.2.11。(与客户端不同,因inflate_fast 崩溃,没有采用汇编)
This commit is contained in:
@@ -71,3 +71,11 @@
|
|||||||
4、退出时睡眠一会,等待服务端清理,发现这样可以避免退出时崩溃的概率。
|
4、退出时睡眠一会,等待服务端清理,发现这样可以避免退出时崩溃的概率。
|
||||||
|
|
||||||
5、发布稍微稳定的版本V1.0.0.1。
|
5、发布稍微稳定的版本V1.0.0.1。
|
||||||
|
|
||||||
|
2019.1.13
|
||||||
|
|
||||||
|
1、在主对话框清理子窗口的资源(原先在各自的OnClose函数),通过CLOSE_DELETE_DLG控制。
|
||||||
|
|
||||||
|
2、修正CFileManagerDlg的构造函数调用SHGetFileInfo和FromHandle方法,解决多次打开崩溃。
|
||||||
|
|
||||||
|
3、更新服务端zlib版本为V1.2.11。(与客户端不同,因inflate_fast 崩溃,没有采用汇编)
|
||||||
|
|||||||
4
client/remote.ini
Normal file
4
client/remote.ini
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# used by TestRun
|
||||||
|
[remote]
|
||||||
|
ip=192.168.104.250
|
||||||
|
port=6895
|
||||||
@@ -32,7 +32,7 @@ long WINAPI whenbuged(_EXCEPTION_POINTERS *excp)
|
|||||||
_mkdir(dump);
|
_mkdir(dump);
|
||||||
char curTime[64];// <20><>ǰdump<6D>ļ<EFBFBD>
|
char curTime[64];// <20><>ǰdump<6D>ļ<EFBFBD>
|
||||||
time_t TIME(time(0));
|
time_t TIME(time(0));
|
||||||
strftime(curTime, 64, "\\remote_%Y-%m-%d %H%M%S.dmp", localtime(&TIME));
|
strftime(curTime, 64, "\\YAMA_%Y-%m-%d %H%M%S.dmp", localtime(&TIME));
|
||||||
strcat(dump, curTime);
|
strcat(dump, curTime);
|
||||||
HANDLE hFile = ::CreateFileA(dump, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
|
HANDLE hFile = ::CreateFileA(dump, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
|
||||||
FILE_ATTRIBUTE_NORMAL, NULL);
|
FILE_ATTRIBUTE_NORMAL, NULL);
|
||||||
|
|||||||
@@ -568,22 +568,6 @@ void CMy2015RemoteDlg::OnTimer(UINT_PTR nIDEvent)
|
|||||||
|
|
||||||
void CMy2015RemoteDlg::OnClose()
|
void CMy2015RemoteDlg::OnClose()
|
||||||
{
|
{
|
||||||
bool bOpened = false;
|
|
||||||
for (std::vector<CFileManagerDlg *>::iterator iter = v_FileDlg.begin();
|
|
||||||
iter != v_FileDlg.end(); ++iter)
|
|
||||||
{
|
|
||||||
CFileManagerDlg *cur = *iter;
|
|
||||||
if (!cur->m_bIsClosed){
|
|
||||||
bOpened = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (bOpened)
|
|
||||||
{
|
|
||||||
MessageBox(_T("<EFBFBD><EFBFBD><EFBFBD>ȹر<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
||||||
KillTimer(0);
|
KillTimer(0);
|
||||||
|
|
||||||
@@ -716,7 +700,6 @@ VOID CMy2015RemoteDlg::OnOnlineDesktopManager()
|
|||||||
VOID CMy2015RemoteDlg::OnOnlineFileManager()
|
VOID CMy2015RemoteDlg::OnOnlineFileManager()
|
||||||
{
|
{
|
||||||
BYTE bToken = COMMAND_LIST_DRIVE; //<2F><><EFBFBD>̾<EFBFBD><CCBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸
|
BYTE bToken = COMMAND_LIST_DRIVE; //<2F><><EFBFBD>̾<EFBFBD><CCBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸
|
||||||
//<2F>ض˷<D8B6><CBB7><EFBFBD><EFBFBD><EFBFBD>ϢCOMMAND_LIST_DRIVE <20>ڱ<EFBFBD><DAB1>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>COMMAND_LIST_DRIVE
|
|
||||||
|
|
||||||
SendSelectedCommand(&bToken, sizeof(BYTE));
|
SendSelectedCommand(&bToken, sizeof(BYTE));
|
||||||
}
|
}
|
||||||
@@ -1117,14 +1100,13 @@ LRESULT CMy2015RemoteDlg::OnUserOfflineMsg(WPARAM wParam, LPARAM lParam)
|
|||||||
case FILEMANAGER_DLG:
|
case FILEMANAGER_DLG:
|
||||||
{
|
{
|
||||||
CFileManagerDlg *Dlg = (CFileManagerDlg*)p->hDlg;
|
CFileManagerDlg *Dlg = (CFileManagerDlg*)p->hDlg;
|
||||||
::SendMessage(Dlg->GetSafeHwnd(), WM_CLOSE, 0, 0);
|
//delete Dlg; //<2F><><EFBFBD><EFBFBD><E2B4A6>
|
||||||
//delete Dlg; <20><><EFBFBD><EFBFBD><E2B4A6>
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case REGISTER_DLG:
|
case REGISTER_DLG:
|
||||||
{
|
{
|
||||||
CRegisterDlg *Dlg = (CRegisterDlg*)p->hDlg;
|
CRegisterDlg *Dlg = (CRegisterDlg*)p->hDlg;
|
||||||
delete Dlg;
|
//delete Dlg; //<2F><><EFBFBD><EFBFBD><E2B4A6>
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -121,13 +121,16 @@ void CAudioDlg::OnReceiveComplete(void)
|
|||||||
void CAudioDlg::OnClose()
|
void CAudioDlg::OnClose()
|
||||||
{
|
{
|
||||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
m_ContextObject->v1 = 0;
|
m_ContextObject->v1 = 0;
|
||||||
|
#endif
|
||||||
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
||||||
closesocket(m_ContextObject->sClientSocket);
|
closesocket(m_ContextObject->sClientSocket);
|
||||||
|
|
||||||
m_bIsWorking = FALSE;
|
m_bIsWorking = FALSE;
|
||||||
WaitForSingleObject(m_hWorkThread, INFINITE);
|
WaitForSingleObject(m_hWorkThread, INFINITE);
|
||||||
CDialog::OnClose();
|
CDialog::OnClose();
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
delete this;
|
delete this;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,9 +44,8 @@ CFileManagerDlg::CFileManagerDlg(CWnd* pParent, CIOCPServer* pIOCPServer, Client
|
|||||||
SHGFI_ICON | SHGFI_USEFILEATTRIBUTES
|
SHGFI_ICON | SHGFI_USEFILEATTRIBUTES
|
||||||
);
|
);
|
||||||
m_hIcon = sfi.hIcon;
|
m_hIcon = sfi.hIcon;
|
||||||
HIMAGELIST hImageList;
|
|
||||||
// <20><><EFBFBD><EFBFBD>ϵͳͼ<CDB3><CDBC><EFBFBD>б<EFBFBD>
|
// <20><><EFBFBD><EFBFBD>ϵͳͼ<CDB3><CDBC><EFBFBD>б<EFBFBD>
|
||||||
hImageList = (HIMAGELIST)SHGetFileInfo
|
static HIMAGELIST hImageList_Large = (HIMAGELIST)SHGetFileInfo
|
||||||
(
|
(
|
||||||
NULL,
|
NULL,
|
||||||
0,
|
0,
|
||||||
@@ -54,10 +53,11 @@ CFileManagerDlg::CFileManagerDlg(CWnd* pParent, CIOCPServer* pIOCPServer, Client
|
|||||||
sizeof(SHFILEINFO),
|
sizeof(SHFILEINFO),
|
||||||
SHGFI_LARGEICON | SHGFI_SYSICONINDEX
|
SHGFI_LARGEICON | SHGFI_SYSICONINDEX
|
||||||
);
|
);
|
||||||
m_pImageList_Large = CImageList::FromHandle(hImageList);
|
static CImageList *pLarge = CImageList::FromHandle(hImageList_Large);
|
||||||
|
m_pImageList_Large = pLarge;
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>ϵͳͼ<CDB3><CDBC><EFBFBD>б<EFBFBD>
|
// <20><><EFBFBD><EFBFBD>ϵͳͼ<CDB3><CDBC><EFBFBD>б<EFBFBD>
|
||||||
hImageList = (HIMAGELIST)SHGetFileInfo
|
static HIMAGELIST hImageList_Small = (HIMAGELIST)SHGetFileInfo
|
||||||
(
|
(
|
||||||
NULL,
|
NULL,
|
||||||
0,
|
0,
|
||||||
@@ -65,7 +65,8 @@ CFileManagerDlg::CFileManagerDlg(CWnd* pParent, CIOCPServer* pIOCPServer, Client
|
|||||||
sizeof(SHFILEINFO),
|
sizeof(SHFILEINFO),
|
||||||
SHGFI_SMALLICON | SHGFI_SYSICONINDEX
|
SHGFI_SMALLICON | SHGFI_SYSICONINDEX
|
||||||
);
|
);
|
||||||
m_pImageList_Small = CImageList::FromHandle(hImageList);
|
static CImageList *pSmall = CImageList::FromHandle(hImageList_Small);
|
||||||
|
m_pImageList_Small = pSmall;
|
||||||
|
|
||||||
// <20><>ʼ<EFBFBD><CABC>Ӧ<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD>СΪ0
|
// <20><>ʼ<EFBFBD><CABC>Ӧ<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD>СΪ0
|
||||||
|
|
||||||
@@ -878,12 +879,18 @@ void CFileManagerDlg::OnClose()
|
|||||||
{
|
{
|
||||||
// TODO: Add your message handler code here and/or call default
|
// TODO: Add your message handler code here and/or call default
|
||||||
CoUninitialize();
|
CoUninitialize();
|
||||||
m_pContext->m_Dialog = 0;
|
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
|
m_pContext->v1 = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
closesocket(m_pContext->m_Socket);
|
closesocket(m_pContext->m_Socket);
|
||||||
|
|
||||||
CDialog::OnClose();
|
CDialog::OnClose();
|
||||||
m_bIsClosed = true;
|
m_bIsClosed = true;
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
//delete this; //<2F>˴<EFBFBD><CBB4>ͷ<EFBFBD><CDB7>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ڵ<EFBFBD>2<EFBFBD>α<EFBFBD><CEB1><EFBFBD>
|
//delete this; //<2F>˴<EFBFBD><CBB4>ͷ<EFBFBD><CDB7>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ڵ<EFBFBD>2<EFBFBD>α<EFBFBD><CEB1><EFBFBD>
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
CString CFileManagerDlg::GetParentDirectory(CString strPath)
|
CString CFileManagerDlg::GetParentDirectory(CString strPath)
|
||||||
|
|||||||
@@ -107,12 +107,16 @@ BOOL CRegisterDlg::OnInitDialog()
|
|||||||
|
|
||||||
void CRegisterDlg::OnClose()
|
void CRegisterDlg::OnClose()
|
||||||
{
|
{
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
m_ContextObject->v1 = 0;
|
m_ContextObject->v1 = 0;
|
||||||
|
#endif
|
||||||
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
||||||
closesocket(m_ContextObject->sClientSocket);
|
closesocket(m_ContextObject->sClientSocket);
|
||||||
CDialog::OnClose();
|
CDialog::OnClose();
|
||||||
m_bIsClosed = TRUE;
|
m_bIsClosed = TRUE;
|
||||||
//delete this;
|
#if CLOSE_DELETE_DLG
|
||||||
|
//delete this;//<2F>˴<EFBFBD>ͬ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -157,12 +157,16 @@ BOOL CScreenSpyDlg::OnInitDialog()
|
|||||||
|
|
||||||
VOID CScreenSpyDlg::OnClose()
|
VOID CScreenSpyDlg::OnClose()
|
||||||
{
|
{
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
m_ContextObject->v1 = 0;
|
m_ContextObject->v1 = 0;
|
||||||
|
#endif
|
||||||
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
||||||
closesocket(m_ContextObject->sClientSocket);
|
closesocket(m_ContextObject->sClientSocket);
|
||||||
|
|
||||||
CDialog::OnClose();
|
CDialog::OnClose();
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
delete this;
|
delete this;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -110,11 +110,15 @@ int CServicesDlg::ShowServicesList(void)
|
|||||||
void CServicesDlg::OnClose()
|
void CServicesDlg::OnClose()
|
||||||
{
|
{
|
||||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
m_ContextObject->v1 = 0;
|
m_ContextObject->v1 = 0;
|
||||||
|
#endif
|
||||||
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
||||||
closesocket(m_ContextObject->sClientSocket);
|
closesocket(m_ContextObject->sClientSocket);
|
||||||
CDialog::OnClose();
|
CDialog::OnClose();
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
delete this;
|
delete this;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -111,12 +111,16 @@ VOID CShellDlg::AddKeyBoardData(void)
|
|||||||
|
|
||||||
void CShellDlg::OnClose()
|
void CShellDlg::OnClose()
|
||||||
{
|
{
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
m_ContextObject->v1 = 0;
|
m_ContextObject->v1 = 0;
|
||||||
|
#endif
|
||||||
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
||||||
closesocket(m_ContextObject->sClientSocket);
|
closesocket(m_ContextObject->sClientSocket);
|
||||||
|
|
||||||
CDialog::OnClose();
|
CDialog::OnClose();
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
delete this;
|
delete this;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -157,11 +157,15 @@ void CSystemDlg::ShowProcessList(void)
|
|||||||
void CSystemDlg::OnClose()
|
void CSystemDlg::OnClose()
|
||||||
{
|
{
|
||||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
m_ContextObject->v1 = 0;
|
m_ContextObject->v1 = 0;
|
||||||
|
#endif
|
||||||
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
||||||
closesocket(m_ContextObject->sClientSocket);
|
closesocket(m_ContextObject->sClientSocket);
|
||||||
CDialog::OnClose();
|
CDialog::OnClose();
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
delete this;
|
delete this;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -96,9 +96,13 @@ BOOL CTalkDlg::PreTranslateMessage(MSG* pMsg)
|
|||||||
void CTalkDlg::OnClose()
|
void CTalkDlg::OnClose()
|
||||||
{
|
{
|
||||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
m_ContextObject->v1 = 0;
|
m_ContextObject->v1 = 0;
|
||||||
|
#endif
|
||||||
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
||||||
closesocket(m_ContextObject->sClientSocket);
|
closesocket(m_ContextObject->sClientSocket);
|
||||||
CDialog::OnClose();
|
CDialog::OnClose();
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
delete this;
|
delete this;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -123,12 +123,16 @@ BOOL CVideoDlg::OnInitDialog()
|
|||||||
|
|
||||||
void CVideoDlg::OnClose()
|
void CVideoDlg::OnClose()
|
||||||
{
|
{
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
m_ContextObject->v1 = 0;
|
m_ContextObject->v1 = 0;
|
||||||
|
#endif
|
||||||
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
CancelIo((HANDLE)m_ContextObject->sClientSocket);
|
||||||
closesocket(m_ContextObject->sClientSocket);
|
closesocket(m_ContextObject->sClientSocket);
|
||||||
|
|
||||||
CDialog::OnClose();
|
CDialog::OnClose();
|
||||||
|
#if CLOSE_DELETE_DLG
|
||||||
delete this;
|
delete this;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void CVideoDlg::OnReceiveComplete(void)
|
void CVideoDlg::OnReceiveComplete(void)
|
||||||
|
|||||||
@@ -16,6 +16,9 @@
|
|||||||
// <20>Ƴ<EFBFBD><C6B3>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>MFC<46>ؼ<EFBFBD><D8BC><EFBFBD>֧<EFBFBD>֣<EFBFBD><D6A3><EFBFBD>С<EFBFBD><D0A1>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С
|
// <20>Ƴ<EFBFBD><C6B3>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>MFC<46>ؼ<EFBFBD><D8BC><EFBFBD>֧<EFBFBD>֣<EFBFBD><D6A3><EFBFBD>С<EFBFBD><D0A1>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С
|
||||||
#define _AFX_NO_MFC_CONTROLS_IN_DIALOGS
|
#define _AFX_NO_MFC_CONTROLS_IN_DIALOGS
|
||||||
|
|
||||||
|
// <20>رնԻ<D5B6><D4BB><EFBFBD>ʱɾ<CAB1><C9BE><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD>
|
||||||
|
#define CLOSE_DELETE_DLG 0
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й©<D0B9><C2A9><EFBFBD>谲װVLD<4C><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й©<D0B9><C2A9><EFBFBD>谲װVLD<4C><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>
|
||||||
#include "vld.h"
|
#include "vld.h"
|
||||||
|
|
||||||
|
|||||||
@@ -1,101 +1,256 @@
|
|||||||
/* zconf.h -- configuration of the zlib compression library
|
/* zconf.h -- configuration of the zlib compression library
|
||||||
* Copyright (C) 1995-2002 Jean-loup Gailly.
|
* Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler
|
||||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* @(#) $Id$ */
|
/* @(#) $Id$ */
|
||||||
|
|
||||||
#ifndef _ZCONF_H
|
#ifndef ZCONF_H
|
||||||
#define _ZCONF_H
|
#define ZCONF_H
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If you *really* need a unique prefix for all types and library functions,
|
* If you *really* need a unique prefix for all types and library functions,
|
||||||
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
|
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
|
||||||
|
* Even better than compiling with -DZ_PREFIX would be to use configure to set
|
||||||
|
* this permanently in zconf.h using "./configure --zprefix".
|
||||||
*/
|
*/
|
||||||
#ifdef Z_PREFIX
|
#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
|
||||||
# define deflateInit_ z_deflateInit_
|
# define Z_PREFIX_SET
|
||||||
|
|
||||||
|
/* all linked symbols and init macros */
|
||||||
|
# define _dist_code z__dist_code
|
||||||
|
# define _length_code z__length_code
|
||||||
|
# define _tr_align z__tr_align
|
||||||
|
# define _tr_flush_bits z__tr_flush_bits
|
||||||
|
# define _tr_flush_block z__tr_flush_block
|
||||||
|
# define _tr_init z__tr_init
|
||||||
|
# define _tr_stored_block z__tr_stored_block
|
||||||
|
# define _tr_tally z__tr_tally
|
||||||
|
# define adler32 z_adler32
|
||||||
|
# define adler32_combine z_adler32_combine
|
||||||
|
# define adler32_combine64 z_adler32_combine64
|
||||||
|
# define adler32_z z_adler32_z
|
||||||
|
# ifndef Z_SOLO
|
||||||
|
# define compress z_compress
|
||||||
|
# define compress2 z_compress2
|
||||||
|
# define compressBound z_compressBound
|
||||||
|
# endif
|
||||||
|
# define crc32 z_crc32
|
||||||
|
# define crc32_combine z_crc32_combine
|
||||||
|
# define crc32_combine64 z_crc32_combine64
|
||||||
|
# define crc32_z z_crc32_z
|
||||||
# define deflate z_deflate
|
# define deflate z_deflate
|
||||||
# define deflateEnd z_deflateEnd
|
# define deflateBound z_deflateBound
|
||||||
# define inflateInit_ z_inflateInit_
|
|
||||||
# define inflate z_inflate
|
|
||||||
# define inflateEnd z_inflateEnd
|
|
||||||
# define deflateInit2_ z_deflateInit2_
|
|
||||||
# define deflateSetDictionary z_deflateSetDictionary
|
|
||||||
# define deflateCopy z_deflateCopy
|
# define deflateCopy z_deflateCopy
|
||||||
# define deflateReset z_deflateReset
|
# define deflateEnd z_deflateEnd
|
||||||
|
# define deflateGetDictionary z_deflateGetDictionary
|
||||||
|
# define deflateInit z_deflateInit
|
||||||
|
# define deflateInit2 z_deflateInit2
|
||||||
|
# define deflateInit2_ z_deflateInit2_
|
||||||
|
# define deflateInit_ z_deflateInit_
|
||||||
# define deflateParams z_deflateParams
|
# define deflateParams z_deflateParams
|
||||||
|
# define deflatePending z_deflatePending
|
||||||
|
# define deflatePrime z_deflatePrime
|
||||||
|
# define deflateReset z_deflateReset
|
||||||
|
# define deflateResetKeep z_deflateResetKeep
|
||||||
|
# define deflateSetDictionary z_deflateSetDictionary
|
||||||
|
# define deflateSetHeader z_deflateSetHeader
|
||||||
|
# define deflateTune z_deflateTune
|
||||||
|
# define deflate_copyright z_deflate_copyright
|
||||||
|
# define get_crc_table z_get_crc_table
|
||||||
|
# ifndef Z_SOLO
|
||||||
|
# define gz_error z_gz_error
|
||||||
|
# define gz_intmax z_gz_intmax
|
||||||
|
# define gz_strwinerror z_gz_strwinerror
|
||||||
|
# define gzbuffer z_gzbuffer
|
||||||
|
# define gzclearerr z_gzclearerr
|
||||||
|
# define gzclose z_gzclose
|
||||||
|
# define gzclose_r z_gzclose_r
|
||||||
|
# define gzclose_w z_gzclose_w
|
||||||
|
# define gzdirect z_gzdirect
|
||||||
|
# define gzdopen z_gzdopen
|
||||||
|
# define gzeof z_gzeof
|
||||||
|
# define gzerror z_gzerror
|
||||||
|
# define gzflush z_gzflush
|
||||||
|
# define gzfread z_gzfread
|
||||||
|
# define gzfwrite z_gzfwrite
|
||||||
|
# define gzgetc z_gzgetc
|
||||||
|
# define gzgetc_ z_gzgetc_
|
||||||
|
# define gzgets z_gzgets
|
||||||
|
# define gzoffset z_gzoffset
|
||||||
|
# define gzoffset64 z_gzoffset64
|
||||||
|
# define gzopen z_gzopen
|
||||||
|
# define gzopen64 z_gzopen64
|
||||||
|
# ifdef _WIN32
|
||||||
|
# define gzopen_w z_gzopen_w
|
||||||
|
# endif
|
||||||
|
# define gzprintf z_gzprintf
|
||||||
|
# define gzputc z_gzputc
|
||||||
|
# define gzputs z_gzputs
|
||||||
|
# define gzread z_gzread
|
||||||
|
# define gzrewind z_gzrewind
|
||||||
|
# define gzseek z_gzseek
|
||||||
|
# define gzseek64 z_gzseek64
|
||||||
|
# define gzsetparams z_gzsetparams
|
||||||
|
# define gztell z_gztell
|
||||||
|
# define gztell64 z_gztell64
|
||||||
|
# define gzungetc z_gzungetc
|
||||||
|
# define gzvprintf z_gzvprintf
|
||||||
|
# define gzwrite z_gzwrite
|
||||||
|
# endif
|
||||||
|
# define inflate z_inflate
|
||||||
|
# define inflateBack z_inflateBack
|
||||||
|
# define inflateBackEnd z_inflateBackEnd
|
||||||
|
# define inflateBackInit z_inflateBackInit
|
||||||
|
# define inflateBackInit_ z_inflateBackInit_
|
||||||
|
# define inflateCodesUsed z_inflateCodesUsed
|
||||||
|
# define inflateCopy z_inflateCopy
|
||||||
|
# define inflateEnd z_inflateEnd
|
||||||
|
# define inflateGetDictionary z_inflateGetDictionary
|
||||||
|
# define inflateGetHeader z_inflateGetHeader
|
||||||
|
# define inflateInit z_inflateInit
|
||||||
|
# define inflateInit2 z_inflateInit2
|
||||||
# define inflateInit2_ z_inflateInit2_
|
# define inflateInit2_ z_inflateInit2_
|
||||||
|
# define inflateInit_ z_inflateInit_
|
||||||
|
# define inflateMark z_inflateMark
|
||||||
|
# define inflatePrime z_inflatePrime
|
||||||
|
# define inflateReset z_inflateReset
|
||||||
|
# define inflateReset2 z_inflateReset2
|
||||||
|
# define inflateResetKeep z_inflateResetKeep
|
||||||
# define inflateSetDictionary z_inflateSetDictionary
|
# define inflateSetDictionary z_inflateSetDictionary
|
||||||
# define inflateSync z_inflateSync
|
# define inflateSync z_inflateSync
|
||||||
# define inflateSyncPoint z_inflateSyncPoint
|
# define inflateSyncPoint z_inflateSyncPoint
|
||||||
# define inflateReset z_inflateReset
|
# define inflateUndermine z_inflateUndermine
|
||||||
# define compress z_compress
|
# define inflateValidate z_inflateValidate
|
||||||
# define compress2 z_compress2
|
# define inflate_copyright z_inflate_copyright
|
||||||
|
# define inflate_fast z_inflate_fast
|
||||||
|
# define inflate_table z_inflate_table
|
||||||
|
# ifndef Z_SOLO
|
||||||
# define uncompress z_uncompress
|
# define uncompress z_uncompress
|
||||||
# define adler32 z_adler32
|
# define uncompress2 z_uncompress2
|
||||||
# define crc32 z_crc32
|
# endif
|
||||||
# define get_crc_table z_get_crc_table
|
# define zError z_zError
|
||||||
|
# ifndef Z_SOLO
|
||||||
|
# define zcalloc z_zcalloc
|
||||||
|
# define zcfree z_zcfree
|
||||||
|
# endif
|
||||||
|
# define zlibCompileFlags z_zlibCompileFlags
|
||||||
|
# define zlibVersion z_zlibVersion
|
||||||
|
|
||||||
|
/* all zlib typedefs in zlib.h and zconf.h */
|
||||||
# define Byte z_Byte
|
# define Byte z_Byte
|
||||||
# define uInt z_uInt
|
|
||||||
# define uLong z_uLong
|
|
||||||
# define Bytef z_Bytef
|
# define Bytef z_Bytef
|
||||||
|
# define alloc_func z_alloc_func
|
||||||
# define charf z_charf
|
# define charf z_charf
|
||||||
|
# define free_func z_free_func
|
||||||
|
# ifndef Z_SOLO
|
||||||
|
# define gzFile z_gzFile
|
||||||
|
# endif
|
||||||
|
# define gz_header z_gz_header
|
||||||
|
# define gz_headerp z_gz_headerp
|
||||||
|
# define in_func z_in_func
|
||||||
# define intf z_intf
|
# define intf z_intf
|
||||||
|
# define out_func z_out_func
|
||||||
|
# define uInt z_uInt
|
||||||
# define uIntf z_uIntf
|
# define uIntf z_uIntf
|
||||||
|
# define uLong z_uLong
|
||||||
# define uLongf z_uLongf
|
# define uLongf z_uLongf
|
||||||
# define voidpf z_voidpf
|
|
||||||
# define voidp z_voidp
|
# define voidp z_voidp
|
||||||
|
# define voidpc z_voidpc
|
||||||
|
# define voidpf z_voidpf
|
||||||
|
|
||||||
|
/* all zlib structs in zlib.h and zconf.h */
|
||||||
|
# define gz_header_s z_gz_header_s
|
||||||
|
# define internal_state z_internal_state
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
|
|
||||||
# define WIN32
|
|
||||||
#endif
|
|
||||||
#if defined(__GNUC__) || defined(WIN32) || defined(__386__) || defined(i386)
|
|
||||||
# ifndef __32BIT__
|
|
||||||
# define __32BIT__
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
#if defined(__MSDOS__) && !defined(MSDOS)
|
#if defined(__MSDOS__) && !defined(MSDOS)
|
||||||
# define MSDOS
|
# define MSDOS
|
||||||
#endif
|
#endif
|
||||||
|
#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
|
||||||
|
# define OS2
|
||||||
|
#endif
|
||||||
|
#if defined(_WINDOWS) && !defined(WINDOWS)
|
||||||
|
# define WINDOWS
|
||||||
|
#endif
|
||||||
|
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
|
||||||
|
# ifndef WIN32
|
||||||
|
# define WIN32
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
|
||||||
|
# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
|
||||||
|
# ifndef SYS16BIT
|
||||||
|
# define SYS16BIT
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compile with -DMAXSEG_64K if the alloc function cannot allocate more
|
* Compile with -DMAXSEG_64K if the alloc function cannot allocate more
|
||||||
* than 64k bytes at a time (needed on systems with 16-bit int).
|
* than 64k bytes at a time (needed on systems with 16-bit int).
|
||||||
*/
|
*/
|
||||||
#if defined(MSDOS) && !defined(__32BIT__)
|
#ifdef SYS16BIT
|
||||||
# define MAXSEG_64K
|
# define MAXSEG_64K
|
||||||
#endif
|
#endif
|
||||||
#ifdef MSDOS
|
#ifdef MSDOS
|
||||||
# define UNALIGNED_OK
|
# define UNALIGNED_OK
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (defined(MSDOS) || defined(_WINDOWS) || defined(WIN32)) && !defined(STDC)
|
#ifdef __STDC_VERSION__
|
||||||
# define STDC
|
|
||||||
#endif
|
|
||||||
#if defined(__STDC__) || defined(__cplusplus) || defined(__OS2__)
|
|
||||||
# ifndef STDC
|
# ifndef STDC
|
||||||
# define STDC
|
# define STDC
|
||||||
# endif
|
# endif
|
||||||
|
# if __STDC_VERSION__ >= 199901L
|
||||||
|
# ifndef STDC99
|
||||||
|
# define STDC99
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
|
||||||
|
# define STDC
|
||||||
|
#endif
|
||||||
|
#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
|
||||||
|
# define STDC
|
||||||
|
#endif
|
||||||
|
#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
|
||||||
|
# define STDC
|
||||||
|
#endif
|
||||||
|
#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
|
||||||
|
# define STDC
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
|
||||||
|
# define STDC
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef STDC
|
#ifndef STDC
|
||||||
# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
|
# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
|
||||||
# define const
|
# define const /* note: need a more gentle solution here */
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Some Mac compilers merge all .h files incorrectly: */
|
#if defined(ZLIB_CONST) && !defined(z_const)
|
||||||
#if defined(__MWERKS__) || defined(applec) ||defined(THINK_C) ||defined(__SC__)
|
# define z_const const
|
||||||
# define NO_DUMMY_DECL
|
#else
|
||||||
|
# define z_const
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Old Borland C incorrectly complains about missing returns: */
|
#ifdef Z_SOLO
|
||||||
#if defined(__BORLANDC__) && (__BORLANDC__ < 0x500)
|
typedef unsigned long z_size_t;
|
||||||
# define NEED_DUMMY_RETURN
|
#else
|
||||||
|
# define z_longlong long long
|
||||||
|
# if defined(NO_SIZE_T)
|
||||||
|
typedef unsigned NO_SIZE_T z_size_t;
|
||||||
|
# elif defined(STDC)
|
||||||
|
# include <stddef.h>
|
||||||
|
typedef size_t z_size_t;
|
||||||
|
# else
|
||||||
|
typedef unsigned long z_size_t;
|
||||||
|
# endif
|
||||||
|
# undef z_longlong
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Maximum value for memLevel in deflateInit2 */
|
/* Maximum value for memLevel in deflateInit2 */
|
||||||
#ifndef MAX_MEM_LEVEL
|
#ifndef MAX_MEM_LEVEL
|
||||||
@@ -124,7 +279,7 @@
|
|||||||
Of course this will generally degrade compression (there's no free lunch).
|
Of course this will generally degrade compression (there's no free lunch).
|
||||||
|
|
||||||
The memory requirements for inflate are (in bytes) 1 << windowBits
|
The memory requirements for inflate are (in bytes) 1 << windowBits
|
||||||
that is, 32K for windowBits=15 (default value) plus a few kilobytes
|
that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
|
||||||
for small objects.
|
for small objects.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -138,13 +293,22 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef Z_ARG /* function prototypes for stdarg */
|
||||||
|
# if defined(STDC) || defined(Z_HAVE_STDARG_H)
|
||||||
|
# define Z_ARG(args) args
|
||||||
|
# else
|
||||||
|
# define Z_ARG(args) ()
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* The following definitions for FAR are needed only for MSDOS mixed
|
/* The following definitions for FAR are needed only for MSDOS mixed
|
||||||
* model programming (small or medium model with some far allocations).
|
* model programming (small or medium model with some far allocations).
|
||||||
* This was tested only with MSC; for other MSDOS compilers you may have
|
* This was tested only with MSC; for other MSDOS compilers you may have
|
||||||
* to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
|
* to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
|
||||||
* just define FAR to be empty.
|
* just define FAR to be empty.
|
||||||
*/
|
*/
|
||||||
#if (defined(M_I86SM) || defined(M_I86MM)) && !defined(__32BIT__)
|
#ifdef SYS16BIT
|
||||||
|
# if defined(M_I86SM) || defined(M_I86MM)
|
||||||
/* MSC small or medium model */
|
/* MSC small or medium model */
|
||||||
# define SMALL_MEDIUM
|
# define SMALL_MEDIUM
|
||||||
# ifdef _MSC_VER
|
# ifdef _MSC_VER
|
||||||
@@ -153,64 +317,77 @@
|
|||||||
# define FAR far
|
# define FAR far
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#if defined(__BORLANDC__) && (defined(__SMALL__) || defined(__MEDIUM__))
|
# if (defined(__SMALL__) || defined(__MEDIUM__))
|
||||||
# ifndef __32BIT__
|
/* Turbo C small or medium model */
|
||||||
# define SMALL_MEDIUM
|
# define SMALL_MEDIUM
|
||||||
|
# ifdef __BORLANDC__
|
||||||
# define FAR _far
|
# define FAR _far
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Compile with -DZLIB_DLL for Windows DLL support */
|
|
||||||
#if defined(ZLIB_DLL)
|
|
||||||
# if defined(_WINDOWS) || defined(WINDOWS)
|
|
||||||
# ifdef FAR
|
|
||||||
# undef FAR
|
|
||||||
# endif
|
|
||||||
# include <windows.h>
|
|
||||||
# define ZEXPORT WINAPI
|
|
||||||
# ifdef WIN32
|
|
||||||
# define ZEXPORTVA WINAPIV
|
|
||||||
# else
|
# else
|
||||||
# define ZEXPORTVA FAR _cdecl _export
|
# define FAR far
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
# if defined (__BORLANDC__)
|
|
||||||
# if (__BORLANDC__ >= 0x0500) && defined (WIN32)
|
|
||||||
# include <windows.h>
|
|
||||||
# define ZEXPORT __declspec(dllexport) WINAPI
|
|
||||||
# define ZEXPORTRVA __declspec(dllexport) WINAPIV
|
|
||||||
# else
|
|
||||||
# if defined (_Windows) && defined (__DLL__)
|
|
||||||
# define ZEXPORT _export
|
|
||||||
# define ZEXPORTVA _export
|
|
||||||
# endif
|
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (__BEOS__)
|
#if defined(WINDOWS) || defined(WIN32)
|
||||||
# if defined (ZLIB_DLL)
|
/* If building or using zlib as a DLL, define ZLIB_DLL.
|
||||||
|
* This is not mandatory, but it offers a little performance increase.
|
||||||
|
*/
|
||||||
|
# ifdef ZLIB_DLL
|
||||||
|
# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
|
||||||
|
# ifdef ZLIB_INTERNAL
|
||||||
# define ZEXTERN extern __declspec(dllexport)
|
# define ZEXTERN extern __declspec(dllexport)
|
||||||
# else
|
# else
|
||||||
# define ZEXTERN extern __declspec(dllimport)
|
# define ZEXTERN extern __declspec(dllimport)
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
|
# endif /* ZLIB_DLL */
|
||||||
|
/* If building or using zlib with the WINAPI/WINAPIV calling convention,
|
||||||
|
* define ZLIB_WINAPI.
|
||||||
|
* Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
|
||||||
|
*/
|
||||||
|
# ifdef ZLIB_WINAPI
|
||||||
|
# ifdef FAR
|
||||||
|
# undef FAR
|
||||||
|
# endif
|
||||||
|
# include <windows.h>
|
||||||
|
/* No need for _export, use ZLIB.DEF instead. */
|
||||||
|
/* For complete Windows compatibility, use WINAPI, not __stdcall. */
|
||||||
|
# define ZEXPORT WINAPI
|
||||||
|
# ifdef WIN32
|
||||||
|
# define ZEXPORTVA WINAPIV
|
||||||
|
# else
|
||||||
|
# define ZEXPORTVA FAR CDECL
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (__BEOS__)
|
||||||
|
# ifdef ZLIB_DLL
|
||||||
|
# ifdef ZLIB_INTERNAL
|
||||||
|
# define ZEXPORT __declspec(dllexport)
|
||||||
|
# define ZEXPORTVA __declspec(dllexport)
|
||||||
|
# else
|
||||||
|
# define ZEXPORT __declspec(dllimport)
|
||||||
|
# define ZEXPORTVA __declspec(dllimport)
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ZEXTERN
|
||||||
|
# define ZEXTERN extern
|
||||||
|
#endif
|
||||||
#ifndef ZEXPORT
|
#ifndef ZEXPORT
|
||||||
# define ZEXPORT
|
# define ZEXPORT
|
||||||
#endif
|
#endif
|
||||||
#ifndef ZEXPORTVA
|
#ifndef ZEXPORTVA
|
||||||
# define ZEXPORTVA
|
# define ZEXPORTVA
|
||||||
#endif
|
#endif
|
||||||
#ifndef ZEXTERN
|
|
||||||
# define ZEXTERN extern
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef FAR
|
#ifndef FAR
|
||||||
# define FAR
|
# define FAR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(MACOS) && !defined(TARGET_OS_MAC)
|
#if !defined(__MACTYPES__)
|
||||||
typedef unsigned char Byte; /* 8 bits */
|
typedef unsigned char Byte; /* 8 bits */
|
||||||
#endif
|
#endif
|
||||||
typedef unsigned int uInt; /* 16 bits or more */
|
typedef unsigned int uInt; /* 16 bits or more */
|
||||||
@@ -228,52 +405,130 @@ typedef uInt FAR uIntf;
|
|||||||
typedef uLong FAR uLongf;
|
typedef uLong FAR uLongf;
|
||||||
|
|
||||||
#ifdef STDC
|
#ifdef STDC
|
||||||
|
typedef void const *voidpc;
|
||||||
typedef void FAR *voidpf;
|
typedef void FAR *voidpf;
|
||||||
typedef void *voidp;
|
typedef void *voidp;
|
||||||
#else
|
#else
|
||||||
|
typedef Byte const *voidpc;
|
||||||
typedef Byte FAR *voidpf;
|
typedef Byte FAR *voidpf;
|
||||||
typedef Byte *voidp;
|
typedef Byte *voidp;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_UNISTD_H
|
#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
|
||||||
|
# include <limits.h>
|
||||||
|
# if (UINT_MAX == 0xffffffffUL)
|
||||||
|
# define Z_U4 unsigned
|
||||||
|
# elif (ULONG_MAX == 0xffffffffUL)
|
||||||
|
# define Z_U4 unsigned long
|
||||||
|
# elif (USHRT_MAX == 0xffffffffUL)
|
||||||
|
# define Z_U4 unsigned short
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef Z_U4
|
||||||
|
typedef Z_U4 z_crc_t;
|
||||||
|
#else
|
||||||
|
typedef unsigned long z_crc_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
|
||||||
|
# define Z_HAVE_UNISTD_H
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */
|
||||||
|
# define Z_HAVE_STDARG_H
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef STDC
|
||||||
|
# ifndef Z_SOLO
|
||||||
# include <sys/types.h> /* for off_t */
|
# include <sys/types.h> /* for off_t */
|
||||||
# include <unistd.h> /* for SEEK_* and off_t */
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(STDC) || defined(Z_HAVE_STDARG_H)
|
||||||
|
# ifndef Z_SOLO
|
||||||
|
# include <stdarg.h> /* for va_list */
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
# ifndef Z_SOLO
|
||||||
|
# include <stddef.h> /* for wchar_t */
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
|
||||||
|
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
|
||||||
|
* though the former does not conform to the LFS document), but considering
|
||||||
|
* both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
|
||||||
|
* equivalently requesting no 64-bit operations
|
||||||
|
*/
|
||||||
|
#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
|
||||||
|
# undef _LARGEFILE64_SOURCE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
|
||||||
|
# define Z_HAVE_UNISTD_H
|
||||||
|
#endif
|
||||||
|
#ifndef Z_SOLO
|
||||||
|
# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
|
||||||
|
# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
|
||||||
|
# ifdef VMS
|
||||||
|
# include <unixio.h> /* for off_t */
|
||||||
|
# endif
|
||||||
|
# ifndef z_off_t
|
||||||
# define z_off_t off_t
|
# define z_off_t off_t
|
||||||
# endif
|
# endif
|
||||||
#ifndef SEEK_SET
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
|
||||||
|
# define Z_LFS64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
|
||||||
|
# define Z_LARGE64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
|
||||||
|
# define Z_WANT64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(SEEK_SET) && !defined(Z_SOLO)
|
||||||
# define SEEK_SET 0 /* Seek from beginning of file. */
|
# define SEEK_SET 0 /* Seek from beginning of file. */
|
||||||
# define SEEK_CUR 1 /* Seek from current position. */
|
# define SEEK_CUR 1 /* Seek from current position. */
|
||||||
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
|
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef z_off_t
|
#ifndef z_off_t
|
||||||
# define z_off_t long
|
# define z_off_t long
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(_WIN32) && defined(Z_LARGE64)
|
||||||
|
# define z_off64_t off64_t
|
||||||
|
#else
|
||||||
|
# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
|
||||||
|
# define z_off64_t __int64
|
||||||
|
# else
|
||||||
|
# define z_off64_t z_off_t
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* MVS linker does not support external names larger than 8 bytes */
|
/* MVS linker does not support external names larger than 8 bytes */
|
||||||
#if defined(__MVS__)
|
#if defined(__MVS__)
|
||||||
#pragma map(deflateInit_,"DEIN")
|
#pragma map(deflateInit_,"DEIN")
|
||||||
#pragma map(deflateInit2_,"DEIN2")
|
#pragma map(deflateInit2_,"DEIN2")
|
||||||
#pragma map(deflateEnd,"DEEND")
|
#pragma map(deflateEnd,"DEEND")
|
||||||
|
#pragma map(deflateBound,"DEBND")
|
||||||
#pragma map(inflateInit_,"ININ")
|
#pragma map(inflateInit_,"ININ")
|
||||||
#pragma map(inflateInit2_,"ININ2")
|
#pragma map(inflateInit2_,"ININ2")
|
||||||
#pragma map(inflateEnd,"INEND")
|
#pragma map(inflateEnd,"INEND")
|
||||||
#pragma map(inflateSync,"INSY")
|
#pragma map(inflateSync,"INSY")
|
||||||
#pragma map(inflateSetDictionary,"INSEDI")
|
#pragma map(inflateSetDictionary,"INSEDI")
|
||||||
# pragma map(inflate_blocks,"INBL")
|
#pragma map(compressBound,"CMBND")
|
||||||
# pragma map(inflate_blocks_new,"INBLNE")
|
#pragma map(inflate_table,"INTABL")
|
||||||
# pragma map(inflate_blocks_free,"INBLFR")
|
|
||||||
# pragma map(inflate_blocks_reset,"INBLRE")
|
|
||||||
# pragma map(inflate_codes_free,"INCOFR")
|
|
||||||
# pragma map(inflate_codes,"INCO")
|
|
||||||
#pragma map(inflate_fast,"INFA")
|
#pragma map(inflate_fast,"INFA")
|
||||||
# pragma map(inflate_flush,"INFLU")
|
|
||||||
# pragma map(inflate_mask,"INMA")
|
|
||||||
# pragma map(inflate_set_dictionary,"INSEDI2")
|
|
||||||
#pragma map(inflate_copyright,"INCOPY")
|
#pragma map(inflate_copyright,"INCOPY")
|
||||||
# pragma map(inflate_trees_bits,"INTRBI")
|
|
||||||
# pragma map(inflate_trees_dynamic,"INTRDY")
|
|
||||||
# pragma map(inflate_trees_fixed,"INTRFI")
|
|
||||||
# pragma map(inflate_trees_free,"INTRFR")
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _ZCONF_H */
|
#endif /* ZCONF_H */
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user