Fix RtlStringFromGUID.

svn path=/trunk/; revision=7860
This commit is contained in:
Filip Navara 2004-01-24 11:59:04 +00:00
parent 85ac449051
commit 52963a354f
2 changed files with 46 additions and 28 deletions

View file

@ -1,4 +1,4 @@
/* $Id: unicode.c,v 1.32 2004/01/23 19:49:07 navaraf Exp $
/* $Id: unicode.c,v 1.33 2004/01/24 11:59:04 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -1848,28 +1848,37 @@ RtlStringFromGUID(
OUT PUNICODE_STRING GuidString
)
{
STATIC CONST PWCHAR Hex = L"0123456789ABCDEF";
WCHAR Buffer[40];
PWCHAR BufferPtr;
INT i;
if( Guid == NULL )
{
return FALSE;
}
PWCHAR Buffer;
PWCHAR String4;
PWCHAR String4a;
PWCHAR String4b;
wcsncpy( String4a, String4, 4 );
wcsncpy( String4b, String4+4, wcslen(String4) );
swprintf( Buffer, L"{%X-%X-%X-%X-%X}",
swprintf( Buffer, L"{%08lX-%04X-%04X-%02X%02X-",
Guid->Data1,
Guid->Data2,
Guid->Data3,
String4a,
String4b );
Guid->Data4[0],
Guid->Data4[1]);
BufferPtr = Buffer + 25;
/* 6 hex bytes */
for (i = 2; i < 8; i++)
{
*BufferPtr++ = Hex[Guid->Data4[i] >> 4];
*BufferPtr++ = Hex[Guid->Data4[i] & 0xf];
}
*BufferPtr++ = '}';
*BufferPtr++ = '\0';
RtlInitUnicodeString( GuidString, Buffer );
RtlCreateUnicodeString( GuidString, Buffer );
return(TRUE);
return TRUE;
}
/* EOF */

View file

@ -1,4 +1,4 @@
/* $Id: unicode.c,v 1.35 2004/01/23 18:00:53 navaraf Exp $
/* $Id: unicode.c,v 1.36 2004/01/24 11:59:04 navaraf Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -1062,28 +1062,37 @@ RtlStringFromGUID(
OUT PUNICODE_STRING GuidString
)
{
STATIC CONST PWCHAR Hex = L"0123456789ABCDEF";
WCHAR Buffer[40];
PWCHAR BufferPtr;
INT i;
if( Guid == NULL )
{
return FALSE;
}
PWCHAR Buffer;
PWCHAR String4;
PWCHAR String4a;
PWCHAR String4b;
wcsncpy( String4a, String4, 4 );
wcsncpy( String4b, String4+4, wcslen(String4) );
swprintf( Buffer, L"{%X-%X-%X-%X-%X}",
swprintf( Buffer, L"{%08lX-%04X-%04X-%02X%02X-",
Guid->Data1,
Guid->Data2,
Guid->Data3,
String4a,
String4b );
Guid->Data4[0],
Guid->Data4[1]);
BufferPtr = Buffer + 25;
/* 6 hex bytes */
for (i = 2; i < 8; i++)
{
*BufferPtr++ = Hex[Guid->Data4[i] >> 4];
*BufferPtr++ = Hex[Guid->Data4[i] & 0xf];
}
*BufferPtr++ = '}';
*BufferPtr++ = '\0';
RtlInitUnicodeString( GuidString, Buffer );
RtlCreateUnicodeString( GuidString, Buffer );
return(TRUE);
return TRUE;
}