diff options
-rw-r--r-- | source4/lib/registry/tools/regtree.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/source4/lib/registry/tools/regtree.c b/source4/lib/registry/tools/regtree.c index e606e09add..c239a11ed4 100644 --- a/source4/lib/registry/tools/regtree.c +++ b/source4/lib/registry/tools/regtree.c @@ -108,16 +108,29 @@ int main(int argc, char **argv) if (remote) { error = reg_open_remote(&h, NULL, cmdline_credentials, remote, NULL); + + if(!W_ERROR_IS_OK(error)) { + fprintf(stderr, "Unable to open remote registry at %s:%s \n", remote, win_errstr(error)); + return 1; + } + } else if (backend) { error = reg_open_hive(NULL, backend, poptGetArg(pc), NULL, cmdline_credentials, &root); + + if(!W_ERROR_IS_OK(error)) { + fprintf(stderr, "Unable to open '%s' with backend '%s':%s \n", poptGetArg(pc), backend, win_errstr(error)); + return 1; + } } else { error = reg_open_local (&h, NULL, cmdline_credentials); - } - if(!W_ERROR_IS_OK(error)) { - fprintf(stderr, "Unable to open '%s' with backend '%s':%s \n", poptGetArg(pc), backend, win_errstr(error)); - return 1; + if(!W_ERROR_IS_OK(error)) { + fprintf(stderr, "Unable to open local registry:%s \n", win_errstr(error)); + return 1; + } + } + poptFreeContext(pc); error = WERR_OK; |