Changed: #1051 Progress tweak
This commit is contained in:
parent
6c63513943
commit
267a39ee02
1 changed files with 28 additions and 7 deletions
|
@ -82,13 +82,32 @@ void printDownload(const std::string &str)
|
|||
|
||||
static const uint maxLength = 160;
|
||||
static char spaces[maxLength];
|
||||
|
||||
uint length = 0;
|
||||
|
||||
if (useUtf8)
|
||||
{
|
||||
ucstring utf8Str;
|
||||
utf8Str.fromUtf8(str);
|
||||
length = (uint)utf8Str.length();
|
||||
}
|
||||
else
|
||||
{
|
||||
length = (uint)str.length();
|
||||
}
|
||||
|
||||
sint diff = length - previousLength;
|
||||
|
||||
if (diff > 0 && length < maxLength)
|
||||
{
|
||||
memset(spaces, ' ', length);
|
||||
spaces[length] = '\0';
|
||||
|
||||
// "erase" previous line
|
||||
printf("%s\r", spaces);
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
memset(spaces, ' ', previousLength);
|
||||
spaces[previousLength] = '\0';
|
||||
|
||||
// "erase" previous line
|
||||
printf("%s\r", spaces);
|
||||
|
||||
// display download in purple
|
||||
if (useEsc)
|
||||
{
|
||||
|
@ -108,8 +127,10 @@ void printDownload(const std::string &str)
|
|||
SetConsoleTextAttribute(hStdout, attributes);
|
||||
#endif
|
||||
}
|
||||
|
||||
fflush(stdout);
|
||||
|
||||
previousLength = (uint)str.length();
|
||||
previousLength = length;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
|
|
Loading…
Reference in a new issue