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/np…
==============================================================================
--- 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…
==============================================================================
--- 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/ut…
==============================================================================
--- 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 (alex(a)relsoft.net)
+ * Pierre Schweitzer (pierre.schweitzer(a)reactos.org)
*/
/* 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…
==============================================================================
--- 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 */