summaryrefslogtreecommitdiff
path: root/source3/lib/serverid.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2011-12-08 15:50:33 +0100
committerMichael Adam <obnox@samba.org>2011-12-15 16:00:45 +0100
commit26fc72921f7b72dfebfe8394baa85b81ef66d26d (patch)
treead66ef76af07e27e13a956ff79431ce80590b97c /source3/lib/serverid.c
parent19078b9b0564ed2654a1dae1d23488f89aadb41f (diff)
downloadsamba-26fc72921f7b72dfebfe8394baa85b81ef66d26d.tar.gz
samba-26fc72921f7b72dfebfe8394baa85b81ef66d26d.tar.bz2
samba-26fc72921f7b72dfebfe8394baa85b81ef66d26d.zip
s3-dbwrap: Make dbwrap_parse_record return NTSTATUS
Also, the parser now returns void. The parser is called if and only if dbwrap_parse_record returns NT_STATUS_OK. Signed-off-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'source3/lib/serverid.c')
-rw-r--r--source3/lib/serverid.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/source3/lib/serverid.c b/source3/lib/serverid.c
index c1b87f7929..6d8a3c004f 100644
--- a/source3/lib/serverid.c
+++ b/source3/lib/serverid.c
@@ -230,13 +230,14 @@ struct serverid_exists_state {
bool exists;
};
-static int server_exists_parse(TDB_DATA key, TDB_DATA data, void *priv)
+static void server_exists_parse(TDB_DATA key, TDB_DATA data, void *priv)
{
struct serverid_exists_state *state =
(struct serverid_exists_state *)priv;
if (data.dsize != sizeof(struct serverid_data)) {
- return -1;
+ state->exists = false;
+ return;
}
/*
@@ -245,7 +246,6 @@ static int server_exists_parse(TDB_DATA key, TDB_DATA data, void *priv)
*/
state->exists = (memcmp(&state->id->unique_id, data.dptr,
sizeof(state->id->unique_id)) == 0);
- return 0;
}
bool serverid_exists(const struct server_id *id)
@@ -254,6 +254,7 @@ bool serverid_exists(const struct server_id *id)
struct serverid_exists_state state;
struct serverid_key key;
TDB_DATA tdbkey;
+ NTSTATUS status;
if (procid_is_me(id)) {
return true;
@@ -274,7 +275,8 @@ bool serverid_exists(const struct server_id *id)
state.id = id;
state.exists = false;
- if (dbwrap_parse_record(db, tdbkey, server_exists_parse, &state) != 0) {
+ status = dbwrap_parse_record(db, tdbkey, server_exists_parse, &state);
+ if (!NT_STATUS_IS_OK(status)) {
return false;
}
return state.exists;