From e989f19cba2beffb03351842c2da1409f68e4466 Mon Sep 17 00:00:00 2001 From: Tim Chase Date: Wed, 3 Feb 2016 10:07:34 -0600 Subject: Correctly parse -R flag arguments Currently, only the 'b' flag takes an argument which is an offset into the block at which a blkptr should be decoded. The index into the flag string needed to be updated after parsing an argument. Signed-off-by: Tim Chase Signed-off-by: Brian Behlendorf Closes #4304 --- cmd/zdb/zdb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'cmd/zdb') diff --git a/cmd/zdb/zdb.c b/cmd/zdb/zdb.c index c43d9d0bd..cbc98d24c 100644 --- a/cmd/zdb/zdb.c +++ b/cmd/zdb/zdb.c @@ -3385,8 +3385,10 @@ zdb_read_block(char *thing, spa_t *spa) continue; p = &flagstr[i + 1]; - if (bit == ZDB_FLAG_PRINT_BLKPTR) + if (bit == ZDB_FLAG_PRINT_BLKPTR) { blkptr_offset = strtoull(p, &p, 16); + i = p - &flagstr[i + 1]; + } if (*p != ':' && *p != '\0') { (void) printf("***Invalid flag arg: '%s'\n", s); free(dup); -- cgit v1.2.3