Skip to content
Snippets Groups Projects
Commit b34549b4 authored by Jan Kadlec's avatar Jan Kadlec
Browse files

Fixed multiple TXTs. Small fix in text zone dump.

parent 8d7b1b28
No related branches found
No related tags found
No related merge requests found
......@@ -274,7 +274,8 @@ char *rdata_dns_name_to_string(knot_rdata_item_t item)
char *rdata_text_to_string(knot_rdata_item_t item)
{
const uint8_t *data = (const uint8_t *) item.raw_data + 1;
/*!< \todo this will only convert one TXT! */
const uint8_t *data = (uint8_t *)(item.raw_data + 1);
uint8_t length = data[0];
size_t i;
......@@ -287,13 +288,13 @@ char *rdata_text_to_string(knot_rdata_item_t item)
size_t current_length = sizeof(char) * (length + 3);
strcat(ret, "\\");
strcat(ret, "\"");
for (i = 1; i <= length; i++) {
char ch = (char) data[i];
if (isprint((int)ch)) {
if (ch == '"' || ch == '\\') {
strcat(ret, "\\");
strcat(ret, "\"");
}
/* XXX for the love of god, how to this better,
but w/o obscure self-made functions */
......@@ -306,7 +307,7 @@ char *rdata_text_to_string(knot_rdata_item_t item)
strcat(ret, "\\");
char tmp_str[2];
/* TODO convert to unsigned*/
tmp_str[0] = ch;
tmp_str[0] = ch - '0';
tmp_str[1] = 0;
current_length += sizeof(char);
......
......@@ -1377,7 +1377,7 @@ void zadd_rdata_txt_wireformat(uint16_t *data, int first)
parser->rdata_count++;
rd->raw_data[0] = 0;
} else {
assert(0);
// assert(0);
rd = &parser->temporary_items[parser->rdata_count-1];
}
......
......@@ -474,7 +474,7 @@ str_seq: STR
}
| str_seq sp STR
{
// zadd_rdata_txt_wireformat(zparser_conv_text($3.str, $3.len), 0);
zadd_rdata_txt_wireformat(zparser_conv_text($3.str, $3.len), 0);
// zc_warning("multiple TXT entries are currently not supported!");
free($3.str);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment