Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
84eed4cf
Commit
84eed4cf
authored
Mar 15, 2016
by
Hugh McMaster
Committed by
Alexandre Julliard
Mar 15, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
reg: Correctly handle cases with no data argument.
Signed-off-by:
Hugh McMaster
<
hugh.mcmaster@outlook.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
cf218bca
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
12 deletions
+15
-12
reg.c
programs/reg/reg.c
+5
-2
reg.c
programs/reg/tests/reg.c
+10
-10
No files found.
programs/reg/reg.c
View file @
84eed4cf
...
...
@@ -225,11 +225,14 @@ static inline BYTE hexchar_to_byte(WCHAR ch)
return
-
1
;
}
static
LPBYTE
get_regdata
(
LPWSTR
data
,
DWORD
reg_type
,
WCHAR
separator
,
DWORD
*
reg_count
)
static
LPBYTE
get_regdata
(
const
WCHAR
*
data
,
DWORD
reg_type
,
WCHAR
separator
,
DWORD
*
reg_count
)
{
static
const
WCHAR
empty
;
LPBYTE
out_data
=
NULL
;
*
reg_count
=
0
;
if
(
!
data
)
data
=
&
empty
;
switch
(
reg_type
)
{
case
REG_NONE
:
...
...
@@ -411,7 +414,7 @@ static int reg_add(WCHAR *key_name, WCHAR *value_name, BOOL value_empty,
return
1
;
}
if
(
data
&&
!
(
reg_data
=
get_regdata
(
data
,
reg_type
,
separator
,
&
reg_count
)))
if
(
!
(
reg_data
=
get_regdata
(
data
,
reg_type
,
separator
,
&
reg_count
)))
{
RegCloseKey
(
subkey
);
return
1
;
...
...
programs/reg/tests/reg.c
View file @
84eed4cf
...
...
@@ -147,11 +147,11 @@ static void test_add(void)
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /v none1 /t REG_NONE /f"
,
&
r
);
ok
(
r
==
REG_EXIT_SUCCESS
,
"got exit code %u, expected 0
\n
"
,
r
);
verify_reg
(
hkey
,
"none1"
,
REG_NONE
,
"
\0
"
,
2
,
TODO_REG_SIZE
);
verify_reg
(
hkey
,
"none1"
,
REG_NONE
,
"
\0
"
,
2
,
0
);
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /ve /t REG_NONE /f"
,
&
r
);
ok
(
r
==
REG_EXIT_SUCCESS
,
"got exit code %u, expected 0
\n
"
,
r
);
verify_reg
(
hkey
,
NULL
,
REG_NONE
,
"
\0
"
,
2
,
TODO_REG_SIZE
);
verify_reg
(
hkey
,
NULL
,
REG_NONE
,
"
\0
"
,
2
,
0
);
/* REG_SZ */
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /d WineTest /f"
,
&
r
);
...
...
@@ -168,7 +168,7 @@ static void test_add(void)
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /v test /f"
,
&
r
);
ok
(
r
==
REG_EXIT_SUCCESS
,
"got exit code %d, expected 0
\n
"
,
r
);
verify_reg
(
hkey
,
"test"
,
REG_SZ
,
""
,
1
,
TODO_REG_SIZE
);
verify_reg
(
hkey
,
"test"
,
REG_SZ
,
""
,
1
,
0
);
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /v test1 /t REG_SZ /f /d"
,
&
r
);
ok
(
r
==
REG_EXIT_FAILURE
,
"got exit code %d, expected 1
\n
"
,
r
);
...
...
@@ -179,7 +179,7 @@ static void test_add(void)
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /t REG_SZ /v test2 /f"
,
&
r
);
ok
(
r
==
REG_EXIT_SUCCESS
,
"got exit code %d, expected 0
\n
"
,
r
);
verify_reg
(
hkey
,
"test2"
,
REG_SZ
,
""
,
1
,
TODO_REG_SIZE
);
verify_reg
(
hkey
,
"test2"
,
REG_SZ
,
""
,
1
,
0
);
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /t REG_SZ /v test3 /f /d
\"\"
"
,
&
r
);
ok
(
r
==
REG_EXIT_SUCCESS
,
"got exit code %d, expected 0
\n
"
,
r
);
...
...
@@ -187,11 +187,11 @@ static void test_add(void)
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /ve /f"
,
&
r
);
ok
(
r
==
REG_EXIT_SUCCESS
,
"got exit code %u, expected 0
\n
"
,
r
);
verify_reg
(
hkey
,
NULL
,
REG_SZ
,
""
,
1
,
TODO_REG_SIZE
);
verify_reg
(
hkey
,
NULL
,
REG_SZ
,
""
,
1
,
0
);
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /ve /t REG_SZ /f"
,
&
r
);
ok
(
r
==
REG_EXIT_SUCCESS
,
"got exit code %u, expected 0
\n
"
,
r
);
verify_reg
(
hkey
,
NULL
,
REG_SZ
,
""
,
1
,
TODO_REG_SIZE
);
verify_reg
(
hkey
,
NULL
,
REG_SZ
,
""
,
1
,
0
);
/* REG_EXPAND_SZ */
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /v expand0 /t REG_EXpand_sz /d
\"
dead%PATH%beef
\"
/f"
,
&
r
);
...
...
@@ -204,7 +204,7 @@ static void test_add(void)
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /t REG_EXPAND_SZ /v expand2 /f"
,
&
r
);
ok
(
r
==
REG_EXIT_SUCCESS
,
"got exit code %u
\n
"
,
r
);
verify_reg
(
hkey
,
"expand2"
,
REG_EXPAND_SZ
,
""
,
1
,
TODO_REG_SIZE
);
verify_reg
(
hkey
,
"expand2"
,
REG_EXPAND_SZ
,
""
,
1
,
0
);
run_reg_exe
(
"reg add HKEY_CURRENT_USER
\\
"
KEY_BASE
" /ve /t REG_EXPAND_SZ /d WineTEST /f"
,
&
r
);
ok
(
r
==
REG_EXIT_SUCCESS
,
"got exit code %u
\n
"
,
r
);
...
...
@@ -216,7 +216,7 @@ static void test_add(void)
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /ve /t REG_EXPAND_SZ /f"
,
&
r
);
ok
(
r
==
REG_EXIT_SUCCESS
,
"got exit code %u, expected 0
\n
"
,
r
);
verify_reg
(
hkey
,
NULL
,
REG_EXPAND_SZ
,
""
,
1
,
TODO_REG_SIZE
);
verify_reg
(
hkey
,
NULL
,
REG_EXPAND_SZ
,
""
,
1
,
0
);
/* REG_BINARY */
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /t REG_BINARY /v bin0 /f"
,
&
r
);
...
...
@@ -372,7 +372,7 @@ static void test_add(void)
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /t REG_MULTI_SZ /v multi3 /f"
,
&
r
);
ok
(
r
==
REG_EXIT_SUCCESS
,
"got exit code %u
\n
"
,
r
);
verify_reg
(
hkey
,
"multi3"
,
REG_MULTI_SZ
,
&
buffer
[
21
],
1
,
TODO_REG_SIZE
);
verify_reg
(
hkey
,
"multi3"
,
REG_MULTI_SZ
,
&
buffer
[
21
],
1
,
0
);
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /t REG_MULTI_SZ /v multi4 /s
\"
#
\"
/d
\"
threelittlestrings
\"
/f"
,
&
r
);
ok
(
r
==
REG_EXIT_SUCCESS
,
"got exit code %u, expected 0
\n
"
,
r
);
...
...
@@ -435,7 +435,7 @@ static void test_add(void)
run_reg_exe
(
"reg add HKCU
\\
"
KEY_BASE
" /ve /t REG_MULTI_SZ /f"
,
&
r
);
ok
(
r
==
REG_EXIT_SUCCESS
,
"got exit code %u, expected 0
\n
"
,
r
);
verify_reg
(
hkey
,
NULL
,
REG_MULTI_SZ
,
buffer
,
1
,
TODO_REG_SIZE
);
verify_reg
(
hkey
,
NULL
,
REG_MULTI_SZ
,
buffer
,
1
,
0
);
RegCloseKey
(
hkey
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment