Fixed unicode support under windows console
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#include "drvutil.hpp"
|
#include "drvutil.hpp"
|
||||||
#include "sslutil.hpp"
|
#include "sslutil.hpp"
|
||||||
|
#include "readline.hpp"
|
||||||
#include "../core/enginewrapper.hpp"
|
#include "../core/enginewrapper.hpp"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
@@ -233,8 +234,8 @@ static void console_write(const CodepointString &cps) {
|
|||||||
if (cps.size() == 0) return;
|
if (cps.size() == 0) return;
|
||||||
// Convert to wstring.
|
// Convert to wstring.
|
||||||
// Any character outside the range 0xFFFF is replaced with a box.
|
// Any character outside the range 0xFFFF is replaced with a box.
|
||||||
std::wstring ws(cps.size());
|
std::wstring ws(cps.size(), 0);
|
||||||
for (int i = 0; i < cps.size(); i++) {
|
for (int i = 0; i < int(cps.size()); i++) {
|
||||||
char32_t c = cps[i];
|
char32_t c = cps[i];
|
||||||
if ((c >= 0)&&(c <= 0xFFFF)) ws[i] = (wchar_t)c;
|
if ((c >= 0)&&(c <= 0xFFFF)) ws[i] = (wchar_t)c;
|
||||||
else ws[i] = 0x2610;
|
else ws[i] = 0x2610;
|
||||||
|
|||||||
@@ -477,7 +477,7 @@ class Driver {
|
|||||||
|
|
||||||
void handle_socket_input_output() {
|
void handle_socket_input_output() {
|
||||||
std::string err;
|
std::string err;
|
||||||
int mstimeout = read_console_recently_ ? 100 : 1000;
|
int mstimeout = read_console_recently_ ? 10 : 100;
|
||||||
|
|
||||||
// Peek output buffers and determine channel release flags.
|
// Peek output buffers and determine channel release flags.
|
||||||
bool any_released = false;
|
bool any_released = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user