Commit Graph

114 Commits

Author SHA1 Message Date
Hugh McMaster 3e87a70e82 reg: Introduce a partial state machine for importing Windows 3.1 registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-20 09:27:38 +09:00
Hugh McMaster aa386af42a reg: Add initial support for the import operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-20 09:25:52 +09:00
Hugh McMaster f2fbbec27d reg: Rename reg.h to resource.h.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-20 09:24:50 +09:00
Hugh McMaster c6c95a026b reg: Compile with msvcrt.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-20 09:24:50 +09:00
Hugh McMaster 8c253c464b reg: Make some variables 'static const'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-12 11:15:11 +09:00
Hugh McMaster 337e0f4cb2 reg: Avoid an uninitialized variable warning.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-12 11:15:04 +09:00
Hugh McMaster 8abec73530 reg: Dynamically allocate memory for the value name buffer when deleting all registry values in a specified key.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-08 20:13:56 +09:00
Hugh McMaster e7ea8380e0 reg: Use a helper function to resize a memory buffer.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-01 18:18:47 +02:00
Hugh McMaster a1bc33ae5c reg: Use a helper function to free allocated memory.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-01 18:18:36 +02:00
Hugh McMaster a6e28cc3b4 reg: Use a helper function to allocate memory and die on failure.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-01 18:18:31 +02:00
Hugh McMaster 90da210cb0 reg: Account for sizeof(WCHAR) when resizing the value name buffer during the query operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-21 16:40:05 +02:00
Hugh McMaster fb22f6c416 reg: Avoid using RegQueryInfoKey() to enumerate subkeys and values in the query operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-20 16:27:05 +02:00
Hugh McMaster 68c1765a5d reg: Simplify help handling by removing an if-else if-else block.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-19 13:37:57 +09:00
Hugh McMaster 8a8a753cfa reg: Fix dword conversion on 64-bit operating systems.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-19 13:12:15 +09:00
Hugh McMaster 73f60910e4 reg: Handle a special case for Default values and 'reg query'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-21 23:36:05 +09:00
Hugh McMaster 2885170057 reg: Free szValue after deleting all registry values (Coverity).
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 23:22:05 +09:00
Hugh McMaster ecdd3c8e84 reg: Always output the long key name when printing strings.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-15 17:11:53 +09:00
Hugh McMaster 4a22ba5b46 reg: Parse the registry key using a helper function.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-15 17:11:53 +09:00
Hugh McMaster 7d962327b1 reg: Avoid possible out-of-bounds memory access when a switch is only a forward slash or hyphen.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-09 18:26:43 +09:00
Hugh McMaster f426ece3a1 reg: Recognise switches beginning with a forward slash or hyphen.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-08 23:35:18 +09:00
Hugh McMaster 31efcc634a reg: Do not allow duplicate /d or /t switches.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-08 23:34:34 +09:00
Hugh McMaster 17d606a3b9 reg: Move duplicate /v, /ve and /va combination checks to wmain.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-06 19:51:45 +09:00
Hugh McMaster 0f7bdf7d57 reg: Remove an unreachable 'else' pathway from wmain.
Invalid operations are handled earlier in wmain.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-06 19:51:44 +09:00
Hugh McMaster 7484c5eba3 reg: Combine duplicate 'for' loops in wmain and parse all remaining arguments.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-06 19:51:44 +09:00
Hugh McMaster f1bf0bfbc3 reg: Move duplicate strchrW() calls to wmain.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-06 19:51:44 +09:00
Hugh McMaster c0d9908558 reg: Rename HKEY 'subkey' to 'key' in reg_add() and reg_delete().
This better reflects the purpose of the HKEY.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-06 19:51:44 +09:00
Hugh McMaster ee71883964 reg: Move duplicate path_get_rootkey() calls to wmain.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-03 22:48:39 +09:00
Hugh McMaster d57ad7b054 reg: Move duplicate sane_path() calls to wmain.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-03 22:48:37 +09:00
Hugh McMaster 2864105ef5 reg: Make help for registry operations common in wmain.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-03 22:48:35 +09:00
Hugh McMaster 45acfd9b50 reg: Simplify help logic and syntax.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-03 22:48:33 +09:00
Hugh McMaster 33d657f55c reg: Exit with an error if the specified operation is invalid.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-03 22:48:31 +09:00
Hugh McMaster 6a927ef70c reg: Parse the registry operation using an enum.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-03 22:48:29 +09:00
Hugh McMaster 6ce8524271 reg: Recognise hyphen and forward slash help switches.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-03 22:48:27 +09:00
Hugh McMaster deaad0f90a reg: Inform users about the 'add/delete/query /?' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 22:32:04 +09:00
Hugh McMaster 2b77d24f0f reg: Update general help logic.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 22:28:49 +09:00
Hugh McMaster ccbbb92888 reg: Avoid using strlenW to check if a string is valid.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 22:17:58 +09:00
Hugh McMaster 7b9a1a355f reg: Output line break before displaying query output.
This matches Windows' behaviour.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-04 01:03:29 +09:00
Hugh McMaster 43875a7fae reg: Output the number of matches when querying the registry recursively.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-04 01:03:29 +09:00
Hugh McMaster dd5da0ae64 reg: Support recursion when querying a registry value.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-27 12:42:41 +09:00
Hugh McMaster 0c0d839aaa reg: Add /v and /ve support to reg query.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-25 22:10:09 +09:00
Hugh McMaster c81b0494ba reg: Support recursion when querying a registry key.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-25 22:10:09 +09:00
Sebastian Lackner 7c774e9849 reg: Fix a heap corruption when printing specific REG_MULTI_SZ values.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-25 18:48:13 +09:00
Hugh McMaster 6433fee87e reg: Output the data value when querying a registry key.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-22 21:04:37 +09:00
Hugh McMaster bde6d0490e reg: Correctly output the default value name when querying the registry.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-22 21:04:37 +09:00
Hugh McMaster 9042759767 reg: Output the value name and type via a separate function.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-22 21:04:37 +09:00
Hugh McMaster a9b76d0057 reg: Output the value type when querying a registry key.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-22 21:04:37 +09:00
Hugh McMaster 2bd12424c9 reg: Output a list of subkeys when querying a registry key.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-22 21:04:37 +09:00
Hugh McMaster 3035599ad8 reg: Output value names when querying a registry key.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-22 21:04:37 +09:00
Hugh McMaster 3f62729b6e reg: Add initial 'query' support.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-22 21:04:36 +09:00
Hugh McMaster dad56c7dc6 reg: Exit with an error message if RegQueryInfoKeyW fails.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 00:59:56 +09:00