Index: src/ch/StatusDlg.cpp =================================================================== diff -u -re701ed2460c2558eeefab55a1f3ed1d2c89a56c0 -rcdf6a22ddf857f56ce2e27e26d8cd6f0b8034b2e --- src/ch/StatusDlg.cpp (.../StatusDlg.cpp) (revision e701ed2460c2558eeefab55a1f3ed1d2c89a56c0) +++ src/ch/StatusDlg.cpp (.../StatusDlg.cpp) (revision cdf6a22ddf857f56ce2e27e26d8cd6f0b8034b2e) @@ -173,7 +173,7 @@ }; // refresh data timer - SetTimer(777, GetConfig()->GetIntValue(PP_STATUSREFRESHINTERVAL), NULL); + SetTimer(777, (UINT)GetConfig()->get_signed_num(PP_STATUSREFRESHINTERVAL), NULL); return TRUE; } @@ -207,7 +207,7 @@ } } -void CStatusDlg::OnTimer(UINT nIDEvent) +void CStatusDlg::OnTimer(UINT_PTR nIDEvent) { if (nIDEvent == 777) // refreshing data { @@ -217,7 +217,7 @@ RefreshStatus(); // reenable - SetTimer(777, GetConfig()->GetIntValue(PP_STATUSREFRESHINTERVAL), NULL); + SetTimer(777, (UINT)GetConfig()->get_signed_num(PP_STATUSREFRESHINTERVAL), NULL); } CHLanguageDialog::OnTimer(nIDEvent); @@ -270,7 +270,7 @@ m_ctlStatusList.SetItem(&lvi); // right side update - if (pTask == pSelectedItem && GetConfig()->GetBoolValue(PP_STATUSSHOWDETAILS)) + if (pTask == pSelectedItem && GetConfig()->get_bool(PP_STATUSSHOWDETAILS)) { // data that can be changed by a thread GetDlgItem(IDC_OPERATION_STATIC)->SetWindowText(td.m_szStatusText); // operation @@ -293,33 +293,33 @@ } // count of processed data/overall count of data - _stprintf(m_szData, _T("%d/%d ("), td.m_iIndex, td.m_iSize); + _sntprintf(m_szData, _MAX_PATH, _T("%d/%d ("), td.m_iIndex, td.m_iSize); m_strTemp=CString(m_szData); - m_strTemp+=GetSizeString(td.m_iProcessedSize, m_szData)+CString(_T("/")); - m_strTemp+=GetSizeString(td.m_iSizeAll, m_szData)+CString(_T(")")); - _stprintf(m_szData, _T(" (%s%d/%d)"), GetResManager()->LoadString(IDS_CURRENTPASS_STRING), td.m_ucCurrentCopy, td.m_ucCopies); + m_strTemp+=GetSizeString(td.m_iProcessedSize, m_szData, _MAX_PATH)+CString(_T("/")); + m_strTemp+=GetSizeString(td.m_iSizeAll, m_szData, _MAX_PATH)+CString(_T(")")); + _sntprintf(m_szData, _MAX_PATH, _T(" (%s%d/%d)"), GetResManager()->LoadString(IDS_CURRENTPASS_STRING), td.m_ucCurrentCopy, td.m_ucCopies); m_strTemp+=m_szData; GetDlgItem(IDC_PROGRESS_STATIC)->SetWindowText(m_strTemp); // transfer if (m_i64LastProcessed == 0) // if first time - show average - m_strTemp=GetSizeString( td.m_lTimeElapsed ? td.m_iProcessedSize/td.m_lTimeElapsed : 0, m_szData ); // last avg + m_strTemp=GetSizeString( td.m_lTimeElapsed ? td.m_iProcessedSize/td.m_lTimeElapsed : 0, m_szData, _MAX_PATH); // last avg else if ( (dwCurrentTime-m_dwLastUpdate) != 0) - m_strTemp=GetSizeString( (static_cast(td.m_iProcessedSize) - static_cast(m_i64LastProcessed))/(static_cast(dwCurrentTime-m_dwLastUpdate)/1000.0), m_szData ); + m_strTemp=GetSizeString( (static_cast(td.m_iProcessedSize) - static_cast(m_i64LastProcessed))/(static_cast(dwCurrentTime-m_dwLastUpdate)/1000.0), m_szData, _MAX_PATH); else - m_strTemp=GetSizeString( 0I64, m_szData ); + m_strTemp=GetSizeString( 0I64, m_szData, _MAX_PATH); // avg transfer GetDlgItem(IDC_TRANSFER_STATIC)->SetWindowText(m_strTemp+_T("/s (")+CString(GetResManager()->LoadString(IDS_AVERAGEWORD_STRING)) - +CString(GetSizeString(td.m_lTimeElapsed ? td.m_iProcessedSize/td.m_lTimeElapsed : 0, m_szData))+_T("/s )") + +CString(GetSizeString(td.m_lTimeElapsed ? td.m_iProcessedSize/td.m_lTimeElapsed : 0, m_szData, _MAX_PATH))+_T("/s )") ); // elapsed time/estimated time - FormatTime(td.m_lTimeElapsed, m_szTimeBuffer1); - FormatTime( (td.m_iProcessedSize == 0) ? 0 : static_cast((static_cast<__int64>(td.m_iSizeAll)*static_cast<__int64>(td.m_lTimeElapsed))/td.m_iProcessedSize), m_szTimeBuffer2); + FormatTime(td.m_lTimeElapsed, m_szTimeBuffer1, 40); + FormatTime( (td.m_iProcessedSize == 0) ? 0 : static_cast((static_cast<__int64>(td.m_iSizeAll)*static_cast<__int64>(td.m_lTimeElapsed))/td.m_iProcessedSize), m_szTimeBuffer2, 40); - _stprintf(m_szData, _T("%s / %s"), m_szTimeBuffer1, m_szTimeBuffer2); + _sntprintf(m_szData, _MAX_PATH, _T("%s / %s"), m_szTimeBuffer1, m_szTimeBuffer2); GetDlgItem(IDC_TIME_STATIC)->SetWindowText(m_szData); // remember current processed data (used for calculating transfer) @@ -336,7 +336,7 @@ { GetDlgItem(IDC_DESTINATION_STATIC)->SetWindowText(td.m_pdpDestPath->GetPath()); GetDlgItem(IDC_PRIORITY_STATIC)->SetWindowText(GetResManager()->LoadString(IDS_PRIORITY0_STRING+PriorityToIndex(td.m_nPriority))); - GetConfig()->GetStringValue(PP_PAUTOSAVEDIRECTORY, m_strTemp.GetBuffer(1024), 1024); + GetConfig()->get_string(PP_PAUTOSAVEDIRECTORY, m_strTemp.GetBuffer(1024), 1024); m_strTemp.ReleaseBuffer(); GetDlgItem(IDC_ASSOCIATEDFILES__STATIC)->SetWindowText(m_strTemp+*td.m_pstrUniqueName+_T(".atd (.atp, .log)")); } @@ -389,7 +389,7 @@ void CStatusDlg::OnRollUnrollButton() { // change settings in config dialog - GetConfig()->SetBoolValue(PP_STATUSSHOWDETAILS, !GetConfig()->GetBoolValue(PP_STATUSSHOWDETAILS)); + GetConfig()->set_bool(PP_STATUSSHOWDETAILS, !GetConfig()->get_bool(PP_STATUSSHOWDETAILS)); ApplyDisplayDetails(); } @@ -401,7 +401,7 @@ SystemParametersInfo(SPI_GETWORKAREA, 0, &rcScreen, 0); GetWindowRect(&rect); - bool bDetails=GetConfig()->GetBoolValue(PP_STATUSSHOWDETAILS); + bool bDetails=GetConfig()->get_bool(PP_STATUSSHOWDETAILS); // stick cause if (rect.right == rcScreen.right && rect.bottom == rcScreen.bottom) @@ -437,7 +437,7 @@ { // remember ptr to CTask pSelectedItem=GetSelectedItemPointer(); - bool bShowLog=GetConfig()->GetBoolValue(PP_CMCREATELOG); + bool bShowLog=GetConfig()->get_bool(PP_CMCREATELOG); // set status of buttons pause/resume/cancel if (pSelectedItem != NULL) @@ -705,7 +705,7 @@ return 0; } -LPTSTR CStatusDlg::FormatTime(long lSeconds, LPTSTR lpszBuffer) +LPTSTR CStatusDlg::FormatTime(long lSeconds, LPTSTR lpszBuffer, size_t stMaxBufferSize) { long lDays=lSeconds/86400; lSeconds%=86400; @@ -715,12 +715,12 @@ lSeconds%=60; if (lDays != 0) - _stprintf(lpszBuffer, _T("%02d:%02d:%02d:%02d"), lDays, lHours, lMinutes, lSeconds); + _sntprintf(lpszBuffer, stMaxBufferSize, _T("%02d:%02d:%02d:%02d"), lDays, lHours, lMinutes, lSeconds); else if (lHours != 0) - _stprintf(lpszBuffer, _T("%02d:%02d:%02d"), lHours, lMinutes, lSeconds); + _sntprintf(lpszBuffer, stMaxBufferSize, _T("%02d:%02d:%02d"), lHours, lMinutes, lSeconds); else - _stprintf(lpszBuffer, _T("%02d:%02d"), lMinutes, lSeconds); + _sntprintf(lpszBuffer, stMaxBufferSize, _T("%02d:%02d"), lMinutes, lSeconds); return lpszBuffer; } @@ -745,33 +745,33 @@ // set title if (m_pTasks->GetSize() != 0) - _stprintf(m_szData, _T("%s [%d %%]"), GetResManager()->LoadString(IDS_STATUSTITLE_STRING), m_pTasks->GetPercent()); + _sntprintf(m_szData, _MAX_PATH, _T("%s [%d %%]"), GetResManager()->LoadString(IDS_STATUSTITLE_STRING), m_pTasks->GetPercent()); else - _tcscpy(m_szData, GetResManager()->LoadString(IDS_STATUSTITLE_STRING)); + _sntprintf(m_szData, _MAX_PATH, _T("%s"), GetResManager()->LoadString(IDS_STATUSTITLE_STRING)); // if changed GetWindowText(m_strTemp); if (m_strTemp != CString(m_szData)) SetWindowText(m_szData); // refresh overall progress - if (GetConfig()->GetBoolValue(PP_STATUSSHOWDETAILS)) + if (GetConfig()->get_bool(PP_STATUSSHOWDETAILS)) { m_ctlProgressAll.SetPos(nPercent); // progress - count of processed data/count of data - m_strTemp=GetSizeString(m_pTasks->GetPosition(), m_szData)+CString(_T("/")); - m_strTemp+=GetSizeString(m_pTasks->GetRange(), m_szData); + m_strTemp=GetSizeString(m_pTasks->GetPosition(), m_szData, _MAX_PATH)+CString(_T("/")); + m_strTemp+=GetSizeString(m_pTasks->GetRange(), m_szData, _MAX_PATH); GetDlgItem(IDC_OVERALL_PROGRESS_STATIC)->SetWindowText(m_strTemp); // transfer if (m_i64LastAllTasksProcessed == 0) m_i64LastAllTasksProcessed=m_pTasks->GetPosition(); if (dwCurrentTime-m_dwLastUpdate != 0) - m_strTemp=GetSizeString( (static_cast(m_pTasks->GetPosition()) - static_cast(m_i64LastAllTasksProcessed))/static_cast(static_cast(dwCurrentTime-m_dwLastUpdate)/1000.0), m_szData ); + m_strTemp=GetSizeString( (static_cast(m_pTasks->GetPosition()) - static_cast(m_i64LastAllTasksProcessed))/static_cast(static_cast(dwCurrentTime-m_dwLastUpdate)/1000.0), m_szData, _MAX_PATH); else - m_strTemp=GetSizeString( 0I64, m_szData ); + m_strTemp=GetSizeString( 0I64, m_szData, _MAX_PATH); GetDlgItem(IDC_OVERALL_TRANSFER_STATIC)->SetWindowText(m_strTemp+_T("/s")); m_i64LastAllTasksProcessed=m_pTasks->GetPosition(); @@ -866,19 +866,19 @@ { // show log CTask* pTask; - if ( (pTask=GetSelectedItemPointer()) == NULL || !GetConfig()->GetBoolValue(PP_CMCREATELOG)) + if ( (pTask=GetSelectedItemPointer()) == NULL || !GetConfig()->get_bool(PP_CMCREATELOG)) return; // call what's needed TCHAR szExec[1024]; - GetConfig()->GetStringValue(PP_PAUTOSAVEDIRECTORY, szExec, 1024); + GetConfig()->get_string(PP_PAUTOSAVEDIRECTORY, szExec, 1024); GetApp()->ExpandPath(szExec); unsigned long lResult=(unsigned long)(ShellExecute(this->m_hWnd, _T("open"), _T("notepad.exe"), CString(szExec)+pTask->GetUniqueName()+_T(".log"), szExec, SW_SHOWNORMAL)); if (lResult < 32) { CString str=CString(szExec)+pTask->GetUniqueName()+_T(".log"); - _stprintf(szExec, GetResManager()->LoadString(IDS_SHELLEXECUTEERROR_STRING), lResult, str); + _sntprintf(szExec, 1024, GetResManager()->LoadString(IDS_SHELLEXECUTEERROR_STRING), lResult, str); AfxMessageBox(szExec); } } @@ -920,7 +920,7 @@ break; } - _tcscat(szData, GetSizeString((__int64)uiValue, m_szData)); + _tcscat(szData, GetSizeString((__int64)uiValue, m_szData, _MAX_PATH)); GetDlgItem(IDC_BUFFERSIZE_STATIC)->SetWindowText(szData); }