summaryrefslogtreecommitdiffstats
path: root/source/lib
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2009-02-21 17:01:58 +0100
committerKarolin Seeger <kseeger@samba.org>2009-03-27 14:15:38 +0100
commit1b2b26204ab7edddd73a97047f37e36e616c773c (patch)
tree1929a8d4b77347af28d54f532bbb8df38e189159 /source/lib
parent633c1de12c9abf845dc4295dac1718d6ff380fcd (diff)
downloadsamba-1b2b26204ab7edddd73a97047f37e36e616c773c.tar.gz
samba-1b2b26204ab7edddd73a97047f37e36e616c773c.tar.xz
samba-1b2b26204ab7edddd73a97047f37e36e616c773c.zip
Speed up "net conf list"
With 1000 shares in the registry, this changed the time of "net conf list" from 1.1 seconds to .6 seconds. Signed-off-by: Michael Adam <obnox@samba.org> (cherry picked from commit c4a1fc734b70efa932df4d4f8d9c66ea4f83ad0b)
Diffstat (limited to 'source/lib')
-rw-r--r--source/lib/smbconf/smbconf.c4
-rw-r--r--source/lib/smbconf/smbconf_reg.c3
2 files changed, 3 insertions, 4 deletions
diff --git a/source/lib/smbconf/smbconf.c b/source/lib/smbconf/smbconf.c
index 2d4f635f854..f57ca905206 100644
--- a/source/lib/smbconf/smbconf.c
+++ b/source/lib/smbconf/smbconf.c
@@ -203,10 +203,6 @@ WERROR smbconf_get_share(struct smbconf_ctx *ctx,
const char *servicename,
struct smbconf_service **service)
{
- if (!smbconf_share_exists(ctx, servicename)) {
- return WERR_NO_SUCH_SERVICE;
- }
-
return ctx->ops->get_share(ctx, mem_ctx, servicename, service);
}
diff --git a/source/lib/smbconf/smbconf_reg.c b/source/lib/smbconf/smbconf_reg.c
index 0b5e45de8be..0a64e9a8bc8 100644
--- a/source/lib/smbconf/smbconf_reg.c
+++ b/source/lib/smbconf/smbconf_reg.c
@@ -896,6 +896,9 @@ static WERROR smbconf_reg_get_share(struct smbconf_ctx *ctx,
werr = smbconf_reg_open_service_key(tmp_ctx, ctx, servicename,
REG_KEY_READ, &key);
if (!W_ERROR_IS_OK(werr)) {
+ if (W_ERROR_EQUAL(werr, WERR_BADFILE)) {
+ werr = WERR_NO_SUCH_SERVICE;
+ }
goto done;
}