summaryrefslogtreecommitdiffstats
path: root/tools/lib/h5tools_str.c
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2010-12-30 14:00:48 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2010-12-30 14:00:48 (GMT)
commita863723db866ed63377aecd1e90cffa08f43c020 (patch)
treebd9467044603e46cf56b2bacf36f95c0df71a548 /tools/lib/h5tools_str.c
parentab0ad9ff0202411d9a63e34f9925b79b72e6ba69 (diff)
downloadhdf5-a863723db866ed63377aecd1e90cffa08f43c020.zip
hdf5-a863723db866ed63377aecd1e90cffa08f43c020.tar.gz
hdf5-a863723db866ed63377aecd1e90cffa08f43c020.tar.bz2
[svn-r19897] Extend packed bits and testing to 64 bit integers.
Tested: local Linux
Diffstat (limited to 'tools/lib/h5tools_str.c')
-rw-r--r--tools/lib/h5tools_str.c34
1 files changed, 26 insertions, 8 deletions
diff --git a/tools/lib/h5tools_str.c b/tools/lib/h5tools_str.c
index 46ad8c9..1dcfda5 100644
--- a/tools/lib/h5tools_str.c
+++ b/tools/lib/h5tools_str.c
@@ -783,16 +783,18 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
else if (H5Tequal(type, H5T_NATIVE_INT)) {
HDmemcpy(&tempint, vp, sizeof(int));
#ifdef H5_HAVE_H5DUMP_PACKED_BITS
- if(packed_bits_num)
+ if(packed_bits_num) {
tempint = (tempint >> packed_data_offset) & packed_data_mask;
+ }
#endif
h5tools_str_append(str, OPT(info->fmt_int, "%d"), tempint);
}
else if (H5Tequal(type, H5T_NATIVE_UINT)) {
HDmemcpy(&tempuint, vp, sizeof(unsigned int));
#ifdef H5_HAVE_H5DUMP_PACKED_BITS
- if(packed_bits_num)
+ if(packed_bits_num) {
tempuint = (tempuint >> packed_data_offset) & packed_data_mask;
+ }
#endif
h5tools_str_append(str, OPT(info->fmt_uint, "%u"), tempuint);
}
@@ -800,8 +802,9 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
char tempchar;
HDmemcpy(&tempchar, cp_vp, sizeof(char));
#ifdef H5_HAVE_H5DUMP_PACKED_BITS
- if(packed_bits_num)
+ if(packed_bits_num) {
tempchar = (tempchar >> packed_data_offset) & packed_data_mask;
+ }
#endif
h5tools_str_append(str, OPT(info->fmt_schar, "%d"), tempchar);
}
@@ -809,8 +812,9 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
unsigned char tempuchar;
HDmemcpy(&tempuchar, ucp_vp, sizeof(unsigned char));
#ifdef H5_HAVE_H5DUMP_PACKED_BITS
- if(packed_bits_num)
+ if(packed_bits_num) {
tempuchar = (tempuchar >> packed_data_offset) & packed_data_mask;
+ }
#endif
h5tools_str_append(str, OPT(info->fmt_uchar, "%u"), tempuchar);
}
@@ -819,8 +823,9 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
HDmemcpy(&tempshort, vp, sizeof(short));
#ifdef H5_HAVE_H5DUMP_PACKED_BITS
- if(packed_bits_num)
+ if(packed_bits_num) {
tempshort = (tempshort >> packed_data_offset) & packed_data_mask;
+ }
#endif
h5tools_str_append(str, OPT(info->fmt_short, "%d"), tempshort);
}
@@ -829,33 +834,46 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
HDmemcpy(&tempushort, vp, sizeof(unsigned short));
#ifdef H5_HAVE_H5DUMP_PACKED_BITS
- if(packed_bits_num)
+ if(packed_bits_num) {
tempushort = (tempushort >> packed_data_offset) & packed_data_mask;
+ }
#endif
h5tools_str_append(str, OPT(info->fmt_ushort, "%u"), tempushort);
}
else if (H5Tequal(type, H5T_NATIVE_LONG)) {
HDmemcpy(&templong, vp, sizeof(long));
#ifdef H5_HAVE_H5DUMP_PACKED_BITS
- if(packed_bits_num)
+ if(packed_bits_num) {
templong = (templong >> packed_data_offset) & packed_data_mask;
+ }
#endif
h5tools_str_append(str, OPT(info->fmt_long, "%ld"), templong);
}
else if (H5Tequal(type, H5T_NATIVE_ULONG)) {
HDmemcpy(&tempulong, vp, sizeof(unsigned long));
#ifdef H5_HAVE_H5DUMP_PACKED_BITS
- if(packed_bits_num)
+ if(packed_bits_num) {
tempulong = (tempulong >> packed_data_offset) & packed_data_mask;
+ }
#endif
h5tools_str_append(str, OPT(info->fmt_ulong, "%lu"), tempulong);
}
else if (H5Tequal(type, H5T_NATIVE_LLONG)) {
HDmemcpy(&templlong, vp, sizeof(long long));
+#ifdef H5_HAVE_H5DUMP_PACKED_BITS
+ if(packed_bits_num) {
+ templlong = (templlong >> packed_data_offset) & packed_data_mask;
+ }
+#endif
h5tools_str_append(str, OPT(info->fmt_llong, fmt_llong), templlong);
}
else if (H5Tequal(type, H5T_NATIVE_ULLONG)) {
HDmemcpy(&tempullong, vp, sizeof(unsigned long long));
+#ifdef H5_HAVE_H5DUMP_PACKED_BITS
+ if(packed_bits_num) {
+ tempullong = (tempullong >> packed_data_offset) & packed_data_mask;
+ }
+#endif
h5tools_str_append(str, OPT(info->fmt_ullong, fmt_ullong), tempullong);
}
else if (H5Tequal(type, H5T_NATIVE_HSSIZE)) {