summaryrefslogtreecommitdiffstats
path: root/tools/lib/h5tools_type.c
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2017-05-10 15:59:13 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2017-05-10 15:59:13 (GMT)
commit445c805a4cd1222703e0294afa3af9631c7d6c99 (patch)
treefd23d7bd1bc9fa2ed6390483e7d4c926e92582b5 /tools/lib/h5tools_type.c
parent9d50ed52875549dad6e5253111c0356aca3c2c05 (diff)
downloadhdf5-445c805a4cd1222703e0294afa3af9631c7d6c99.zip
hdf5-445c805a4cd1222703e0294afa3af9631c7d6c99.tar.gz
hdf5-445c805a4cd1222703e0294afa3af9631c7d6c99.tar.bz2
HDFFV-10186 Add endianess to bitfield and fix tests
Diffstat (limited to 'tools/lib/h5tools_type.c')
-rw-r--r--tools/lib/h5tools_type.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/tools/lib/h5tools_type.c b/tools/lib/h5tools_type.c
index 8c5592f..b57e274 100644
--- a/tools/lib/h5tools_type.c
+++ b/tools/lib/h5tools_type.c
@@ -100,8 +100,18 @@ h5tools_get_little_endian_type(hid_t tid)
p_type=H5Tcopy(H5T_IEEE_F64LE);
break;
- case H5T_TIME:
case H5T_BITFIELD:
+ if ( size == 1)
+ p_type=H5Tcopy(H5T_STD_B8LE);
+ else if ( size == 2)
+ p_type=H5Tcopy(H5T_STD_B16LE);
+ else if ( size == 4)
+ p_type=H5Tcopy(H5T_STD_B32LE);
+ else if ( size == 8)
+ p_type=H5Tcopy(H5T_STD_B64LE);
+ break;
+
+ case H5T_TIME:
case H5T_OPAQUE:
case H5T_STRING:
case H5T_COMPOUND:
@@ -177,8 +187,18 @@ h5tools_get_big_endian_type(hid_t tid)
p_type=H5Tcopy(H5T_IEEE_F64BE);
break;
- case H5T_TIME:
case H5T_BITFIELD:
+ if ( size == 1)
+ p_type=H5Tcopy(H5T_STD_B8BE);
+ else if ( size == 2)
+ p_type=H5Tcopy(H5T_STD_B16BE);
+ else if ( size == 4)
+ p_type=H5Tcopy(H5T_STD_B32BE);
+ else if ( size == 8)
+ p_type=H5Tcopy(H5T_STD_B64BE);
+ break;
+
+ case H5T_TIME:
case H5T_OPAQUE:
case H5T_STRING:
case H5T_COMPOUND: