mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 22:05:49 +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
|
||||
* 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 */
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue