]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
removed some gotos
authorJelte Jansen <jeltejan@NLnetLabs.nl>
Mon, 4 Sep 2006 10:19:37 +0000 (10:19 +0000)
committerJelte Jansen <jeltejan@NLnetLabs.nl>
Mon, 4 Sep 2006 10:19:37 +0000 (10:19 +0000)
fixed wireformat definition for TSIG

packet.c
pcat/pcat-diff.c
rr.c

index b354179985936383d5d8898cdd9f787f6e4a16ef..73ceca45a42ecfea3a3aab95972fec896dea98ac 100644 (file)
--- 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;
 }
index cff63ed84286a987b6fb9be840b549d12511bd3a..ca9b283985a24931f08f68e1d5539fdcf80f8325 100644 (file)
@@ -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 bf63860bc95f35d6a4ff421ee0c89fec9b3df604..073b9e4c33e0e45896a83b8d105ab7337a53e33a 100644 (file)
--- 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 */