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: Richael Zhuang <richael.zhuang@arm.com> Change-Id: I4e7c3276e51f14badf43b660b80b24ae85bb0900 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1745 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
parent
97e345002b
commit
13d6d00347
@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user