#if 0
-/**
- * convert a hex value to wireformat
- */
-ldns_status
-zparser_str2rdf_hex(ldns_rdf *rd, const char *hex)
-{
- uint16_t *rd = NULL;
- uint8_t *t;
- size_t len;
- int i;
-
- len = strlen(hex);
- if (len % 2 != 0) {
- return NULL;
- // error_prev_line("number of hex digits must be a multiple of 2");
- } else if (len > MAX_RDLENGTH * 2) {
- //error_prev_line("hex data exceeds maximum rdata length (%d)", MAX_RDLENGTH);
- return NULL
- } else {
- /* the length part */
- r = (uint16_t *) XMALLOC(uint16, len/2);
- *r = len/2;
- t = (uint8_t *)(r + 1);
-
- /* Now process octet by octet... */
- while (*hex) {
- *t = 0;
- for (i = 16; i >= 1; i -= 15) {
- switch (*hex) {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- *t += (*hex - '0') * i;
- break;
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- *t += (*hex - 'a' + 10) * i;
- break;
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- *t += (*hex - 'A' + 10) * i;
- break;
- default:
- //error_prev_line("illegal hex character '%c'", (int)*hex);
- return NULL;
- }
- ++hex;
- }
- ++t;
- }
- }
- return r;
-}
-
-
uint16_t *
zparser_conv_protocol(region_type *region, const char *protostr)
{
return r;
}
-uint16_t *
-zparser_conv_a(region_type *region, const char *a)
-{
- /* convert a A rdata to wire format */
- in_addr_t pin;
- uint16_t *r = NULL;
-
- r = (uint16_t *) region_alloc(region,
- sizeof(uint16_t) + sizeof(in_addr_t));
- if(inet_pton(AF_INET, a, &pin) > 0) {
- memcpy(r + 1, &pin, sizeof(in_addr_t));
- *r = sizeof(in_addr_t);
- } else {
- error_prev_line("Invalid ip address");
- }
- return r;
-}
-
-/*
- * XXX: add length parameter to handle null bytes, remove strlen
- * check.
- */
-uint16_t *
-zparser_conv_text(region_type *region, const char *txt, size_t len)
-{
- /* convert text to wireformat */
- uint16_t *r = NULL;
-
- if(len > 255) {
- error_prev_line("Text string is longer than 255 charaters, try splitting in two");
- } else {
-
- /* Allocate required space... */
- r = (uint16_t *) region_alloc(region,
- sizeof(uint16_t) + len + 1);
-
- *((char *)(r+1)) = len;
- memcpy(((char *)(r+1)) + 1, txt, len);
-
- *r = len + 1;
- }
- return r;
-}
-
-uint16_t *
-zparser_conv_a6(region_type *region, const char *a6)
-{
- /* convert ip v6 address to wireformat */
- char pin[LDNS_IP6ADDRLEN];
- uint16_t *r = NULL;
-
- r = (uint16_t *) region_alloc(region, sizeof(uint16_t) + LDNS_IP6ADDRLEN);
-
- /* Try to convert it */
- if (inet_pton(AF_INET6, a6, pin) != 1) {
- error_prev_line("invalid IPv6 address");
- } else {
- *r = LDNS_IP6ADDRLEN;
- memcpy(r + 1, pin, LDNS_IP6ADDRLEN);
- }
- return r;
-}
-
-uint16_t *
-zparser_conv_b64(region_type *region, const char *b64)
-{
- uint8_t buffer[B64BUFSIZE];
- /* convert b64 encoded stuff to wireformat */
- uint16_t *r = NULL;
- int i;
-
- /* Try to convert it */
- if((i = b64_pton(b64, buffer, B64BUFSIZE)) == -1) {
- error_prev_line("Base64 encoding failed");
- } else {
- r = (uint16_t *) region_alloc(region, i + sizeof(uint16_t));
- *r = i;
- memcpy(r + 1, buffer, i);
- }
- return r;
-}
-
uint16_t *
zparser_conv_rrtype(region_type *region, const char *rr)
{