diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2011-09-14 08:13:27 +0930 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2011-09-14 08:13:27 +0930 |
commit | 2237daed7e4c6c38241bc07383ed1a421abe8d6c (patch) | |
tree | 11495936fbf2306d4e443bdf529ed71ff8e9f23a /lib/tdb2/io.c | |
parent | 45467c0118da0c1d4e5644f4570f10aafe37a8a7 (diff) | |
download | samba-2237daed7e4c6c38241bc07383ed1a421abe8d6c.tar.gz samba-2237daed7e4c6c38241bc07383ed1a421abe8d6c.tar.bz2 samba-2237daed7e4c6c38241bc07383ed1a421abe8d6c.zip |
tdb2: add error conversion functions.
This clarifies the code a little, but also provides a more explicit
mechanism which can be used to debug error handling (by introducing
tdb_err_t and making it a pointer type).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(Imported from CCAN commit afa6d57b7d93fe4675a952f556eb462951baa257)
Diffstat (limited to 'lib/tdb2/io.c')
-rw-r--r-- | lib/tdb2/io.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/tdb2/io.c b/lib/tdb2/io.c index 3648505f12..afab0c1a4c 100644 --- a/lib/tdb2/io.c +++ b/lib/tdb2/io.c @@ -162,7 +162,7 @@ uint64_t tdb_find_nonzero_off(struct tdb_context *tdb, val = tdb_access_read(tdb, base + start * sizeof(tdb_off_t), (end - start) * sizeof(tdb_off_t), false); if (TDB_PTR_IS_ERR(val)) { - return TDB_PTR_ERR(val); + return TDB_ERR_TO_OFF(TDB_PTR_ERR(val)); } for (i = 0; i < (end - start); i++) { @@ -183,7 +183,7 @@ uint64_t tdb_find_zero_off(struct tdb_context *tdb, tdb_off_t off, /* Zero vs non-zero is the same unconverted: minor optimization. */ val = tdb_access_read(tdb, off, num * sizeof(tdb_off_t), false); if (TDB_PTR_IS_ERR(val)) { - return TDB_PTR_ERR(val); + return TDB_ERR_TO_OFF(TDB_PTR_ERR(val)); } for (i = 0; i < num; i++) { @@ -229,7 +229,7 @@ tdb_off_t tdb_read_off(struct tdb_context *tdb, tdb_off_t off) tdb_off_t *p = tdb->tdb2.io->direct(tdb, off, sizeof(*p), false); if (TDB_PTR_IS_ERR(p)) { - return TDB_PTR_ERR(p); + return TDB_ERR_TO_OFF(TDB_PTR_ERR(p)); } if (p) return *p; @@ -237,7 +237,7 @@ tdb_off_t tdb_read_off(struct tdb_context *tdb, tdb_off_t off) ecode = tdb_read_convert(tdb, off, &ret, sizeof(ret)); if (ecode != TDB_SUCCESS) { - return ecode; + return TDB_ERR_TO_OFF(ecode); } return ret; } |