questions about H5DSiterate_scales

NOTE: The netcdf-hdf mailing list is no longer active. The list archives are made available for historical reasons.

Howdy all!

For the iterator through the dimension scales, the docs have this to
say:

    typedef herr_t (*H5DS_iterate_t)(hid_t did, unsigned dim, hid_t
    dsid, void *visitor_data); 

"The operation receives the Dimension Scale dataset identifier, dsid,
and the pointer to the operator data passed in to H5DDiterate_scales,
visitor_data."

What does parameter did hold?

Also, when I try to use dsid to get the name of the dataset, I get
garbage:

herr_t alien_visitor(hid_t did, unsigned dim, hid_t dsid, 
                     void *visitor_data)
{
   char name1[NC_MAX_NAME], name2[NC_MAX_NAME];

   (*(hid_t *)visitor_data) = dsid;
   if (H5Iget_name(did, name1, NC_MAX_NAME) < 0) ERR;
   if (H5Iget_name(dsid, name2, NC_MAX_NAME) < 0) ERR;
   /*printf("visiting did 0x%x dim %d dsid 0x%x name of did %s name of dsid 
%s\n", 
     did, dim, dsid, name1, name2);*/
   printf("visiting did 0x%x dim %d dsid 0x%x name of did %s \n", 
          did, dim, dsid, name1);
   printf("name of dsid: %s\n", name2);
   return 0;
}

Called like this:

               /* Go through all dimscales for this var and learn about them. */
               for (d = 0; d < ndims; d++)
                  if (H5DSiterate_scales(datasetid, d, NULL, alien_visitor,
                                         &visitor_data) < 0) ERR;

Yields this:

visiting did 0x600000b dim 0 dsid 0x600000c name of did /simple_scales/var1 
:ú·(ùÔòÿ¿Àóÿ¿


Does dsid not have a valid name? Or am I missing something?

While in the visitor function, I need to know what dimscale I am
visiting.

Thanks!

Ed
-- 
Ed Hartnett  -- ed@xxxxxxxxxxxxxxxx



  • 2005 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdf-hdf archives: