diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2011-09-14 07:49:13 +0930 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2011-09-14 07:49:13 +0930 |
commit | cbad6e2c140e59a6ec653bcfe773599a57a5042f (patch) | |
tree | 84e7605464b76c0fabb18b89c7395f41d7514e5a /lib/tdb2/test/run-tdb1-bad-tdb-header.c | |
parent | 333a23fa995faf1735e5234272f56b792d91a877 (diff) | |
download | samba-cbad6e2c140e59a6ec653bcfe773599a57a5042f.tar.gz samba-cbad6e2c140e59a6ec653bcfe773599a57a5042f.tar.bz2 samba-cbad6e2c140e59a6ec653bcfe773599a57a5042f.zip |
tdb2: unify tdb1_open into tdb_open
Finally, we gut tdb1_open() to the tdb1-specific parts, and call it
from tdb_open if they specify the TDB_VERSION1 flag or the version is
a TDB1.
We also unify tdb_close(), based on the TDB_VERSION1 flag.
Note that tdb_open(TDB_VERSION1) will fail on an existing tdb if it's
a TDB2.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(Imported from CCAN commit c8c3b3568677e8b0105f84e4ab068c580faf4591)
Diffstat (limited to 'lib/tdb2/test/run-tdb1-bad-tdb-header.c')
-rw-r--r-- | lib/tdb2/test/run-tdb1-bad-tdb-header.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/lib/tdb2/test/run-tdb1-bad-tdb-header.c b/lib/tdb2/test/run-tdb1-bad-tdb-header.c index f8bee0b45c..c1d76740cc 100644 --- a/lib/tdb2/test/run-tdb1-bad-tdb-header.c +++ b/lib/tdb2/test/run-tdb1-bad-tdb-header.c @@ -16,20 +16,25 @@ int main(int argc, char *argv[]) hsize.tdb1_hashsize.hsize = 1024; plan_tests(11); - /* Can open fine if complete crap, as long as O_CREAT. */ - fd = open("run-bad-tdb-header.tdb", O_RDWR|O_CREAT|O_TRUNC, 0600); + /* Cannot open fine if complete crap, even with O_CREAT. */ + fd = open("run-bad-tdb-header.tdb1", O_RDWR|O_CREAT|O_TRUNC, 0600); ok1(fd >= 0); ok1(write(fd, "hello world", 11) == 11); close(fd); - tdb = tdb1_open("run-bad-tdb-header.tdb", 0, O_RDWR, 0, &tap_log_attr); + tdb = tdb_open("run-bad-tdb-header.tdb1", 0, O_RDWR, 0, &tap_log_attr); ok1(!tdb); - tdb = tdb1_open("run-bad-tdb-header.tdb", 0, O_CREAT|O_RDWR, + tdb = tdb_open("run-bad-tdb-header.tdb1", 0, O_CREAT|O_RDWR, 0600, &hsize); + ok1(!tdb); + + /* With truncate, will be fine. */ + tdb = tdb_open("run-bad-tdb-header.tdb1", TDB_VERSION1, + O_RDWR|O_CREAT|O_TRUNC, 0600, &hsize); ok1(tdb); - tdb1_close(tdb); + tdb_close(tdb); /* Now, with wrong version it should *not* overwrite. */ - fd = open("run-bad-tdb-header.tdb", O_RDWR); + fd = open("run-bad-tdb-header.tdb1", O_RDWR); ok1(fd >= 0); ok1(read(fd, &hdr, sizeof(hdr)) == sizeof(hdr)); ok1(hdr.version == TDB1_VERSION); @@ -38,16 +43,10 @@ int main(int argc, char *argv[]) ok1(write(fd, &hdr, sizeof(hdr)) == sizeof(hdr)); close(fd); - tdb = tdb1_open("run-bad-tdb-header.tdb", 0, O_RDWR|O_CREAT, - 0600, &hsize); + tdb = tdb_open("run-bad-tdb-header.tdb1", TDB_VERSION1, O_RDWR|O_CREAT, + 0600, &hsize); ok1(errno == EIO); ok1(!tdb); - /* With truncate, will be fine. */ - tdb = tdb1_open("run-bad-tdb-header.tdb", 0, - O_RDWR|O_CREAT|O_TRUNC, 0600, &hsize); - ok1(tdb); - tdb1_close(tdb); - return exit_status(); } |