- Optimize CallNamedPipeA too and remove accidental define.
authorAlex Ionescu <aionescu@gmail.com>
Wed, 9 Nov 2005 02:53:58 +0000 (02:53 +0000)
committerAlex Ionescu <aionescu@gmail.com>
Wed, 9 Nov 2005 02:53:58 +0000 (02:53 +0000)
svn path=/trunk/; revision=19085

reactos/lib/kernel32/file/npipe.c

index 7695bbe..91d6546 100644 (file)
@@ -12,7 +12,7 @@
 #include <k32.h>
 
 #define NDEBUG
-#define USING_PROPER_NPFS_WAIT_SEMANTICS
+//#define USING_PROPER_NPFS_WAIT_SEMANTICS
 #include "../include/debug.h"
 
 /* FUNCTIONS ****************************************************************/
@@ -664,35 +664,33 @@ SetNamedPipeHandleState(HANDLE hNamedPipe,
 /*
  * @implemented
  */
-BOOL STDCALL
+BOOL
+WINAPI
 CallNamedPipeA(LPCSTR lpNamedPipeName,
-              LPVOID lpInBuffer,
-              DWORD nInBufferSize,
-              LPVOID lpOutBuffer,
-              DWORD nOutBufferSize,
-              LPDWORD lpBytesRead,
-              DWORD nTimeOut)
+               LPVOID lpInBuffer,
+               DWORD nInBufferSize,
+               LPVOID lpOutBuffer,
+               DWORD nOutBufferSize,
+               LPDWORD lpBytesRead,
+               DWORD nTimeOut)
 {
-  UNICODE_STRING PipeName;
-  BOOL Result;
-
-  RtlCreateUnicodeStringFromAsciiz(&PipeName,
-                                  (LPSTR)lpNamedPipeName);
-
-  Result = CallNamedPipeW(PipeName.Buffer,
-                         lpInBuffer,
-                         nInBufferSize,
-                         lpOutBuffer,
-                         nOutBufferSize,
-                         lpBytesRead,
-                         nTimeOut);
+    UNICODE_STRING PipeName = &NtCurrentTeb()->StaticUnicodeString;
+    ANSI_STRING AnsiPipe;
 
-  RtlFreeUnicodeString(&PipeName);
+    /* Initialize the string as ANSI_STRING and convert to Unicode */
+    RtlInitAnsiString(&NameA, (LPSTR)lpName);
+    RtlAnsiStringToUnicodeString(NameU, &NameA, FALSE);
 
-  return(Result);
+    /* Call the Unicode function */
+    return CallNamedPipeW(PipeName->Buffer,
+                          lpInBuffer,
+                          nInBufferSize,
+                          lpOutBuffer,
+                          nOutBufferSize,
+                          lpBytesRead,
+                          nTimeOut);
 }
 
-
 /*
  * @implemented
  */