registry keys of serial ports

Dmitry Timoshkov dmitry at codeweavers.com
Fri Sep 11 03:31:14 CDT 2009


"Stefan Leichter" <Stefan.Leichter at camline.com> wrote:

> i like to know what modifikations the attached patch needs to go into git.

1. patch needs to be created with git
2. there is no need to create a new file

> @@ -175,6 +180,16 @@
>          p_libhal_device_add_property_watch( ctx, udi, &error );
>      }
>      else if (guid_ptr) add_volume( udi, device, mount_point, DEVICE_HARDDISK_VOL, guid_ptr );
> +    goto done;

Is there any reason you are doing 'goto done' above?

> +
> +serial:
> +    if (!(device = p_libhal_device_get_property_string( ctx, udi, "serial.device", &error )))
> +        goto done;
> +
> +    if ( -1 == (port = p_libhal_device_get_property_int( ctx, udi, "serial.port", &error )))
> +        goto done;

'if ( -1 == port...' doesn't match existing style, 'if (port... == -1)' does.
Same for other places.

> +
> +    add_serial_device(port, device);
>  
>  done:
>      if (type) p_libhal_free_string( type );

> +NTSTATUS add_serial_device(int port, const char *device)
> +{
> +    static const WCHAR format_data[]  = {'C','O','M','%','d',0};
> +    static const WCHAR serialcom[] = {'M','a','c','h','i','n','e','\\',
> +                                      'H','A','R','D','W','A','R','E','\\',
> +                                      'D','E','V','I','C','E','M','A','P','\\',
> +                                      'S','E','R','I','A','L','C','O','M','M',0};
> +    static const UNICODE_STRING serialcom_str
> +                        = {sizeof(serialcom)-1, sizeof(serialcom), (WCHAR*) serialcom};

You should not cast away 'const'.

> +
> +    CHAR value[50];
> +    HANDLE targetKey = NULL;
> +    NTSTATUS retval;
> +    OBJECT_ATTRIBUTES attr;
> +    UNICODE_STRING valueU = {0, 0, NULL};

Initialization is not needed above since you are doing it anyway.

> +    WCHAR data[10];
> +
> +    attr.Length = sizeof(attr);
> +    attr.RootDirectory = 0;
> +    attr.ObjectName = (UNICODE_STRING*) &serialcom_str;

You should not cast away 'const'.

-- 
Dmitry.



More information about the wine-devel mailing list