X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=compat%2Fwinansi.c;fp=compat%2Fwinansi.c;h=cacd82c833a615a9daebbadca36d08647111a677;hb=0a2ff7c6b5ec5e4301a9cfb3c0dd26590d70ad7a;hp=efc0abcdac43e1c126d6d8148b8a03392e4ae911;hpb=e1cee0b84335c2ad9ffbbcb96d34850eeb5f17fd;p=thirdparty%2Fgit.git diff --git a/compat/winansi.c b/compat/winansi.c index efc0abcdac..cacd82c833 100644 --- a/compat/winansi.c +++ b/compat/winansi.c @@ -608,7 +608,7 @@ int winansi_isatty(int fd) void winansi_init(void) { int con1, con2; - char name[32]; + wchar_t name[32]; /* check if either stdout or stderr is a console output screen buffer */ con1 = is_console(1); @@ -628,13 +628,15 @@ void winansi_init(void) } /* create a named pipe to communicate with the console thread */ - xsnprintf(name, sizeof(name), "\\\\.\\pipe\\winansi%lu", GetCurrentProcessId()); - hwrite = CreateNamedPipe(name, PIPE_ACCESS_OUTBOUND, + if (swprintf(name, ARRAY_SIZE(name) - 1, L"\\\\.\\pipe\\winansi%lu", + GetCurrentProcessId()) < 0) + die("Could not initialize winansi pipe name"); + hwrite = CreateNamedPipeW(name, PIPE_ACCESS_OUTBOUND, PIPE_TYPE_BYTE | PIPE_WAIT, 1, BUFFER_SIZE, 0, 0, NULL); if (hwrite == INVALID_HANDLE_VALUE) die_lasterr("CreateNamedPipe failed"); - hread = CreateFile(name, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); + hread = CreateFileW(name, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); if (hread == INVALID_HANDLE_VALUE) die_lasterr("CreateFile for named pipe failed");