mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-05 18:01:34 +00:00
kernel32: Avoid using memchrW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
ce30db504b
commit
e71ffcde30
2 changed files with 11 additions and 13 deletions
|
@ -311,7 +311,7 @@ static PROFILESECTION *PROFILE_Load(HANDLE hFile, ENCODING * pEncoding)
|
|||
WCHAR * szFile;
|
||||
const WCHAR *szLineStart, *szLineEnd;
|
||||
const WCHAR *szValueStart, *szEnd, *next_line;
|
||||
int line = 0, len;
|
||||
int len;
|
||||
PROFILESECTION *section, *first_section;
|
||||
PROFILESECTION **next_section;
|
||||
PROFILEKEY *key, *prev_key, **next_key;
|
||||
|
@ -402,14 +402,10 @@ static PROFILESECTION *PROFILE_Load(HANDLE hFile, ENCODING * pEncoding)
|
|||
while (next_line < szEnd)
|
||||
{
|
||||
szLineStart = next_line;
|
||||
next_line = memchrW(szLineStart, '\n', szEnd - szLineStart);
|
||||
if (!next_line) next_line = memchrW(szLineStart, '\r', szEnd - szLineStart);
|
||||
if (!next_line) next_line = szEnd;
|
||||
else next_line++;
|
||||
while (next_line < szEnd && *next_line != '\n' && *next_line != '\r') next_line++;
|
||||
while (next_line < szEnd && (*next_line == '\n' || *next_line == '\r')) next_line++;
|
||||
szLineEnd = next_line;
|
||||
|
||||
line++;
|
||||
|
||||
/* get rid of white space */
|
||||
while (szLineStart < szLineEnd && PROFILE_isspaceW(*szLineStart)) szLineStart++;
|
||||
while ((szLineEnd > szLineStart) && PROFILE_isspaceW(szLineEnd[-1])) szLineEnd--;
|
||||
|
@ -421,8 +417,8 @@ static PROFILESECTION *PROFILE_Load(HANDLE hFile, ENCODING * pEncoding)
|
|||
for (len = szLineEnd - szLineStart; len > 0; len--) if (szLineStart[len - 1] == ']') break;
|
||||
if (!len)
|
||||
{
|
||||
WARN("Invalid section header at line %d: %s\n",
|
||||
line, debugstr_wn(szLineStart, (int)(szLineEnd - szLineStart)) );
|
||||
WARN("Invalid section header: %s\n",
|
||||
debugstr_wn(szLineStart, (int)(szLineEnd - szLineStart)) );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -450,7 +446,8 @@ static PROFILESECTION *PROFILE_Load(HANDLE hFile, ENCODING * pEncoding)
|
|||
/* get rid of white space after the name and before the start
|
||||
* of the value */
|
||||
len = szLineEnd - szLineStart;
|
||||
if ((szValueStart = memchrW( szLineStart, '=', szLineEnd - szLineStart )) != NULL)
|
||||
for (szValueStart = szLineStart; szValueStart < szLineEnd; szValueStart++) if (*szValueStart == '=') break;
|
||||
if (szValueStart < szLineEnd)
|
||||
{
|
||||
const WCHAR *szNameEnd = szValueStart;
|
||||
while ((szNameEnd > szLineStart) && PROFILE_isspaceW(szNameEnd[-1])) szNameEnd--;
|
||||
|
@ -458,6 +455,7 @@ static PROFILESECTION *PROFILE_Load(HANDLE hFile, ENCODING * pEncoding)
|
|||
szValueStart++;
|
||||
while (szValueStart < szLineEnd && PROFILE_isspaceW(*szValueStart)) szValueStart++;
|
||||
}
|
||||
else szValueStart = NULL;
|
||||
|
||||
if (len || !prev_key || *prev_key->name)
|
||||
{
|
||||
|
|
|
@ -674,7 +674,7 @@ BOOL WINAPI GetVolumeInformationW( LPCWSTR root, LPWSTR label, DWORD label_len,
|
|||
IO_STATUS_BLOCK io;
|
||||
OBJECT_ATTRIBUTES attr;
|
||||
FILE_FS_DEVICE_INFORMATION info;
|
||||
WCHAR *p;
|
||||
unsigned int i;
|
||||
enum fs_type type = FS_UNKNOWN;
|
||||
BOOL ret = FALSE;
|
||||
|
||||
|
@ -685,8 +685,8 @@ BOOL WINAPI GetVolumeInformationW( LPCWSTR root, LPWSTR label, DWORD label_len,
|
|||
return FALSE;
|
||||
}
|
||||
/* there must be exactly one backslash in the name, at the end */
|
||||
p = memchrW( nt_name.Buffer + 4, '\\', (nt_name.Length - 4) / sizeof(WCHAR) );
|
||||
if (p != nt_name.Buffer + nt_name.Length / sizeof(WCHAR) - 1)
|
||||
for (i = 4; i < nt_name.Length / sizeof(WCHAR); i++) if (nt_name.Buffer[i] == '\\') break;
|
||||
if (i != nt_name.Length / sizeof(WCHAR) - 1)
|
||||
{
|
||||
/* check if root contains an explicit subdir */
|
||||
if (root[0] && root[1] == ':') root += 2;
|
||||
|
|
Loading…
Reference in a new issue