summaryrefslogtreecommitdiff
path: root/source4/lib/registry/common/reg_interface.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/lib/registry/common/reg_interface.c')
-rw-r--r--source4/lib/registry/common/reg_interface.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/source4/lib/registry/common/reg_interface.c b/source4/lib/registry/common/reg_interface.c
index 6d305e61bf..6ad7ee69cb 100644
--- a/source4/lib/registry/common/reg_interface.c
+++ b/source4/lib/registry/common/reg_interface.c
@@ -64,8 +64,12 @@ static struct reg_init_function_entry *reg_find_backend_entry(const char *name)
if(reg_first_init) {
status = register_subsystem("registry", registry_register);
- if (!NT_STATUS_IS_OK(status))
+ if (NT_STATUS_IS_ERR(status)) {
+ DEBUG(0, ("Error registering registry subsystem: %s\n", nt_errstr(status)));
+ /* Don't try the initialisation again */
+ reg_first_init = False;
return NULL;
+ }
static_init_registry;
reg_first_init = False;
@@ -83,7 +87,7 @@ static struct reg_init_function_entry *reg_find_backend_entry(const char *name)
BOOL reg_has_backend(const char *backend)
{
- return reg_find_backend_entry(backend)?True:False;
+ return reg_find_backend_entry(backend) != NULL?True:False;
}
/* Open a registry file/host/etc */