[PATCH 1/4] reg: Add path/key conversion functions

Stefan Dösinger stefandoesinger at gmail.com
Thu Mar 5 14:17:16 CST 2015


I think these patches can be split further. And yeah, I could have thought of some of this sooner :-( .

1.1: A patch that replaces the if chains with the table
1.2: A patch that merges the duplicated string splitting with reg_open

2.1: Implement REG_MULTI_SZ. Use this patch to strip LPCRAP from the function definition
2.2: Improve REG_DWORD. I think you can merge the REG_DWORD_BIG_ENDIAN support into this patch, since it is just another REG_DWORD.
2.3: Add REG_NONE. Just a one-liner and todo_wine removal.
2.4: Add REG_EXPAND_SZ. Another one-liner.
2.5: Add REG_BINARY.

Patch 3:
I think at least the check
> +    if (value_name && value_empty)
> +    {
> +        reg_message(STRING_INVALID_CMDLINE);
> +        return 1;
> +    }
Is independent of the rest. I may be missing something though.

Another question that pops up in my mind is this:
> +        if (value_name && !value_name[0])
> +            value_name = NULL;
This is interesting together with the value_name && value_empty check. I suspect /v "" /ve still results in an error, but it is worth a test in a separate patch. This can be after the existing series as far as I'm concerned.

> +                if (!argvW[++i][0] || argvW[i][1])
> +                {
> +                    reg_message(STRING_INVALID_CMDLINE);
> +                    return 1;
> +                }
Can also go in a separate patch.

> +        if (err != ERROR_SUCCESS){
I expect Alexandre to hit me with a brick now, but this is inconsistent with the rest.

Patch 4 can be split in a similar fashion:

> +    /* Mutually exclusive options */
> +    if ((!!value_name + !!value_empty + !!value_all) > 1)
I think merging the existing (and broken) checks for that is separate from the rest.

The changes you make to handle value_all can also be separated I think. That will make this patch easier to read.

Stefan

Am 04.03.2015 um 17:29 schrieb Jonathan Vollebregt <jnvsor at gmail.com>:

> ---
> programs/reg/reg.c | 166 +++++++++++++++++++++++++++--------------------------
> 1 file changed, 86 insertions(+), 80 deletions(-)
> 
> <0001-reg-Add-path-key-conversion-functions.patch>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20150305/b2e882f7/attachment.sig>


More information about the wine-devel mailing list