summaryrefslogtreecommitdiff
path: root/source3/registry/reg_api.c
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2008-01-14 18:31:11 +0100
committerGünther Deschner <gd@samba.org>2008-01-14 19:38:01 +0100
commitd35bda0ffd5bea57087dba9a6da8c20df8fa165c (patch)
tree40be9067b2d4fb2090d53c1da1466848d47e0af3 /source3/registry/reg_api.c
parent36a7316bfc9d7582ccd908f2b9d96e0fe983e884 (diff)
downloadsamba-d35bda0ffd5bea57087dba9a6da8c20df8fa165c.tar.gz
samba-d35bda0ffd5bea57087dba9a6da8c20df8fa165c.tar.bz2
samba-d35bda0ffd5bea57087dba9a6da8c20df8fa165c.zip
Add detection for need of update to the registry db.
This only detects if the tdb sequence number has changed since the data has last been read. Michael (This used to be commit 3f081ebeadf30a7943723703ecae479e0412c60c)
Diffstat (limited to 'source3/registry/reg_api.c')
-rw-r--r--source3/registry/reg_api.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/source3/registry/reg_api.c b/source3/registry/reg_api.c
index bb410e646b..8bbdb6abd3 100644
--- a/source3/registry/reg_api.c
+++ b/source3/registry/reg_api.c
@@ -27,7 +27,9 @@
static WERROR fill_value_cache(struct registry_key *key)
{
if (key->values != NULL) {
- return WERR_OK;
+ if (!reg_values_need_update(key->key, key->values)) {
+ return WERR_OK;
+ }
}
if (!(key->values = TALLOC_ZERO_P(key, REGVAL_CTR))) {
@@ -44,7 +46,9 @@ static WERROR fill_value_cache(struct registry_key *key)
static WERROR fill_subkey_cache(struct registry_key *key)
{
if (key->subkeys != NULL) {
- return WERR_OK;
+ if (!reg_subkeys_need_update(key->key, key->subkeys)) {
+ return WERR_OK;
+ }
}
if (!(key->subkeys = TALLOC_ZERO_P(key, REGSUBKEY_CTR))) {