Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

66 lines
1.4 KiB

#include "pch.h"
#pragma hdrstop
#include "ncreg.h"
#include "ncstring.h"
VOID StripSpaces(WCHAR * buf)
{
WCHAR * pch = buf;
Assert(buf);
// Find first non-space
while( (*pch) == L' ' )
{
pch++;
}
MoveMemory(buf, pch, CbOfSzAndTerm(pch));
if (lstrlenW(buf) > 0) {
// Do this only if there's at least one character in string
pch = buf + lstrlenW(buf); // Point to null (at end of string)
Assert(*pch == L'\0');
pch--; // Go back one character.
// As long as character is ' ' go to prev char
while( (pch >= buf) && (*pch == L' ') )
{
pch--;
}
Assert (pch >= buf);
Assert (*pch != L' ');
// Next position after last char
pch++;
// null terminate at last byte
*pch = L'\0';
}
}
/////////////////////////////////////////////////////////////////////////////
//
// Reg_QueryInt
//
/////////////////////////////////////////////////////////////////////////////
UINT Reg_QueryInt(HKEY hk, const WCHAR * pszValueName, UINT uDefault)
{
DWORD cbBuf;
BYTE szBuf[32];
DWORD dwType;
HRESULT hr;
cbBuf = sizeof(szBuf);
hr = HrRegQueryValueEx(hk, pszValueName, &dwType, szBuf, &cbBuf);
if (SUCCEEDED(hr))
{
Assert(dwType == REG_SZ);
return (UINT)_wtoi((WCHAR *)szBuf);
}
else
{
return uDefault;
}
}