diff options
author | Volker Lendecke <vl@samba.org> | 2011-12-08 15:50:33 +0100 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2011-12-15 16:00:45 +0100 |
commit | 26fc72921f7b72dfebfe8394baa85b81ef66d26d (patch) | |
tree | ad66ef76af07e27e13a956ff79431ce80590b97c /source3/lib/serverid.c | |
parent | 19078b9b0564ed2654a1dae1d23488f89aadb41f (diff) | |
download | samba-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.c | 10 |
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; |