| | @@ -1125,16 +1125,11 @@ |
| 1125 | 1125 | */ |
| 1126 | 1126 | int fossil_utf8_to_console(const char *zUtf8, int nByte, int toStdErr){ |
| 1127 | 1127 | #ifdef _WIN32 |
| 1128 | 1128 | int nChar; |
| 1129 | 1129 | wchar_t *zUnicode; /* Unicode version of zUtf8 */ |
| 1130 | | -#ifdef UNICODE |
| 1131 | 1130 | DWORD dummy; |
| 1132 | | -#else |
| 1133 | | - char *zConsole; /* Console version of zUtf8 */ |
| 1134 | | - int codepage; /* Console code page */ |
| 1135 | | -#endif |
| 1136 | 1131 | |
| 1137 | 1132 | static int istty[2] = { -1, -1 }; |
| 1138 | 1133 | if( istty[toStdErr] == -1 ){ |
| 1139 | 1134 | istty[toStdErr] = _isatty(toStdErr + 1) != 0; |
| 1140 | 1135 | } |
| | @@ -1152,31 +1147,11 @@ |
| 1152 | 1147 | if( nChar==0 ){ |
| 1153 | 1148 | free(zUnicode); |
| 1154 | 1149 | return 0; |
| 1155 | 1150 | } |
| 1156 | 1151 | zUnicode[nChar] = '\0'; |
| 1157 | | -#ifdef UNICODE |
| 1158 | | - WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE - toStdErr), zUnicode, nChar, &dummy, 0); |
| 1159 | | -#else /* !UNICODE */ |
| 1160 | | - codepage = GetConsoleCP(); |
| 1161 | | - nByte = WideCharToMultiByte(codepage, 0, zUnicode, nChar, 0, 0, 0, 0); |
| 1162 | | - zConsole = malloc( nByte + 1); |
| 1163 | | - if( zConsole==0 ){ |
| 1164 | | - free(zUnicode); |
| 1165 | | - return 0; |
| 1166 | | - } |
| 1167 | | - nByte = WideCharToMultiByte(codepage, 0, zUnicode, nChar, zConsole, nByte, 0, 0); |
| 1168 | | - zConsole[nByte] = '\0'; |
| 1169 | | - free(zUnicode); |
| 1170 | | - if( nByte == 0 ){ |
| 1171 | | - free(zConsole); |
| 1172 | | - zConsole = 0; |
| 1173 | | - return 0; |
| 1174 | | - } |
| 1175 | | - fwrite(zConsole, 1, nByte, toStdErr ? stderr : stdout); |
| 1176 | | - fflush(toStdErr ? stderr : stdout); |
| 1177 | | -#endif /* UNICODE */ |
| 1152 | + WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE - toStdErr), zUnicode, nChar, &dummy, 0); |
| 1178 | 1153 | return nChar; |
| 1179 | 1154 | #else |
| 1180 | 1155 | return -1; /* No-op on unix */ |
| 1181 | 1156 | #endif |
| 1182 | 1157 | } |
| 1183 | 1158 | |