mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 03:46:38 +00:00
Fix RtlStringFromGUID.
svn path=/trunk/; revision=7860
This commit is contained in:
parent
85ac449051
commit
52963a354f
2 changed files with 46 additions and 28 deletions
|
@ -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
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -1848,28 +1848,37 @@ RtlStringFromGUID(
|
||||||
OUT PUNICODE_STRING GuidString
|
OUT PUNICODE_STRING GuidString
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
STATIC CONST PWCHAR Hex = L"0123456789ABCDEF";
|
||||||
|
WCHAR Buffer[40];
|
||||||
|
PWCHAR BufferPtr;
|
||||||
|
INT i;
|
||||||
|
|
||||||
if( Guid == NULL )
|
if( Guid == NULL )
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
PWCHAR Buffer;
|
|
||||||
PWCHAR String4;
|
swprintf( Buffer, L"{%08lX-%04X-%04X-%02X%02X-",
|
||||||
PWCHAR String4a;
|
|
||||||
PWCHAR String4b;
|
|
||||||
|
|
||||||
wcsncpy( String4a, String4, 4 );
|
|
||||||
wcsncpy( String4b, String4+4, wcslen(String4) );
|
|
||||||
|
|
||||||
swprintf( Buffer, L"{%X-%X-%X-%X-%X}",
|
|
||||||
Guid->Data1,
|
Guid->Data1,
|
||||||
Guid->Data2,
|
Guid->Data2,
|
||||||
Guid->Data3,
|
Guid->Data3,
|
||||||
String4a,
|
Guid->Data4[0],
|
||||||
String4b );
|
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 */
|
/* EOF */
|
||||||
|
|
|
@ -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
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -1062,28 +1062,37 @@ RtlStringFromGUID(
|
||||||
OUT PUNICODE_STRING GuidString
|
OUT PUNICODE_STRING GuidString
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
STATIC CONST PWCHAR Hex = L"0123456789ABCDEF";
|
||||||
|
WCHAR Buffer[40];
|
||||||
|
PWCHAR BufferPtr;
|
||||||
|
INT i;
|
||||||
|
|
||||||
if( Guid == NULL )
|
if( Guid == NULL )
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
PWCHAR Buffer;
|
|
||||||
PWCHAR String4;
|
swprintf( Buffer, L"{%08lX-%04X-%04X-%02X%02X-",
|
||||||
PWCHAR String4a;
|
|
||||||
PWCHAR String4b;
|
|
||||||
|
|
||||||
wcsncpy( String4a, String4, 4 );
|
|
||||||
wcsncpy( String4b, String4+4, wcslen(String4) );
|
|
||||||
|
|
||||||
swprintf( Buffer, L"{%X-%X-%X-%X-%X}",
|
|
||||||
Guid->Data1,
|
Guid->Data1,
|
||||||
Guid->Data2,
|
Guid->Data2,
|
||||||
Guid->Data3,
|
Guid->Data3,
|
||||||
String4a,
|
Guid->Data4[0],
|
||||||
String4b );
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue