1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
 herr_t
 ss_attr_put(ss_attr_t *attr,                    /* The attribute in question. */
             hid_t type,                         /* The datatype of VALUE. */
             size_t offset,                      /* The element number at which to put VALUE. */
             size_t nelmts,                      /* The number of elements in VALUE. */
             const void *value,                  /* The value to be written to the attribute. */
             unsigned flags                      /* Flags such as SS_ALLSAME. */
             )
 {
     SS_ENTER(ss_attr_put, herr_t);
     SS_ASSERT_MEM(attr, ss_attr_t);

     if (ss_pers_modified((ss_pers_t*)attr, flags)<0) SS_ERROR(FAILED);
     if (ss_array_put(SS_ATTR_P(attr,value), type, offset, nelmts, value)<0) SS_ERROR(FAILED);

 SS_CLEANUP:
     SS_LEAVE(0);
 }