From: Rusty Russell Date: Wed, 15 Jul 2009 13:43:55 +0000 (+0930) Subject: Fix sequence logic bug, and satisfies() logic fix/cleanup. X-Git-Url: https://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=14ec8920c533db9684d3b520f4b694271b88dfd9 Fix sequence logic bug, and satisfies() logic fix/cleanup. --- diff --git a/ccan/tdb/tools/replay_trace.c b/ccan/tdb/tools/replay_trace.c index e639dcdc..124b7458 100644 --- a/ccan/tdb/tools/replay_trace.c +++ b/ccan/tdb/tools/replay_trace.c @@ -1023,18 +1023,13 @@ static bool satisfies(const TDB_DATA *key, const TDB_DATA *data, assert(data != &must_not_exist); assert(data != ¬_exists_or_empty); - /* must_not_exist == must_not_exist, must_exist == must_exist, or - not_exists_or_empty == not_exists_or_empty. */ - if (data->dsize == need->dsize && data->dptr == need->dptr) - return true; - /* Must not exist? data must not exist. */ if (need == &must_not_exist) - return data->dptr == NULL; + return data == &tdb_null; /* Must exist? */ if (need == &must_exist) - return data->dptr != NULL; + return data != &tdb_null; /* Either noexist or empty. */ if (need == ¬_exists_or_empty) @@ -1250,7 +1245,7 @@ static void add_dependency(void *ctx, */ else if (in_traverse(op[needs_file], needs_opnum)) { struct op *need = &op[needs_file][needs_opnum]; - if (op[needs_file][need->group_start].serial < + if (op[needs_file][need->group_start].serial > op[satisfies_file][satisfies_opnum].serial) { needs_opnum = need->group_start; }