is not in the exact format that a SORTED_TREE expects.
*********************************************************************/
-bool reghook_cache_add(const char *keyname, REGISTRY_OPS *ops)
+WERROR reghook_cache_add(const char *keyname, REGISTRY_OPS *ops)
{
WERROR werr;
char *key = NULL;
if ((keyname == NULL) || (ops == NULL)) {
- return false;
+ return WERR_INVALID_PARAM;
}
werr = keyname_to_path(talloc_tos(), keyname, &key);
done:
TALLOC_FREE(key);
- return W_ERROR_IS_OK(werr);
+ return werr;
}
/**********************************************************************
}
for ( i=0; reg_hooks[i].keyname; i++ ) {
- if (!reghook_cache_add(reg_hooks[i].keyname, reg_hooks[i].ops))
+ werr = reghook_cache_add(reg_hooks[i].keyname, reg_hooks[i].ops);
+ if (!W_ERROR_IS_OK(werr)) {
goto fail;
+ }
}
if ( DEBUGLEVEL >= 20 )
goto done;
}
- if (!reghook_cache_add(keyname, &smbconf_reg_ops)) {
- DEBUG(1, ("Failed to add smbconf reghooks to reghook cache\n"));
+ werr = reghook_cache_add(keyname, &smbconf_reg_ops);
+ if (!W_ERROR_IS_OK(werr)) {
+ DEBUG(1, ("Failed to add smbconf reghooks to reghook cache: "
+ "%s\n", dos_errstr(werr)));
goto done;
}