Changeset 1650

Show
Ignore:
Timestamp:
03/13/08 14:52:36 (2 years ago)
Author:
kraftche
Message:

hdf5 1.8 API/ABI

Location:
MOAB/trunk
Files:
6 modified

Legend:

Unmodified
Added
Removed
  • MOAB/trunk/ReadHDF5.cpp

    r1589 r1650  
    11961196  { 
    11971197    hsize_t tmpsize = array_size; 
     1198#if defined(H5Tarray_create_vers) && H5Tarray_create_vers > 1   
     1199    hdf_type = H5Tarray_create2( hdf_type, 1, &tmpsize ); 
     1200#else 
    11981201    hdf_type = H5Tarray_create( hdf_type, 1, &tmpsize, NULL ); 
     1202#endif 
    11991203    if (hdf_type < 0) 
    12001204      return MB_FAILURE; 
  • MOAB/trunk/mhdf/src/adjacency.c

    r565 r1650  
    3838  if (elem_group == mhdf_node_type_handle()) 
    3939  { 
     40#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     41    elem_id = H5Gopen( file_ptr->hdf_handle, NODE_GROUP, H5P_DEFAULT ); 
     42#else 
    4043    elem_id = H5Gopen( file_ptr->hdf_handle, NODE_GROUP ); 
     44#endif 
    4145    if (elem_id < 0) 
    4246    { 
  • MOAB/trunk/mhdf/src/file.c

    r1445 r1650  
    8484   
    8585    /* Store the max ID as an attribite on the /tstt/ group */ 
     86#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     87  group_id = H5Gopen2( file_ptr->hdf_handle, ROOT_GROUP, H5P_DEFAULT ); 
     88#else 
    8689  group_id = H5Gopen( file_ptr->hdf_handle, ROOT_GROUP ); 
     90#endif 
    8791  rval = mhdf_create_scalar_attrib( group_id,  
    8892                                    MAX_ID_ATTRIB,  
     
    121125    } 
    122126  } 
     127#if defined(H5Tcommit_vers) && H5Tcommit_vers > 1 
     128  if (H5Tcommit2( file_ptr->hdf_handle, TYPE_ENUM_PATH, enum_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT ) < 0)   
     129#else 
    123130  if (H5Tcommit( file_ptr->hdf_handle, TYPE_ENUM_PATH, enum_id ) < 0)   
     131#endif 
    124132  { 
    125133    mhdf_setFail( status, "Failed to store elem type list." ); 
     
    160168  hsize_t dims[2]; 
    161169   
     170#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     171  elem_id = H5Gopen2( group_id, subgroup, H5P_DEFAULT ); 
     172#else 
    162173  elem_id = H5Gopen( group_id, subgroup ); 
     174#endif 
    163175  if (elem_id < 0) return (herr_t)-1; 
    164176   
     177#if defined(H5Dopen_vers) && H5Dopen_vers > 1   
     178  conn_id = H5Dopen2( elem_id, datatable, H5P_DEFAULT ); 
     179#else 
    165180  conn_id = H5Dopen( elem_id, datatable ); 
     181#endif 
    166182  H5Gclose( elem_id ); 
    167183  if (conn_id < 0) return (herr_t)-1; 
     
    203219   
    204220    /* Check for new format, with max_id as attrib of root group */ 
     221#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     222  group_id = H5Gopen2( file_ptr->hdf_handle, ROOT_GROUP, H5P_DEFAULT ); 
     223#else 
    205224  group_id = H5Gopen( file_ptr->hdf_handle, ROOT_GROUP ); 
     225#endif 
    206226  if (group_id < 0) 
    207227  { 
     
    288308   
    289309    /* Check for TSTT data in file */ 
     310#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     311  group_id = H5Gopen2( file_ptr->hdf_handle, ROOT_GROUP, H5P_DEFAULT ); 
     312#else 
    290313  group_id = H5Gopen( file_ptr->hdf_handle, ROOT_GROUP ); 
     314#endif 
    291315  if (group_id < 0) 
    292316  { 
     
    465489    return; 
    466490  } 
    467    
     491 
     492#if defined(H5Gcreate_vers) && H5Gcreate_vers > 1 
     493  group_id = H5Gcreate2( file_ptr->hdf_handle, path, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT ); 
     494#else 
    468495  group_id = H5Gcreate( file_ptr->hdf_handle, path, 3 ); 
     496#endif 
    469497  if (group_id < 0) 
    470498  { 
     
    475503  free( path ); 
    476504   
     505#if defined(H5Gcreate_vers) && H5Gcreate_vers > 1 
     506  tag_id = H5Gcreate2( group_id, DENSE_TAG_SUBGROUP, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT ); 
     507#else 
    477508  tag_id = H5Gcreate( group_id, DENSE_TAG_SUBGROUP, 0 ); 
     509#endif 
    478510  if (tag_id < 0) 
    479511  { 
     
    531563    return NULL; 
    532564   
     565#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     566  group_id = H5Gopen2( file_ptr->hdf_handle, ELEMENT_GROUP, H5P_DEFAULT ); 
     567#else 
    533568  group_id = H5Gopen( file_ptr->hdf_handle, ELEMENT_GROUP ); 
     569#endif 
    534570  if (group_id < 0)  
    535571  { 
     
    644680make_hdf_group( const char* path, hid_t file, size_t size, mhdf_Status* status ) 
    645681{ 
     682#if defined(H5Gcreate_vers) && H5Gcreate_vers > 1 
     683  hid_t handle = H5Gcreate2( file, path, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT ); 
     684#else 
    646685  hid_t handle = H5Gcreate( file, path, size ); 
     686#endif 
    647687  if (handle < 0) 
    648688  { 
     
    727767  } 
    728768   
     769#if defined(H5Dcreate_vers) && H5Dcreate_vers > 1 
     770  data_id = H5Dcreate2( file_ptr->hdf_handle, HISTORY_PATH, type_id, space_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT ); 
     771#else 
    729772  data_id = H5Dcreate( file_ptr->hdf_handle, HISTORY_PATH, type_id, space_id, H5P_DEFAULT ); 
     773#endif 
    730774  H5Sclose( space_id ); 
    731775  if (data_id < 0) 
     
    767811   
    768812    /* check if file contains history data */ 
     813#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     814  group_id = H5Gopen2( file_ptr->hdf_handle, ROOT_GROUP, H5P_DEFAULT ); 
     815#else 
    769816  group_id = H5Gopen( file_ptr->hdf_handle, ROOT_GROUP ); 
     817#endif 
    770818  if (group_id < 0) 
    771819  { 
     
    784832  } 
    785833   
     834#if defined(H5Dopen_vers) && H5Dopen_vers > 1   
     835  data_id = H5Dopen2( group_id, HISTORY_NAME, H5P_DEFAULT ); 
     836#else 
    786837  data_id = H5Dopen( group_id, HISTORY_NAME ); 
     838#endif 
    787839  H5Gclose( group_id ); 
    788840  if (data_id < 0) 
  • MOAB/trunk/mhdf/src/sets.c

    r990 r1650  
    3939  if (!mhdf_check_valid_file( file_ptr, status )) 
    4040    return -1; 
    41    
     41 
     42#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     43  root_id = H5Gopen2( file_ptr->hdf_handle, ROOT_GROUP, H5P_DEFAULT ); 
     44#else 
    4245  root_id = H5Gopen( file_ptr->hdf_handle, ROOT_GROUP ); 
     46#endif 
    4347  if (root_id < 0) 
    4448  { 
     
    5458  } 
    5559   
     60#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     61  set_id = H5Gopen2( root_id, SET_GROUP_NAME, H5P_DEFAULT ); 
     62#else 
    5663  set_id = H5Gopen( root_id, SET_GROUP_NAME ); 
     64#endif 
    5765  H5Gclose( root_id ); 
    5866  if (set_id < 0) 
  • MOAB/trunk/mhdf/src/tags.c

    r1588 r1650  
    118118    return -1; 
    119119   
     120#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     121  group_id = H5Gopen2( file_ptr->hdf_handle, TAG_GROUP, H5P_DEFAULT ); 
     122#else 
    120123  group_id = H5Gopen( file_ptr->hdf_handle, TAG_GROUP ); 
     124#endif 
    121125  if (group_id < 0) 
    122126  { 
     
    126130  } 
    127131   
     132#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     133  tag_id = H5Gopen2( group_id, path, H5P_DEFAULT ); 
     134#else 
    128135  tag_id = H5Gopen( group_id, path ); 
     136#endif 
    129137  H5Gclose( group_id ); 
    130138  free( path ); 
     
    146154  hid_t group_id, tag_id, type_id; 
    147155   
     156#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     157  group_id = H5Gopen2( file_ptr->hdf_handle, TAG_GROUP, H5P_DEFAULT ); 
     158#else 
    148159  group_id = H5Gopen( file_ptr->hdf_handle, TAG_GROUP ); 
     160#endif 
    149161  if (group_id < 0) 
    150162  { 
     
    153165  } 
    154166   
     167#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     168  tag_id = H5Gopen2( group_id, tag_path, H5P_DEFAULT ); 
     169#else 
    155170  tag_id = H5Gopen( group_id, tag_path ); 
     171#endif 
    156172  H5Gclose( group_id ); 
    157173  if (tag_id < 0) 
     
    161177  } 
    162178   
     179#if defined(H5Topen_vers) && H5Topen_vers > 1   
     180  type_id = H5Topen2( tag_id, TAG_TYPE_NAME, H5P_DEFAULT ); 
     181#else 
    163182  type_id = H5Topen( tag_id, TAG_TYPE_NAME ); 
     183#endif 
    164184  H5Gclose( tag_id ); 
    165185  if (type_id < 0) 
     
    192212  if (value_size == 1)  
    193213    write_type = type_id; 
    194   else if (H5Tget_class(type_id) == H5T_OPAQUE)  
     214  else if (H5Tget_class(type_id) == H5T_OPAQUE) { 
    195215    write_type = H5Tcreate( H5T_OPAQUE, abs(value_size) ); 
    196   else 
     216  } 
     217  else { 
     218#if defined(H5Tarray_create_vers) && H5Tarray_create_vers > 1   
     219    write_type = H5Tarray_create2( type_id, 1, &value_size ); 
     220#else 
    197221    write_type = H5Tarray_create( type_id, 1, &value_size, 0 ); 
     222#endif 
     223  } 
    198224   
    199225  if (write_type < 0) { 
     
    246272    /* Open the tag group */ 
    247273 
     274#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     275  group_id = H5Gopen2( file_ptr->hdf_handle, TAG_GROUP, H5P_DEFAULT ); 
     276#else 
    248277  group_id = H5Gopen( file_ptr->hdf_handle, TAG_GROUP ); 
     278#endif 
    249279  if (group_id < 0) 
    250280  { 
     
    264294    /* Create group for this tag */ 
    265295 
     296#if defined(H5Gcreate_vers) && H5Gcreate_vers > 1 
     297  tag_id = H5Gcreate2( group_id, path, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT ); 
     298#else 
    266299  tag_id = H5Gcreate( group_id, path, 3 ); 
     300#endif 
    267301  if (tag_id < 0) 
    268302  { 
     
    388422  else if (arr_len > 1) 
    389423  { 
     424#if defined(H5Tarray_create_vers) && H5Tarray_create_vers > 1   
     425    temp_id = H5Tarray_create2( hdf_type, 1, &arr_len); 
     426#else 
    390427    temp_id = H5Tarray_create( hdf_type, 1, &arr_len, NULL ); 
     428#endif 
    391429    H5Tclose( hdf_type ); 
    392430    if (temp_id < 0) 
     
    404442    /* Create tag type object, or write attribute if opaque */ 
    405443  
     444#if defined(H5Tcommit_vers) && H5Tcommit_vers > 1 
     445  rval = H5Tcommit2( tag_id, TAG_TYPE_NAME, hdf_type, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT ); 
     446#else 
    406447  rval = H5Tcommit( tag_id, TAG_TYPE_NAME, hdf_type ); 
     448#endif 
    407449  if (rval < 0) 
    408450  { 
     
    531573    /* Open the tags group */ 
    532574   
     575#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     576  group_id = H5Gopen2( file_ptr->hdf_handle, TAG_GROUP, H5P_DEFAULT ); 
     577#else 
    533578  group_id = H5Gopen( file_ptr->hdf_handle, TAG_GROUP ); 
     579#endif 
    534580  if (group_id < 0) 
    535581  { 
     
    575621    /* Open the tags group */ 
    576622   
     623#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     624  group_id = H5Gopen2( file_ptr->hdf_handle, TAG_GROUP, H5P_DEFAULT ); 
     625#else 
    577626  group_id = H5Gopen( file_ptr->hdf_handle, TAG_GROUP ); 
     627#endif 
    578628  if (group_id < 0) 
    579629  { 
     
    657707      break; 
    658708    case H5T_ARRAY: 
     709#if defined(H5Tget_array_dims_vers) && H5Tget_array_dims_vers > 1 
     710      rank = H5Tget_array_dims2( type_id, dims ); 
     711#else 
    659712      rank = H5Tget_array_dims( type_id, dims, perm ); 
     713#endif 
    660714      if (rank == 1) 
    661715        break; 
     
    824878     
    825879    /* Get tag type */ 
    826   type_id = H5Topen( tag_id, TAG_TYPE_NAME ); 
     880#if defined(H5Topen_vers) && H5Topen_vers > 1   
     881  type_id = H5Topen2( tag_id, TAG_TYPE_NAME, H5P_DEFAULT ); 
     882#else 
     883#endif 
    827884  if (type_id < 0) 
    828885  { 
     
    882939    case H5T_ARRAY: 
    883940       
     941#if defined(H5Tget_array_dims_vers) && H5Tget_array_dims_vers > 1 
     942      rank = H5Tget_array_dims2( type_id, dims ); 
     943#else 
    884944      rank = H5Tget_array_dims( type_id, dims, perm ); 
     945#endif 
    885946      if (rank <= 0) 
    886947      { 
     
    9771038                      const char* attrib_name,  
    9781039                      hid_t type_id, 
    979                       const void* data,  
     1040                      void* data,  
    9801041                      int is_var_len,  
    9811042                      mhdf_Status* status ) 
     
    10101071    if (0 == type_id) 
    10111072      read_type = H5Tcreate( H5T_OPAQUE, len ); 
    1012     else 
     1073    else { 
     1074#if defined(H5Tarray_create_vers) && H5Tarray_create_vers > 1   
     1075      read_type = H5Tarray_create2( type_id, 1, &len ); 
     1076#else 
    10131077      read_type = H5Tarray_create( type_id, 1, &len, 0 ); 
     1078#endif 
     1079    } 
    10141080    if (read_type < 0) 
    10151081    { 
     
    11011167  if (type_handle == mhdf_node_type_handle()) 
    11021168  { 
     1169#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     1170    elem_id = H5Gopen2( file_ptr->hdf_handle, NODE_GROUP, H5P_DEFAULT ); 
     1171#else 
    11031172    elem_id = H5Gopen( file_ptr->hdf_handle, NODE_GROUP ); 
     1173#endif 
    11041174    if (elem_id < 0) 
    11051175      mhdf_setFail( status, "Could not open node group." ); 
     
    11071177  else if (type_handle == mhdf_set_type_handle()) 
    11081178  { 
     1179#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     1180    elem_id = H5Gopen2( file_ptr->hdf_handle, SET_GROUP, H5P_DEFAULT ); 
     1181#else 
    11091182    elem_id = H5Gopen( file_ptr->hdf_handle, SET_GROUP ); 
     1183#endif 
    11101184    if (elem_id < 0) 
    11111185      mhdf_setFail( status, "Could not open set group." ); 
     
    11301204  } 
    11311205   
     1206#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     1207  group_id = H5Gopen2( elem_id, DENSE_TAG_SUBGROUP, H5P_DEFAULT ); 
     1208#else 
    11321209  group_id = H5Gopen( elem_id, DENSE_TAG_SUBGROUP ); 
     1210#endif 
    11331211  H5Gclose( elem_id ); 
    11341212  if (group_id < 0) 
     
    11731251  if (type_handle == mhdf_node_type_handle()) 
    11741252  { 
     1253#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     1254    elem_id = H5Gopen2( file_ptr->hdf_handle, NODE_GROUP, H5P_DEFAULT ); 
     1255#else 
    11751256    elem_id = H5Gopen( file_ptr->hdf_handle, NODE_GROUP ); 
     1257#endif 
    11761258    if (elem_id < 0) 
    11771259      mhdf_setFail( status, "Could not open node group." ); 
     
    11791261  else if (type_handle == mhdf_set_type_handle()) 
    11801262  { 
     1263#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     1264    elem_id = H5Gopen2( file_ptr->hdf_handle, SET_GROUP, H5P_DEFAULT ); 
     1265#else 
    11811266    elem_id = H5Gopen( file_ptr->hdf_handle, SET_GROUP ); 
     1267#endif 
    11821268    if (elem_id < 0) 
    11831269      mhdf_setFail( status, "Could not open set group." ); 
     
    12341320  if (type_handle == mhdf_node_type_handle()) 
    12351321  { 
     1322#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     1323    elem_id = H5Gopen2( file_ptr->hdf_handle, NODE_GROUP, H5P_DEFAULT ); 
     1324#else 
    12361325    elem_id = H5Gopen( file_ptr->hdf_handle, NODE_GROUP ); 
     1326#endif 
    12371327    if (elem_id < 0) 
    12381328      mhdf_setFail( status, "Could not open node group." ); 
     
    12401330  else if (type_handle == mhdf_set_type_handle()) 
    12411331  { 
     1332#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     1333    elem_id = H5Gopen2( file_ptr->hdf_handle, SET_GROUP, H5P_DEFAULT ); 
     1334#else 
    12421335    elem_id = H5Gopen( file_ptr->hdf_handle, SET_GROUP ); 
     1336#endif 
    12431337    if (elem_id < 0) 
    12441338      mhdf_setFail( status, "Could not open set group." ); 
     
    13511445  if (tag_id < 0) return ; 
    13521446   
     1447#if defined(H5Topen_vers) && H5Topen_vers > 1   
     1448  type_id = H5Topen2( tag_id, TAG_TYPE_NAME, H5P_DEFAULT ); 
     1449#else 
    13531450  type_id = H5Topen( tag_id, TAG_TYPE_NAME ); 
     1451#endif 
    13541452  if (type_id < 0) 
    13551453  { 
     
    14001498  if (tag_id < 0) return ; 
    14011499   
     1500#if defined(H5Topen_vers) && H5Topen_vers > 1   
     1501  type_id = H5Topen2( tag_id, TAG_TYPE_NAME, H5P_DEFAULT ); 
     1502#else 
    14021503  type_id = H5Topen( tag_id, TAG_TYPE_NAME ); 
     1504#endif 
    14031505  if (type_id < 0) 
    14041506  { 
  • MOAB/trunk/mhdf/src/util.c

    r537 r1650  
    147147    return -1; 
    148148   
     149#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     150  result = H5Gopen2( file_ptr->hdf_handle, path, H5P_DEFAULT ); 
     151#else 
    149152  result = H5Gopen( file_ptr->hdf_handle, path ); 
     153#endif 
    150154  free( path ); 
    151155  if (result < 0) 
     
    170174  } 
    171175  
     176#if defined(H5Acreate_vers) && H5Acreate_vers > 1 
     177  attr_id = H5Acreate2( object, name, type, dspace_id, H5P_DEFAULT, H5P_DEFAULT ); 
     178#else 
    172179  attr_id = H5Acreate( object, name, type, dspace_id, H5P_DEFAULT ); 
     180#endif 
    173181  H5Sclose( dspace_id ); 
    174182  if (attr_id < 0) 
     
    233241} 
    234242 
     243#if defined(H5Aiterate_vers) && H5Aiterate_vers > 1 
     244static herr_t find_attr_by_name( hid_t handle, const char* name, const H5A_info_t* info, void* mydata ) 
     245#else 
    235246static herr_t find_attr_by_name( hid_t handle, const char* name, void* mydata ) 
     247#endif 
    236248  { return !strcmp( name, (const char*)mydata ); }  
    237249 
     
    242254{ 
    243255  herr_t rval; 
     256#if defined(H5Aiterate_vers) && H5Aiterate_vers > 1 
     257  hsize_t idx = 0; 
     258  rval = H5Aiterate2( object, H5_INDEX_CRT_ORDER, H5_ITER_NATIVE, &idx, &find_attr_by_name, (void*)attrib_name ); 
     259  *index_out = (unsigned int)idx; 
     260#else 
    244261  *index_out = 0; 
    245262  rval = H5Aiterate( object, index_out, &find_attr_by_name, (void*)attrib_name ); 
     263#endif 
    246264  if (rval < 0) 
    247265    mhdf_setFail( status, "Internal error calling H5Aiterate." ); 
     
    511529  } 
    512530   
     531#if defined(H5Dcreate_vers) && H5Dcreate_vers > 1 
     532  table_id = H5Dcreate2( group_id, path, type, space_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT ); 
     533#else 
    513534  table_id = H5Dcreate( group_id, path, type, space_id, H5P_DEFAULT ); 
     535#endif 
    514536  H5Sclose(space_id); 
    515537  if (table_id < 0) 
     
    535557  int rank; 
    536558   
     559#if defined(H5Dopen_vers) && H5Dopen_vers > 1   
     560  table_id = H5Dopen2( group_id, path, H5P_DEFAULT ); 
     561#else 
    537562  table_id = H5Dopen( group_id, path ); 
     563#endif 
    538564  if (table_id < 0) 
    539565  { 
     
    583609  hid_t table_id, space_id; 
    584610   
     611#if defined(H5Dopen_vers) && H5Dopen_vers > 1   
     612  table_id = H5Dopen2( group_id, path, H5P_DEFAULT ); 
     613#else 
    585614  table_id = H5Dopen( group_id, path ); 
     615#endif 
    586616  if (table_id < 0) 
    587617  { 
     
    692722{ 
    693723  hid_t result; 
     724#if defined(H5Topen_vers) && H5Topen_vers > 1   
     725  result = H5Topen2( file_ptr->hdf_handle, TYPE_ENUM_PATH, H5P_DEFAULT ); 
     726#else 
    694727  result = H5Topen( file_ptr->hdf_handle, TYPE_ENUM_PATH ); 
     728#endif 
    695729  if (result < 0) 
    696730    mhdf_setFail( status, "Element type enum does not exist in file.  Invalid file." ); 
     
    704738  herr_t rval; 
    705739   
     740#if defined(H5Gopen_vers) && H5Gopen_vers > 1   
     741  group_id = H5Gopen2( file_ptr->hdf_handle, ROOT_GROUP, H5P_DEFAULT ); 
     742#else 
    706743  group_id = H5Gopen( file_ptr->hdf_handle, ROOT_GROUP ); 
     744#endif 
    707745  if (group_id < 0) 
    708746  { 
     
    715753  { 
    716754    space_id = H5Screate( H5S_SCALAR ); 
     755#if defined(H5Acreate_vers) && H5Acreate_vers > 1 
     756    attr_id = H5Acreate2( group_id,  
     757                          MAX_ID_ATTRIB,  
     758                          H5T_NATIVE_ULONG, 
     759                          space_id,  
     760                          H5P_DEFAULT, 
     761                          H5P_DEFAULT ); 
     762#else 
    717763    attr_id = H5Acreate( group_id,  
    718764                         MAX_ID_ATTRIB,  
     
    720766                         space_id,  
    721767                         H5P_DEFAULT ); 
     768#endif 
    722769    H5Sclose( space_id ); 
    723770  }