diff options
Diffstat (limited to 'src/libs/7zip/win/CPP/7zip/UI/Console/PercentPrinter.cpp')
-rw-r--r-- | src/libs/7zip/win/CPP/7zip/UI/Console/PercentPrinter.cpp | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/src/libs/7zip/win/CPP/7zip/UI/Console/PercentPrinter.cpp b/src/libs/7zip/win/CPP/7zip/UI/Console/PercentPrinter.cpp deleted file mode 100644 index f2889957a..000000000 --- a/src/libs/7zip/win/CPP/7zip/UI/Console/PercentPrinter.cpp +++ /dev/null @@ -1,102 +0,0 @@ -// PercentPrinter.cpp - -#include "StdAfx.h" - -#include "../../../Common/Defs.h" -#include "../../../Common/IntToString.h" - -#include "PercentPrinter.h" - -static const unsigned kPaddingSize = 2; -static const unsigned kPercentsSize = 4; -static const unsigned kMaxExtraSize = kPaddingSize + 32 + kPercentsSize; - -static void ClearPrev(char *p, unsigned num) -{ - unsigned i; - for (i = 0; i < num; i++) *p++ = '\b'; - for (i = 0; i < num; i++) *p++ = ' '; - for (i = 0; i < num; i++) *p++ = '\b'; - *p = '\0'; -} - -void CPercentPrinter::ClosePrint() -{ - if (m_NumExtraChars == 0) - return; - char s[kMaxExtraSize * 3 + 1]; - ClearPrev(s, m_NumExtraChars); - (*OutStream) << s; - m_NumExtraChars = 0; -} - -void CPercentPrinter::PrintString(const char *s) -{ - ClosePrint(); - (*OutStream) << s; -} - -void CPercentPrinter::PrintString(const wchar_t *s) -{ - ClosePrint(); - (*OutStream) << s; -} - -void CPercentPrinter::PrintNewLine() -{ - ClosePrint(); - (*OutStream) << "\n"; -} - -void CPercentPrinter::RePrintRatio() -{ - char s[32]; - unsigned size; - { - char c = '%'; - UInt64 value = 0; - if (m_Total == (UInt64)(Int64)-1) - { - value = m_CurValue >> 20; - c = 'M'; - } - else if (m_Total != 0) - value = m_CurValue * 100 / m_Total; - ConvertUInt64ToString(value, s); - size = (unsigned)strlen(s); - s[size++] = c; - s[size] = '\0'; - } - - unsigned extraSize = kPaddingSize + MyMax(size, kPercentsSize); - if (extraSize < m_NumExtraChars) - extraSize = m_NumExtraChars; - - char fullString[kMaxExtraSize * 3]; - char *p = fullString; - unsigned i; - if (m_NumExtraChars == 0) - { - for (i = 0; i < extraSize; i++) - *p++ = ' '; - m_NumExtraChars = extraSize; - } - - for (i = 0; i < m_NumExtraChars; i++) - *p++ = '\b'; - m_NumExtraChars = extraSize; - for (; size < extraSize; size++) - *p++ = ' '; - MyStringCopy(p, s); - (*OutStream) << fullString; - OutStream->Flush(); - m_PrevValue = m_CurValue; -} - -void CPercentPrinter::PrintRatio() -{ - if (m_CurValue < m_PrevValue + m_MinStepSize && - m_CurValue + m_MinStepSize > m_PrevValue && m_NumExtraChars != 0) - return; - RePrintRatio(); -} |