1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
 void *
 ss_blob_bound_m(ss_blob_t *blob,                /* Blob to query. */
                 hid_t *mtype,                   /* OUT: Optional pointer for memory datatype, duplicated from that stored in
                                                  * the blob. */
                 hid_t *mspace                   /* OUT: Optional pointer for memory dataspace (extent and selection),
                                                  * duplicated from that stored in the blob. */
                 )
 {
     SS_ENTER(ss_blob_bound_m, voidP);
     void        *retval=NULL;
     hid_t       type=-1;

     SS_ASSERT_MEM(blob, ss_blob_t);

     if (NULL==(retval=SS_BLOB(blob)->m.mem)) SS_ERROR_FMT(USAGE, ("blob is not bound to memory"));
     if (mtype && (*mtype = type = H5Tcopy(SS_BLOB(blob)->m.mtype))<0) SS_ERROR(HDF5);
     if (mspace && (*mspace = H5Scopy(SS_BLOB(blob)->m.mspace))<0) SS_ERROR(HDF5);

  SS_CLEANUP:
     if (type>0) H5Tclose(type);
     SS_LEAVE(retval);
 }