Author: pschweitzer
Date: Sun Feb 20 19:40:15 2011
New Revision: 50838

URL: http://svn.reactos.org/svn/reactos?rev=50838&view=rev
Log:
[KERNEL32]
- Get rid of old function Basep8BitStringToLiveUnicodeString() that doesn't 
exist under Windows, and that was even unused
- Rename Basep8BitStringToHeapUnicodeString() to 
Basep8BitStringToDynamicUnicodeString() and fix its implementation (and all the 
calls)
- Define BasepUnicodeStringTo8BitString()

Modified:
    trunk/reactos/dll/win32/kernel32/file/npipe.c
    trunk/reactos/dll/win32/kernel32/include/kernel32.h
    trunk/reactos/dll/win32/kernel32/misc/utils.c
    trunk/reactos/dll/win32/kernel32/process/procsup.c

Modified: trunk/reactos/dll/win32/kernel32/file/npipe.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/file/npipe.c?rev=50838&r1=50837&r2=50838&view=diff
==============================================================================
--- trunk/reactos/dll/win32/kernel32/file/npipe.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/file/npipe.c [iso-8859-1] Sun Feb 20 
19:40:15 2011
@@ -251,7 +251,7 @@
     UNICODE_STRING NameU;
 
     /* Convert the name to Unicode */
-    Basep8BitStringToHeapUnicodeString(&NameU, lpNamedPipeName);
+    Basep8BitStringToDynamicUnicodeString(&NameU, lpNamedPipeName);
 
     /* Call the Unicode API */
     r = WaitNamedPipeW(NameU.Buffer, nTimeOut);

Modified: trunk/reactos/dll/win32/kernel32/include/kernel32.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/include/kernel32.h?rev=50838&r1=50837&r2=50838&view=diff
==============================================================================
--- trunk/reactos/dll/win32/kernel32/include/kernel32.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/include/kernel32.h [iso-8859-1] Sun Feb 20 
19:40:15 2011
@@ -192,15 +192,12 @@
 WINAPI
 Basep8BitStringToStaticUnicodeString(IN LPCSTR AnsiString);
 
-NTSTATUS
-WINAPI
-Basep8BitStringToLiveUnicodeString(OUT PUNICODE_STRING UnicodeString,
-                                   IN LPCSTR String);
-
-NTSTATUS
-WINAPI
-Basep8BitStringToHeapUnicodeString(OUT PUNICODE_STRING UnicodeString,
-                                   IN LPCSTR String);
+BOOLEAN
+WINAPI
+Basep8BitStringToDynamicUnicodeString(OUT PUNICODE_STRING UnicodeString,
+                                      IN LPCSTR String);
+ 
+#define BasepUnicodeStringTo8BitString RtlUnicodeStringToAnsiString
 
 typedef NTSTATUS (NTAPI *PRTL_CONVERT_STRING)(IN PUNICODE_STRING UnicodeString,
                                               IN PANSI_STRING AnsiString,

Modified: trunk/reactos/dll/win32/kernel32/misc/utils.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/misc/utils.c?rev=50838&r1=50837&r2=50838&view=diff
==============================================================================
--- trunk/reactos/dll/win32/kernel32/misc/utils.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/misc/utils.c [iso-8859-1] Sun Feb 20 
19:40:15 2011
@@ -4,6 +4,7 @@
  * FILE:            lib/kernel32/misc/utils.c
  * PURPOSE:         Utility and Support Functions
  * PROGRAMMER:      Alex Ionescu ([email protected])
+ *                  Pierre Schweitzer ([email protected])
  */
 
 /* INCLUDES ****************************************************************/
@@ -24,33 +25,6 @@
 
 /* FUNCTIONS ****************************************************************/
 
-/*
- * Converts an ANSI or OEM String to the specified Unicode String
- */
-NTSTATUS
-WINAPI
-Basep8BitStringToLiveUnicodeString(OUT PUNICODE_STRING UnicodeString,
-                                   IN LPCSTR String)
-{
-    ANSI_STRING AnsiString;
-    NTSTATUS Status;
-    
-    DPRINT("Basep8BitStringToLiveUnicodeString\n");
-    
-    /* Create the ANSI String */
-    RtlInitAnsiString(&AnsiString, String);
-    
-    /* Convert from OEM or ANSI */
-    Status = Basep8BitStringToUnicodeString(UnicodeString, &AnsiString, FALSE);
-    
-    /* Return Status */
-    if (!NT_SUCCESS(Status))
-    {
-        SetLastErrorByStatus(Status);
-    }
-    return Status;
-}
-
 
 /*
  * Converts an ANSI or OEM String to the TEB StaticUnicodeString
@@ -81,29 +55,38 @@
     return StaticString;
 }
 
-NTSTATUS
-WINAPI
-Basep8BitStringToHeapUnicodeString(OUT PUNICODE_STRING UnicodeString,
-                                   IN LPCSTR String)
+/*
+ * Allocates space from the Heap and converts an Unicode String into it
+ */
+BOOLEAN
+WINAPI
+Basep8BitStringToDynamicUnicodeString(OUT PUNICODE_STRING UnicodeString,
+                                      IN LPCSTR String)
 {
     ANSI_STRING AnsiString;
     NTSTATUS Status;
     
-    DPRINT("Basep8BitStringToCachedUnicodeString\n");
-    
+    DPRINT("Basep8BitStringToDynamicUnicodeString\n");
+
     /* Initialize an ANSI String */
-    RtlInitAnsiString(&AnsiString, String);
-    
+    if (!NT_SUCCESS(RtlInitAnsiStringEx(&AnsiString, String)))
+    {
+        SetLastError(ERROR_BUFFER_OVERFLOW);
+        return FALSE;
+    }
+     
     /* Convert it */
-    Status = Basep8BitStringToUnicodeString(UnicodeString, &AnsiString, TRUE);
-    
+    Status = Basep8BitStringToUnicodeString(UnicodeString, &AnsiString, TRUE); 
   
+
     /* Handle failure */
     if (!NT_SUCCESS(Status))
     {
         SetLastErrorByStatus(Status);
-    }
+        return FALSE;
+    }
+
     /* Return Status */
-    return Status;
+    return TRUE;
 }
 
 /*

Modified: trunk/reactos/dll/win32/kernel32/process/procsup.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/process/procsup.c?rev=50838&r1=50837&r2=50838&view=diff
==============================================================================
--- trunk/reactos/dll/win32/kernel32/process/procsup.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/process/procsup.c [iso-8859-1] Sun Feb 20 
19:40:15 2011
@@ -1563,8 +1563,8 @@
         else
         {
             /* Use a dynamic version */
-            Basep8BitStringToHeapUnicodeString(&LiveCommandLine,
-                                               lpCommandLine);
+            Basep8BitStringToDynamicUnicodeString(&LiveCommandLine,
+                                                  lpCommandLine);
         }
     }
     else
@@ -1576,13 +1576,13 @@
     /* Convert the Name and Directory */
     if (lpApplicationName)
     {
-        Basep8BitStringToHeapUnicodeString(&ApplicationName,
-                                           lpApplicationName);
+        Basep8BitStringToDynamicUnicodeString(&ApplicationName,
+                                              lpApplicationName);
     }
     if (lpCurrentDirectory)
     {
-        Basep8BitStringToHeapUnicodeString(&CurrentDirectory,
-                                           lpCurrentDirectory);
+        Basep8BitStringToDynamicUnicodeString(&CurrentDirectory,
+                                              lpCurrentDirectory);
     }
 
     /* Now convert Startup Strings */


Reply via email to