Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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);
  }