X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Futils.py;h=9c93209349c971f795280a6d41a12c012918004b;hb=1db2666916f25d9e3d6e73c60fe36e1ce99d1813;hp=b57fd7a332c1584d3294d1660c67bf65b5a744b5;hpb=b58ddb32bae180dfad240ded5d247cab9a1f2215;p=youtube-dl diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index b57fd7a33..9c9320934 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -923,6 +923,9 @@ def _windows_write_string(s, out): 2: -12, } + def ucs2_len(s): + return sum((2 if ord(c) > 0xffff else 1) for c in s) + fileno = out.fileno() if fileno not in WIN_OUTPUT_IDS: return False @@ -956,10 +959,10 @@ def _windows_write_string(s, out): if not_a_console(h): return False - remaining = len(s) + remaining = ucs2_len(s) while remaining > 0: ret = WriteConsoleW( - h, s, min(len(s), 1024), ctypes.byref(written), None) + h, s, min(remaining, 1024), ctypes.byref(written), None) if ret == 0: raise OSError('Failed to write string') remaining -= written.value