int encode_size(attribute *attr, pbs_list_head *phead, char *atname, char *rsname, int mode, svrattrl **rtnl) { size_t ct; char cvnbuf[CVNBUFSZ]; svrattrl *pal; void from_size(struct size_value *, char *); if (!attr) return (-1); if (!(attr->at_flags & ATR_VFLAG_SET)) return (0); from_size(&attr->at_val.at_size, cvnbuf); ct = strlen(cvnbuf) + 1; pal = attrlist_create(atname, rsname, ct); if (pal == (svrattrl *)0) return (-1); (void)memcpy(pal->al_value, cvnbuf, ct); pal->al_flags = attr->at_flags; if (phead) append_link(phead, &pal->al_link, pal); if (rtnl) *rtnl = pal; return (1); }
int encode_size( attribute *attr, /* ptr to attribute */ tlist_head *phead, /* head of attrlist list */ char *atname, /* attribute name */ char *rsname, /* resource name (optional) */ int mode) /* encode mode (not used) */ { size_t ct; char cvnbuf[CVNBUFSZ]; svrattrl *pal; if (attr == NULL) { /* FAILURE */ return(-1); } if (!(attr->at_flags & ATR_VFLAG_SET)) { return(0); } from_size(&attr->at_val.at_size, cvnbuf); ct = strlen(cvnbuf) + 1; pal = attrlist_create(atname, rsname, ct); if (pal == NULL) { /* FAILURE */ return(-1); } memcpy(pal->al_value, cvnbuf, ct); pal->al_flags = attr->at_flags; append_link(phead, &pal->al_link, pal); /* SUCCESS */ return(1); }