summaryrefslogtreecommitdiffstats
path: root/src/H5Torder.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Torder.c')
-rw-r--r--src/H5Torder.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/H5Torder.c b/src/H5Torder.c
index 877316d..b4babfa 100644
--- a/src/H5Torder.c
+++ b/src/H5Torder.c
@@ -86,7 +86,7 @@ static herr_t H5T_set_order(H5T_t *dtype, H5T_order_t order);
*
* Programmer: Robb Matzke
* Wednesday, January 7, 1998
- *
+ *
*-------------------------------------------------------------------------
*/
H5T_order_t
@@ -100,11 +100,11 @@ H5Tget_order(hid_t type_id)
/* Check args */
if(NULL == (dt = (H5T_t *)H5I_object_verify(type_id, H5I_DATATYPE)))
- HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, H5T_ORDER_ERROR, "not a datatype")
+ HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, H5T_ORDER_ERROR, "not a datatype")
/* Get order */
if(H5T_ORDER_ERROR == (ret_value = H5T_get_order(dt)))
- HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, H5T_ORDER_ERROR, "cant't get order for specified datatype")
+ HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, H5T_ORDER_ERROR, "can't get order for specified datatype")
done:
FUNC_LEAVE_API(ret_value)
@@ -159,7 +159,7 @@ H5T_get_order(const H5T_t *dtype)
if(memb_order != H5T_ORDER_NONE && ret_value == H5T_ORDER_NONE)
ret_value = memb_order;
- /* If the orders are mixed, stop the loop and report it.
+ /* If the orders are mixed, stop the loop and report it.
* (H5T_ORDER_NONE is ignored)
*/
if(memb_order != H5T_ORDER_NONE && ret_value != H5T_ORDER_NONE
@@ -186,7 +186,7 @@ done:
* 2. H5T_ORDER_NONE only works for reference and fixed-length
* string.
* 3. For opaque type, the order will be ignored.
- * 4. For compound type, all restrictions above apply to the
+ * 4. For compound type, all restrictions above apply to the
* members.
*
* Return: Non-negative on success/Negative on failure
@@ -199,7 +199,7 @@ done:
herr_t
H5Tset_order(hid_t type_id, H5T_order_t order)
{
- H5T_t *dt; /* Datatype to modify */
+ H5T_t *dt = NULL; /* Datatype to modify */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_API(FAIL)
@@ -207,15 +207,17 @@ H5Tset_order(hid_t type_id, H5T_order_t order)
/* Check args */
if(NULL == (dt = (H5T_t *)H5I_object_verify(type_id, H5I_DATATYPE)))
- HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "not a datatype")
+ HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "not a datatype")
if(order < H5T_ORDER_LE || order > H5T_ORDER_NONE || order == H5T_ORDER_MIXED)
- HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "illegal byte order")
+ HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "illegal byte order")
+ if(NULL != dt->vol_obj)
+ HGOTO_ERROR(H5E_ARGS, H5E_CANTSET, FAIL, "datatype is already committed")
if(H5T_STATE_TRANSIENT != dt->shared->state)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "datatype is read-only")
+ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "datatype is read-only")
/* Call internal routine to set the order */
if(H5T_set_order(dt, order) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "can't set order")
+ HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "can't set order")
done:
FUNC_LEAVE_API(ret_value)
@@ -244,12 +246,12 @@ H5T_set_order(H5T_t *dtype, H5T_order_t order)
if(H5T_ENUM == dtype->shared->type && dtype->shared->u.enumer.nmembs > 0)
HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "operation not allowed after enum members are defined")
- /* For derived data type, defer to parent */
+ /* For derived data type, defer to parent */
while(dtype->shared->parent)
dtype = dtype->shared->parent;
/* Check for setting order on inappropriate datatype */
- if(order == H5T_ORDER_NONE && !(H5T_REFERENCE == dtype->shared->type ||
+ if(order == H5T_ORDER_NONE && !(H5T_REFERENCE == dtype->shared->type ||
H5T_OPAQUE == dtype->shared->type || H5T_IS_FIXED_STRING(dtype->shared)))
HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "illegal byte order for type")