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.
|
|
#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; } }
|