diff options
Diffstat (limited to 'build_vxworks/util/db_verify.c')
-rw-r--r-- | build_vxworks/util/db_verify.c | 39 |
1 files changed, 24 insertions, 15 deletions
diff --git a/build_vxworks/util/db_verify.c b/build_vxworks/util/db_verify.c index 58993272..43ac681f 100644 --- a/build_vxworks/util/db_verify.c +++ b/build_vxworks/util/db_verify.c @@ -1,7 +1,7 @@ /*- * See the file LICENSE for redistribution information. * - * Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2015 Oracle and/or its affiliates. All rights reserved. * * $Id$ */ @@ -12,7 +12,7 @@ #ifndef lint static const char copyright[] = - "Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved.\n"; + "Copyright (c) 1996, 2015 Oracle and/or its affiliates. All rights reserved.\n"; #endif int db_verify_main __P((int, char *[])); @@ -47,7 +47,7 @@ db_verify_main(argc, argv) u_int32_t flags, cache; int ch, exitval, mflag, nflag, private; int quiet, resize, ret; - char *dname, *fname, *home, *passwd; + char *blob_dir, *dname, *fname, *home, *passwd; if ((progname = __db_rpath(argv[0])) == NULL) progname = argv[0]; @@ -62,10 +62,13 @@ db_verify_main(argc, argv) cache = MEGABYTE; exitval = mflag = nflag = quiet = 0; flags = 0; - home = passwd = NULL; + blob_dir = home = passwd = NULL; __db_getopt_reset = 1; - while ((ch = getopt(argc, argv, "h:mNoP:quV")) != EOF) + while ((ch = getopt(argc, argv, "b:h:mNoP:quV")) != EOF) switch (ch) { + case 'b': + blob_dir = optarg; + break; case 'h': home = optarg; break; @@ -112,14 +115,6 @@ db_verify_main(argc, argv) if (argc <= 0) return (db_verify_usage()); - if (mflag) { - dname = argv[0]; - fname = NULL; - } else { - fname = argv[0]; - dname = NULL; - } - /* Handle possible interruptions. */ __db_util_siginit(); @@ -138,6 +133,12 @@ retry: if ((ret = db_env_create(&dbenv, 0)) != 0) { dbenv->set_errpfx(dbenv, progname); } + if (blob_dir != NULL && + (ret = dbenv->set_blob_dir(dbenv, blob_dir)) != 0) { + dbenv->err(dbenv, ret, "set_blob_dir"); + goto err; + } + if (nflag) { if ((ret = dbenv->set_flags(dbenv, DB_NOLOCKING, 1)) != 0) { dbenv->err(dbenv, ret, "set_flags: DB_NOLOCKING"); @@ -162,7 +163,7 @@ retry: if ((ret = db_env_create(&dbenv, 0)) != 0) { private = 0; if ((ret = dbenv->open(dbenv, home, DB_INIT_MPOOL | DB_USE_ENVIRON, 0)) != 0) { - if (ret != DB_VERSION_MISMATCH) { + if (ret != DB_VERSION_MISMATCH && ret != DB_REP_LOCKOUT) { if ((ret = dbenv->set_cachesize(dbenv, 0, cache, 1)) != 0) { dbenv->err(dbenv, ret, "set_cachesize"); @@ -184,6 +185,14 @@ retry: if ((ret = db_env_create(&dbenv, 0)) != 0) { * enabled. */ for (; !__db_util_interrupted() && argv[0] != NULL; ++argv) { + if (mflag) { + dname = argv[0]; + fname = NULL; + } else { + fname = argv[0]; + dname = NULL; + } + if ((ret = db_create(&dbp, dbenv, 0)) != 0) { dbenv->err(dbenv, ret, "%s: db_create", progname); goto err; @@ -282,7 +291,7 @@ int db_verify_usage() { fprintf(stderr, "usage: %s %s\n", progname, - "[-NoqV] [-h home] [-P password] db_file ..."); + "[-mNoqV] [-b blob_dir] [-h home] [-P password] db_file ..."); return (EXIT_FAILURE); } |