Skip to content

Commit 43b5723

Browse files
committed
fix pipe api
1 parent 33378af commit 43b5723

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

src/tbox/platform/stdfile.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,16 +137,19 @@ tb_bool_t tb_stdfile_readable(tb_stdfile_ref_t self)
137137
#endif
138138

139139
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
140-
if (tb_kernel32()->PeekConsoleInputW && tb_kernel32()->PeekNamedPipeW)
140+
DWORD fileType = GetFileType(hStdin);
141+
if (fileType == FILE_TYPE_PIPE)
141142
{
142-
DWORD fileType = GetFileType(hStdin);
143-
if (fileType == FILE_TYPE_PIPE)
143+
if (tb_kernel32()->PeekNamedPipe)
144144
{
145145
DWORD bytesAvailable = 0;
146-
BOOL ok = tb_kernel32()->PeekNamedPipeW(hStdin, NULL, NULL, NULL, &bytesAvailable, tb_null);
146+
BOOL ok = tb_kernel32()->PeekNamedPipe(hStdin, NULL, NULL, NULL, &bytesAvailable, tb_null);
147147
return ok && bytesAvailable;
148148
}
149-
else
149+
}
150+
else
151+
{
152+
if (tb_kernel32()->PeekConsoleInputW)
150153
{
151154
// we need to ignore left 0x0d charactor, so bytesAvailable must contain at least two characters
152155
DWORD bytesAvailable = 0;

src/tbox/platform/windows/interface/kernel32.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ static tb_bool_t tb_kernel32_instance_init(tb_kernel32_ref_t kernel32)
6767
TB_INTERFACE_LOAD(kernel32, DeleteProcThreadAttributeList);
6868
TB_INTERFACE_LOAD(kernel32, CopyFileExW);
6969
TB_INTERFACE_LOAD(kernel32, PeekConsoleInputW);
70-
TB_INTERFACE_LOAD(kernel32, PeekNamedPipeW);
70+
TB_INTERFACE_LOAD(kernel32, PeekNamedPipe);
7171
#if defined(TB_COMPILER_IS_MSVC) && TB_COMPILER_VERSION_BT(16, 0)
7272
TB_INTERFACE_LOAD(kernel32, GetLogicalProcessorInformationEx);
7373
#endif

src/tbox/platform/windows/interface/kernel32.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,8 @@ typedef BOOL (WINAPI* tb_kernel32_PeekConsoleInputW_t)(
204204
DWORD nLength,
205205
LPDWORD lpNumberOfEventsRead);
206206

207-
// the PeekNamedPipeW func type
208-
typedef BOOL (WINAPI* tb_kernel32_PeekNamedPipeW_t)(
207+
// the PeekNamedPipe func type
208+
typedef BOOL (WINAPI* tb_kernel32_PeekNamedPipe_t)(
209209
HANDLE hNamedPipe,
210210
LPVOID lpBuffer,
211211
DWORD nBufferSize,
@@ -298,7 +298,7 @@ typedef struct __tb_kernel32_t
298298
tb_kernel32_PeekConsoleInputW_t PeekConsoleInputW;
299299

300300
// PeekNamedPipe
301-
tb_kernel32_PeekNamedPipeW_t PeekNamedPipeW;
301+
tb_kernel32_PeekNamedPipe_t PeekNamedPipe;
302302

303303
// GetLogicalProcessorInformationEx
304304
#if defined(TB_COMPILER_IS_MSVC) && TB_COMPILER_VERSION_BT(16, 0)

0 commit comments

Comments
 (0)