diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2009-05-20 22:21:41 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2009-05-20 22:21:41 (GMT) |
commit | 6f0b39de55a71e042a3a50b6d169804021174ebf (patch) | |
tree | d277d7bf133a0e6fe0fb6d0afea912c7bb4fa217 | |
parent | 704f202348eac60d7bc653684babb2316652fdae (diff) | |
download | hdf5-6f0b39de55a71e042a3a50b6d169804021174ebf.zip hdf5-6f0b39de55a71e042a3a50b6d169804021174ebf.tar.gz hdf5-6f0b39de55a71e042a3a50b6d169804021174ebf.tar.bz2 |
[svn-r16968] Added missing byte case packed bits operations.
Tested local linux
-rw-r--r-- | tools/lib/h5tools_str.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/tools/lib/h5tools_str.c b/tools/lib/h5tools_str.c index 43e2f4e..8d9932e 100644 --- a/tools/lib/h5tools_str.c +++ b/tools/lib/h5tools_str.c @@ -850,10 +850,18 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai h5tools_str_append(str, OPT(info->fmt_uint, "%u"), tempuint); } else if (H5Tequal(type, H5T_NATIVE_SCHAR)) { - h5tools_str_append(str, OPT(info->fmt_schar, "%d"), *cp_vp); + char tempchar; + HDmemcpy(&tempchar, cp_vp, sizeof(char)); + if(packed_output) + tempchar = (tempchar & packed_counter)>>packed_normalize; + h5tools_str_append(str, OPT(info->fmt_schar, "%d"), tempchar); } else if (H5Tequal(type, H5T_NATIVE_UCHAR)) { - h5tools_str_append(str, OPT(info->fmt_uchar, "%u"), *ucp_vp); + unsigned char tempuchar; + HDmemcpy(&tempuchar, ucp_vp, sizeof(unsigned char)); + if(packed_output) + tempuchar = (tempuchar & packed_counter)>>packed_normalize; + h5tools_str_append(str, OPT(info->fmt_uchar, "%u"), tempuchar); } else if (H5Tequal(type, H5T_NATIVE_SHORT)) { short tempshort; |