From: Jelte Jansen Date: Mon, 4 Sep 2006 10:19:37 +0000 (+0000) Subject: removed some gotos X-Git-Tag: release-1.2.0~157 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e794f42eae19188097134cf59bf4a85cb1dd81d5;p=thirdparty%2Fldns.git removed some gotos fixed wireformat definition for TSIG --- diff --git a/packet.c b/packet.c index b3541799..73ceca45 100644 --- a/packet.c +++ b/packet.c @@ -751,7 +751,7 @@ ldns_pkt_new() ldns_pkt_set_edns_z(packet, 0); ldns_pkt_set_edns_data(packet, NULL); - packet->_tsig_rr = NULL; + ldns_pkt_set_tsig(packet, NULL); return packet; } diff --git a/pcat/pcat-diff.c b/pcat/pcat-diff.c index cff63ed8..ca9b2839 100644 --- a/pcat/pcat-diff.c +++ b/pcat/pcat-diff.c @@ -1020,6 +1020,7 @@ compare_to_file(ldns_pkt *qp, ldns_pkt *pkt1, ldns_pkt *pkt2) LDNS_FREE(pkt_str1); LDNS_FREE(pkt_str2); + LDNS_FREE(pkt_query); if (verbosity > 0) { printf("<<<<<<< NO MATCH >>>>>>>>\n"); @@ -1126,7 +1127,7 @@ compare(struct dns_info *d1, struct dns_info *d2) fprintf(known_differences[file_nr].file, "q: %d:%d\n%s\n%s\n%s\n", (int)d1->seq, (int)d2->seq, d1->qdata, d1->adata, d2->adata); } - + free(compare_result); diff = false; } else { @@ -1209,7 +1210,6 @@ read_match_files(char *directory) if (verbosity > 1) { printf("File: %s\n", cur_file_name); } - description = LDNS_XMALLOC(char, MAX_DESCR_LEN); query_match = LDNS_XMALLOC(char, LDNS_MAX_PACKETLEN); answer_match = LDNS_XMALLOC(char, LDNS_MAX_PACKETLEN); @@ -1364,63 +1364,64 @@ main(int argc, char **argv) i = 1; -reread: - line_nr = i; - read1 = getdelim(&line1, &len1, '\n', trace1); - read2 = getdelim(&line2, &len2, '\n', trace2); - if (read1 == -1 || read2 == -1) { - fclose(trace1); fclose(trace2); - print_known_differences(stdout); - exit(EXIT_SUCCESS); - } - if (read1 > 0) - line1[read1 - 1] = '\0'; - if (read2 > 0) - line2[read2 - 1] = '\0'; - - if (total_nr_of_packets >= min_number) { - switch(i % LINES) { - case SEQUENCE: - d1.seq = atoi(line1); - d2.seq = atoi(line2); - break; - case QDATA: - d1.qdata = strdup(line1); - d2.qdata = strdup(line2); + while (max_number == 0 || total_nr_of_packets < max_number) { + line_nr = i; + read1 = getdelim(&line1, &len1, '\n', trace1); + read2 = getdelim(&line2, &len2, '\n', trace2); + if (read1 == -1 || read2 == -1) { + print_known_differences(stdout); break; - case ADATA: - d1.adata = strdup(line1); - d2.adata = strdup(line2); - break; - case EMPTY: - if (show_prelim_results > 0 && total_nr_of_packets % show_prelim_results == 0) { - print_known_differences(stderr); - fprintf(stderr, "\n"); + } + if (read1 > 0) + line1[read1 - 1] = '\0'; + if (read2 > 0) + line2[read2 - 1] = '\0'; + + if (total_nr_of_packets >= min_number) { + switch(i % LINES) { + case SEQUENCE: + d1.seq = atoi(line1); + d2.seq = atoi(line2); + break; + case QDATA: + d1.qdata = strdup(line1); + d2.qdata = strdup(line2); + break; + case ADATA: + d1.adata = strdup(line1); + d2.adata = strdup(line2); + break; + case EMPTY: + if (show_prelim_results > 0 && total_nr_of_packets % show_prelim_results == 0) { + print_known_differences(stderr); + fprintf(stderr, "\n"); + } + total_nr_of_packets++; + /* we now should have */ + compare(&d1, &d2); + free(d1.adata); + free(d2.adata); + free(d1.qdata); + free(d2.qdata); + break; + } + } else { + if (i % LINES == EMPTY) { + total_nr_of_packets++; } - total_nr_of_packets++; - /* we now should have */ - compare(&d1, &d2); - free(d1.adata); - free(d2.adata); - free(d1.qdata); - free(d2.qdata); - break; - } - } else { - if (i % LINES == EMPTY) { - total_nr_of_packets++; } - } - if (max_number == 0 || total_nr_of_packets < max_number) { i++; - goto reread; } + free_match_files(); free(line1); free(line2); fclose(trace1); fclose(trace2); print_known_differences(stdout); + for (i = 0; i < known_differences_size; i++) { + LDNS_FREE(known_differences[i].descr); + } if (store_known_differences) { for (i = 0; i < known_differences_size; i++) { fclose(known_differences[i].file); diff --git a/rr.c b/rr.c index bf63860b..073b9e4c 100644 --- a/rr.c +++ b/rr.c @@ -1525,8 +1525,10 @@ static const ldns_rdf_type type_dnskey_wireformat[] = { static const ldns_rdf_type type_tsig_wireformat[] = { LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_TSIGTIME, + LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_INT16_DATA, LDNS_RDF_TYPE_INT16, + LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_INT16_DATA }; /** \endcond */