Commit 13d6d003 authored by Richael Zhuang's avatar Richael Zhuang Committed by Tomasz Zawadzki
Browse files

examples/blob: skip '\0' when dump xattr's value



In show_blob(), value_len of xattr contains terminator '\0',
which is printed as '.' when calling spdk_log_dump().
For example, we set key/value pair as <key1,xattr value>, we get
"xattr value." but not "xattr value" when showing blob info.
Skip '\0' will fix this.

And "data[BUFSIZE]" seems redundant here, remove it.

Signed-off-by: default avatarRichael Zhuang <richael.zhuang@arm.com>
Change-Id: I4e7c3276e51f14badf43b660b80b24ae85bb0900
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1745


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
parent 97e34500
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -433,7 +433,6 @@ show_blob(struct cli_context_t *cli_context)
	struct spdk_xattr_names *names;
	const void *value;
	size_t value_len;
	char data[BUFSIZE];
	unsigned int i;

	printf("Blob Public Info:\n");
@@ -457,16 +456,14 @@ show_blob(struct cli_context_t *cli_context)
		spdk_blob_get_xattr_value(cli_context->blob,
					  spdk_xattr_names_get_name(names, i),
					  &value, &value_len);
		if ((value_len + 1) > sizeof(data)) {
		if (value_len > BUFSIZE) {
			printf("FYI: adjusting size of xattr due to CLI limits.\n");
			value_len = sizeof(data) - 1;
			value_len = BUFSIZE + 1;
		}
		memcpy(&data, value, value_len);
		data[value_len] = '\0';
		printf("\n(%d) Name:%s\n", i,
		       spdk_xattr_names_get_name(names, i));
		printf("(%d) Value:\n", i);
		spdk_log_dump(stdout, "", value, value_len);
		spdk_log_dump(stdout, "", value, value_len - 1);
	}

	/*
+1 −1
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ xattrs:
(0) Name:key
(0) Value:

00000000  76 61 6c 00                                        val.
00000000  76 61 6c                                           val

Blob Private Info:
state: CLEAN