avifil32: remove 'recursive registry key delete' function

Detlef Riekenberg wine.dev at web.de
Thu Jun 7 05:30:15 CDT 2007


On Do, 2007-06-07 at 00:00 +0200, Stefan Leichter wrote:

Replacing recursive_delete_key with RegDeleteTree is not the same.
As Example:

> -           res = recursive_delete_keyA(HKEY_CLASSES_ROOT,
> list->progid);
> +           res = RegDeleteTreeA(HKEY_CLASSES_ROOT, list->progid);
>             if (res != ERROR_SUCCESS) goto error_close_coclass_key; 


When the Initial RegOpenKey failed, RegDeleteTree is returning 
ERROR_FILE_NOT_FOUND and the codepath went to the error-label,
but the old recursive_delete_keyA returned ERROR_SUCCESS.

See this removed Line from recursive_delete_keyA/W:
-    if (res == ERROR_FILE_NOT_FOUND) return ERROR_SUCCESS;


This additional change should work:
if ((res != ERROR_SUCCESS) && (res != ERROR_FILE_NOT_FOUND)) {
    goto error_close_coclass_key; 
}


Thanks

-- 
 
By by ... Detlef





More information about the wine-devel mailing list