}
void
-rd_field_set_data(t_rdata_field *rd, uint8_t *d, uint16_t s)
+rd_field_set_data(t_rdata_field *rd, uint8_t *d)
{
- XMALLOC(rd->_data, uint8_t, s);
- memcpy(rd->_data, d, s);
+ /* only copy the pointer */
+ rd->_data = d;
}
/**
rd_field_set_size(rd, s);
rd_field_set_type(rd, t);
- rd_field_set_data(rd, d, s);
+ rd_field_set_data(rd, d);
return(rd);
}
* Allocate a new t_rdata_field from
* a NULL terminated string
* and return it
- *
- * uint8_t == char? XXX
*/
t_rdata_field *
rd_field_new_frm_string(t_rd_type t, char *s)
{
- t_rdata_field *new;
- MALLOC(new, t_rdata_field);
-
- if (!new)
- return NULL;
-
- rd_field_set_size(new, (uint16_t)strlen(s));
- rd_field_set_type(new, t);
- rd_field_set_data(new, (uint8_t*) s, (uint16_t)strlen(s));
-
- return(new);
+ return NULL;
}
void rd_field_destroy(t_rdata_field *rd)
*/
struct type_struct_rdata_field_descriptor
{
- uint16_t type; /* RR type */
- const char *name; /* Textual name. */
- uint8_t minimum; /* Minimum number of RDATA FIELDs. */
- uint8_t maximum; /* Maximum number of RDATA FIELDs. */
- uint8_t wireformat[MAXRDATALEN]; /* rdata_wireformat_type */
+ uint16_t _type; /* RR type */
+ const char *_name; /* Textual name. */
+ uint8_t _minimum; /* Minimum number of RDATA FIELDs. */
+ uint8_t _maximum; /* Maximum number of RDATA FIELDs. */
+ uint8_t _wireformat[MAXRDATALEN]; /* rdata_wireformat_type */
};
typedef struct type_struct_rdata_field_descriptor t_rdata_field_descriptor;
uint16_t rd_field_size(t_rdata_field *);
void rd_field_set_size(t_rdata_field *, uint16_t);
void rd_field_set_type(t_rdata_field *, t_rd_type);
-void rd_field_set_data(t_rdata_field *, uint8_t *, uint16_t);
+void rd_field_set_data(t_rdata_field *, uint8_t *);
t_rd_type rd_field_type(t_rdata_field *);
t_rdata_field *rd_field_new(uint16_t, t_rd_type, uint8_t *);
uint8_t *rd_field_data(t_rdata_field *);
return NULL;
rr_set_rd_count(rr, 0);
- rr->rdata_fields = NULL; /* XXX */
+ rr->_rdata_fields = NULL; /* XXX */
return(rr);
}
rd_count = rr_rd_count(rr);
/* grow the array */
- XREALLOC(rr->rdata_fields, t_rdata_field *, rd_count + 1);
+ XREALLOC(rr->_rdata_fields, t_rdata_field *, rd_count + 1);
/* add the new member */
- rr->rdata_fields[rd_count] = f;
+ rr->_rdata_fields[rd_count] = f;
rr_set_rd_count(rr, rd_count + 1);
}
t_class _klass;
/* everything in the rdata is in network order */
/** \brief The list of rdata's */
- t_rdata_field **rdata_fields;
+ t_rdata_field **_rdata_fields;
};
typedef struct type_struct_rr t_rr;
for(i = 0; i < count; i++) {
printf("print rd %u\n", i);
- xprintf_rd_field(rr->rdata_fields[i]);
+ xprintf_rd_field(rr->_rdata_fields[i]);
}
}