Lei Zhang : advapi32: Replace UuidToStringW call with a sprintfW.
Module: wine Branch: master Commit: 9fca0f27d02d88c6e8f1f8ef870ae59838eeb51d URL: http://source.winehq.org/git/wine.git/?a=commit;h=9fca0f27d02d88c6e8f1f8ef87... Author: Lei Zhang <thestig(a)google.com> Date: Mon Apr 28 11:36:39 2008 -0700 advapi32: Replace UuidToStringW call with a sprintfW. --- dlls/advapi32/crypt.c | 33 ++++++++++++++++++++++----------- 1 files changed, 22 insertions(+), 11 deletions(-) diff --git a/dlls/advapi32/crypt.c b/dlls/advapi32/crypt.c index 0fadc78..5dcb709 100644 --- a/dlls/advapi32/crypt.c +++ b/dlls/advapi32/crypt.c @@ -294,20 +294,31 @@ static void CRYPT_CreateMachineGuid(void) if (lib) { RPC_STATUS (RPC_ENTRY *pUuidCreate)(UUID *); - RPC_STATUS (RPC_ENTRY *pUuidToString)(UUID *, WCHAR **); - RPC_STATUS (RPC_ENTRY *pRpcStringFree)(WCHAR **); UUID uuid; - WCHAR *uuidStr; + WCHAR buf[37]; + RPC_STATUS rs; + static const WCHAR uuidFmt[] = { + '%','0','8','x','-','%','0','4','x','-', + '%','0','4','x','-','%','0','2','x', + '%','0','2','x','-','%','0','2','x', + '%','0','2','x','%','0','2','x', + '%','0','2','x','%','0','2','x', + '%','0','2','x',0 }; pUuidCreate = GetProcAddress(lib, "UuidCreate"); - pUuidToString = GetProcAddress(lib, "UuidToStringW"); - pRpcStringFree = GetProcAddress(lib, "RpcStringFreeW"); - pUuidCreate(&uuid); - pUuidToString(&uuid, &uuidStr); - RegSetValueExW(key, machineGuidW, 0, REG_SZ, - (const BYTE *)uuidStr, - (lstrlenW(uuidStr)+1)*sizeof(WCHAR)); - pRpcStringFree(&uuidStr); + rs = pUuidCreate(&uuid); + if (rs == S_OK) + { + sprintfW(buf, uuidFmt, + uuid.Data1, uuid.Data2, uuid.Data3, + uuid.Data4[0], uuid.Data4[1], + uuid.Data4[2], uuid.Data4[3], + uuid.Data4[4], uuid.Data4[5], + uuid.Data4[6], uuid.Data4[7] ); + RegSetValueExW(key, machineGuidW, 0, REG_SZ, + (const BYTE *)buf, + (lstrlenW(buf)+1)*sizeof(WCHAR)); + } FreeLibrary(lib); } }
participants (1)
-
Alexandre Julliard