-/* Copyright 2011 PADL Software Pty Ltd. All rights reserved.
- See the file COPYING for licensing information. */
+/* Copyright 2011 JANET(UK). All rights reserved.
+ See LICENSE for licensing information. */
#if defined HAVE_CONFIG_H
#include <config.h>
size_t
rs_avp_length (rs_const_avp *vp)
{
- assert (vp != NULL);
+ if (vp == NULL)
+ return 0;
+
return vp->length;
}
rs_attr_type_t
rs_avp_typeof (rs_const_avp *vp)
{
- return vp ? vp->da->type : RS_TYPE_INVALID;
+ if (vp == NULL)
+ return RS_TYPE_INVALID;
+
+ return vp->da->type;
}
void
unsigned int *attr,
unsigned int *vendor)
{
+ assert (vp != NULL);
+
*attr = vp->da->attr;
*vendor = vp->da->vendor;
}
const char *
rs_avp_name (rs_const_avp *vp)
{
- return vp ? vp->da->name : NULL;
+ return (vp != NULL) ? vp->da->name : NULL;
}
void
{
rs_avp *vp2;
- vp2 = nr_vp_alloc (vp->da);
+ if (vp->da->flags.unknown)
+ vp2 = nr_vp_alloc_raw (vp->da->attr, vp->da->vendor);
+ else
+ vp2 = nr_vp_alloc (vp->da);
if (vp2 == NULL)
return NULL;
}
rs_avp *
-rs_avp_next (rs_avp *avp)
+rs_avp_next (rs_avp *vp)
{
- return avp ? avp->next : NULL;
+ return (vp != NULL) ? vp->next : NULL;
}
rs_const_avp *
-rs_avp_next_const (rs_const_avp *avp)
+rs_avp_next_const (rs_const_avp *vp)
{
- return avp ? avp->next : NULL;
+ return (vp != NULL) ? vp->next : NULL;
}
int