summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/utilities/util_verify.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/utilities/util_verify.c')
-rw-r--r--src/third_party/wiredtiger/src/utilities/util_verify.c168
1 files changed, 79 insertions, 89 deletions
diff --git a/src/third_party/wiredtiger/src/utilities/util_verify.c b/src/third_party/wiredtiger/src/utilities/util_verify.c
index 8c09768a310..773da1e85a1 100644
--- a/src/third_party/wiredtiger/src/utilities/util_verify.c
+++ b/src/third_party/wiredtiger/src/utilities/util_verify.c
@@ -13,102 +13,92 @@ static int usage(void);
int
util_verify(WT_SESSION *session, int argc, char *argv[])
{
- WT_DECL_RET;
- size_t size;
- int ch;
- char *config, *dump_offsets, *uri;
- bool dump_address, dump_blocks, dump_layout, dump_pages;
+ WT_DECL_RET;
+ size_t size;
+ int ch;
+ char *config, *dump_offsets, *uri;
+ bool dump_address, dump_blocks, dump_layout, dump_pages;
- dump_address = dump_blocks = dump_layout = dump_pages = false;
- config = dump_offsets = uri = NULL;
- while ((ch = __wt_getopt(progname, argc, argv, "d:")) != EOF)
- switch (ch) {
- case 'd':
- if (strcmp(__wt_optarg, "dump_address") == 0)
- dump_address = true;
- else if (strcmp(__wt_optarg, "dump_blocks") == 0)
- dump_blocks = true;
- else if (strcmp(__wt_optarg, "dump_layout") == 0)
- dump_layout = true;
- else if (
- WT_PREFIX_MATCH(__wt_optarg, "dump_offsets=")) {
- if (dump_offsets != NULL) {
- fprintf(stderr,
- "%s: only a single 'dump_offsets' "
- "argument supported\n", progname);
- return (usage());
- }
- dump_offsets =
- __wt_optarg + strlen("dump_offsets=");
- } else if (strcmp(__wt_optarg, "dump_pages") == 0)
- dump_pages = true;
- else
- return (usage());
- break;
- case '?':
- default:
- return (usage());
- }
- argc -= __wt_optind;
- argv += __wt_optind;
+ dump_address = dump_blocks = dump_layout = dump_pages = false;
+ config = dump_offsets = uri = NULL;
+ while ((ch = __wt_getopt(progname, argc, argv, "d:")) != EOF)
+ switch (ch) {
+ case 'd':
+ if (strcmp(__wt_optarg, "dump_address") == 0)
+ dump_address = true;
+ else if (strcmp(__wt_optarg, "dump_blocks") == 0)
+ dump_blocks = true;
+ else if (strcmp(__wt_optarg, "dump_layout") == 0)
+ dump_layout = true;
+ else if (WT_PREFIX_MATCH(__wt_optarg, "dump_offsets=")) {
+ if (dump_offsets != NULL) {
+ fprintf(stderr,
+ "%s: only a single 'dump_offsets' "
+ "argument supported\n",
+ progname);
+ return (usage());
+ }
+ dump_offsets = __wt_optarg + strlen("dump_offsets=");
+ } else if (strcmp(__wt_optarg, "dump_pages") == 0)
+ dump_pages = true;
+ else
+ return (usage());
+ break;
+ case '?':
+ default:
+ return (usage());
+ }
+ argc -= __wt_optind;
+ argv += __wt_optind;
- /* The remaining argument is the table name. */
- if (argc != 1)
- return (usage());
- if ((uri = util_uri(session, *argv, "table")) == NULL)
- return (1);
+ /* The remaining argument is the table name. */
+ if (argc != 1)
+ return (usage());
+ if ((uri = util_uri(session, *argv, "table")) == NULL)
+ return (1);
- /* Build the configuration string as necessary. */
- if (dump_address ||
- dump_blocks || dump_layout || dump_offsets != NULL || dump_pages) {
- size =
- strlen("dump_address,") +
- strlen("dump_blocks,") +
- strlen("dump_layout,") +
- strlen("dump_pages,") +
- strlen("dump_offsets[],") +
- (dump_offsets == NULL ? 0 : strlen(dump_offsets)) + 20;
- if ((config = malloc(size)) == NULL) {
- ret = util_err(session, errno, NULL);
- goto err;
- }
- if ((ret = __wt_snprintf(config, size,
- "%s%s%s%s%s%s%s",
- dump_address ? "dump_address," : "",
- dump_blocks ? "dump_blocks," : "",
- dump_layout ? "dump_layout," : "",
- dump_offsets != NULL ? "dump_offsets=[" : "",
- dump_offsets != NULL ? dump_offsets : "",
- dump_offsets != NULL ? "]," : "",
- dump_pages ? "dump_pages," : "")) != 0) {
- (void)util_err(session, ret, NULL);
- goto err;
- }
- }
- if ((ret = session->verify(session, uri, config)) != 0)
- (void)util_err(session, ret, "session.verify: %s", uri);
- else {
- /*
- * Verbose configures a progress counter, move to the next
- * line.
- */
- if (verbose)
- printf("\n");
- }
+ /* Build the configuration string as necessary. */
+ if (dump_address || dump_blocks || dump_layout || dump_offsets != NULL || dump_pages) {
+ size = strlen("dump_address,") + strlen("dump_blocks,") + strlen("dump_layout,") +
+ strlen("dump_pages,") + strlen("dump_offsets[],") +
+ (dump_offsets == NULL ? 0 : strlen(dump_offsets)) + 20;
+ if ((config = malloc(size)) == NULL) {
+ ret = util_err(session, errno, NULL);
+ goto err;
+ }
+ if ((ret = __wt_snprintf(config, size, "%s%s%s%s%s%s%s",
+ dump_address ? "dump_address," : "", dump_blocks ? "dump_blocks," : "",
+ dump_layout ? "dump_layout," : "", dump_offsets != NULL ? "dump_offsets=[" : "",
+ dump_offsets != NULL ? dump_offsets : "", dump_offsets != NULL ? "]," : "",
+ dump_pages ? "dump_pages," : "")) != 0) {
+ (void)util_err(session, ret, NULL);
+ goto err;
+ }
+ }
+ if ((ret = session->verify(session, uri, config)) != 0)
+ (void)util_err(session, ret, "session.verify: %s", uri);
+ else {
+ /*
+ * Verbose configures a progress counter, move to the next line.
+ */
+ if (verbose)
+ printf("\n");
+ }
-err: free(config);
- free(uri);
- return (ret);
+err:
+ free(config);
+ free(uri);
+ return (ret);
}
static int
usage(void)
{
- (void)fprintf(stderr,
- "usage: %s %s "
- "verify %s\n",
- progname, usage_prefix,
- "[-d dump_address | dump_blocks | dump_layout | "
- "dump_offsets=#,# | dump_pages] uri");
- return (1);
+ (void)fprintf(stderr,
+ "usage: %s %s "
+ "verify %s\n",
+ progname, usage_prefix,
+ "[-d dump_address | dump_blocks | dump_layout | "
+ "dump_offsets=#,# | dump_pages] uri");
+ return (1);
}