Hi Marc,

You could use H5Literate with the following iterator:

herr_t findExternalLink(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data)
{
    if (info->type == H5L_TYPE_EXTERNAL && !strcmp(name, (char *)op_data))
   {
        return 1;
   }

    return 0;
}

And you call it with:
int idx = 0;
char * nameToFind = "foo";
err = H5Literate(obj_id, H5_INDEX_NAME, H5_ITER_INC, &idx, findExternalLink, nameToFind);

Regards

Calixte

On 21/09/2012 11:50, Marc Poinot wrote:

Hi all,

I'd link to check a node exists before traversing it.
This node, child of a group G, is an external link.
Here's a tree example output using h5dump:

HDF5 "sqnz_unstruct_2dom_TOP.hdf" {
FILE_CONTENTS {
 group      /
 group      /base1
 dataset    /base1/ data
 group      /base1/dom1
 dataset    /base1/dom1/ file
ext link /base1/dom1/ link -> sqnz_unstruct_2dom_dom1_SUB.hdf /base1/dom1
 dataset    /base1/dom1/ path
 group      /base1/dom2
 dataset    /base1/dom2/ file
ext link /base1/dom2/ link -> sqnz_unstruct_2dom_dom2_SUB.hdf /base1/dom2
 dataset    /base1/dom2/ path
  }
}

I just want to test that ' link' is there, I *don't* want the lib to traverse it.

Using H5Oget_info, I cannot check if it's an external link.
Using H5Lexists, I cannot stop the traversal to the actual linked-to node,
which fail if link prefix property is not set.

We used to do that with H5Gget_objinfo which is said to be obsolete...

Any idea ?

-MP-
-----------------------------------------------------------------------
 Marc POINOT [ONERA/DSNA] Tel:+33.1.46.73.42.84  Fax:+33.1.46.73.41.66
 Avertissement/disclaimer http://www.onera.fr/onera-en/emails-terms


_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org


--
Calixte Denizet
Software Development Engineer
-----------------------------------------------------------
Scilab Enterprises
143bis rue Yves Le Coz - 78000 Versailles, France
http://www.scilab-enterprises.com

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Reply via email to