Salome HOME
PR : merge branch V1_2c dans branche principale pour V1_3_0_b1
[modules/kernel.git] / src / HDFPersist / HDFattrWrite.c
index b1dbea58844e473d2f53616106f2d5a81ae2c1e9..61d378427b3b46523592906a96c7a5a3ad697fdb 100644 (file)
@@ -41,15 +41,30 @@ Module : SALOME
 hdf_err HDFattrWrite(hdf_idt id, void *val)
 {
   hdf_idt type_id;
-  hdf_type type;
-  hdf_class_type hdf_type;
   int ret = 0;
+#ifdef PCLINUX
+  int isI32BE = 0;
+#endif
 
   if ((type_id = H5Aget_type(id)) < 0)
     return -1;
 
+#ifdef PCLINUX
+  if((H5Tget_class(type_id) == H5T_INTEGER) && (H5Tget_size(type_id) == 4)) {
+    isI32BE = 1; /* See HDFattrCreate */
+    if (H5Tconvert(H5T_NATIVE_INT,H5T_STD_I32BE,1,(void *)val,NULL,NULL) < 0)
+      return -1;
+  }
+#endif
+
   ret = H5Awrite(id,type_id, val);
 
+
+#ifdef PCLINUX
+  if (isI32BE && (H5Tconvert(H5T_STD_I32BE,H5T_NATIVE_INT,1,(void *)val,NULL,NULL) < 0)) 
+    return -1;
+#endif
+
   H5Tclose(type_id);
 
   return ret;