another small fix
authoraidan
Tue, 10 Jan 2012 13:49:58 +0000
changeset 68 17b33ba237f2
parent 67 cfe2328ba1c6
child 69 cfd4a4e36ea2
another small fix
apps/dtnquery/dtnquery.c
servlib/bundling/BPQBlock.cc
--- a/apps/dtnquery/dtnquery.c	Tue Jan 10 12:57:26 2012 +0000
+++ b/apps/dtnquery/dtnquery.c	Tue Jan 10 13:49:58 2012 +0000
@@ -374,7 +374,7 @@
     }
 
     // if no reply-to eid set, use the src eid
-    if (*reply_eid_name == NULL)
+    if (*reply_eid_name == 0)
         strncpy(reply_eid_name, src_eid_name, PATH_MAX);
     
     return DTN_SUCCESS;
@@ -806,7 +806,7 @@
     // Source EID length     SDNV
     if ( (q_decoding_len = sdnv_decode (&(buf[i]),
     									buf_len - i,
-    									&(bpq->original_id.source_len))) == -1 ) {
+    									(u_int64_t*)&(bpq->original_id.source_len))) == -1 ) {
         fprintf (stderr, "Error decoding source EID length\n");
         return -1;
     }
@@ -814,7 +814,7 @@
 
     // Source EID            n-bytes
     if (i<buf_len && bpq->original_id.source_len <= DTN_MAX_ENDPOINT_ID) {
-    	strncpy(bpq->original_id.source.uri, &(buf[i]), bpq->original_id.source_len);
+    	strncpy(bpq->original_id.source.uri, (char*)&(buf[i]), bpq->original_id.source_len);
     	i += bpq->original_id.source_len;
     } else {
     	fprintf (stderr, "Error copying source EID\n");
@@ -824,21 +824,21 @@
     // BPQ-value-length     SDNV
     if ( (q_decoding_len = sdnv_decode (&(buf[i]),
     									buf_len - i,
-    									&(bpq->query.query_len))) == -1 ) {
+    									(u_int64_t*)&(bpq->query.query_len))) == -1 ) {
         fprintf (stderr, "Error decoding BPQ-value-length\n");
         return -1;
     }
     i += q_decoding_len;
 
     // BPQ-value            n-bytes
-    if (i<buf_len) bpq->query.query_val = &(buf[i]);
+    if (i<buf_len) bpq->query.query_val = (char*)&(buf[i]);
     	i += bpq->query.query_len;
 
 
     // number of fragments  SDNV
     if ( (f_decoding_len = sdnv_decode (&(buf[i]),
     									buf_len - i,
-    									&(bpq->fragments.num_frag_returned))) == -1 ) {
+    									(u_int64_t*)&(bpq->fragments.num_frag_returned))) == -1 ) {
         fprintf (stderr, "Error decoding number of fragments\n");
         return -1;
     }
@@ -849,7 +849,7 @@
         // fragment offsets     SDNV
         if ( (decoding_len = sdnv_decode (&(buf[i]),
         								  buf_len - i,
-        								  &(bpq->fragments.frag_offsets[j]))) == -1 ) {
+        								  (u_int64_t*)&(bpq->fragments.frag_offsets[j]))) == -1 ) {
             fprintf (stderr, "Error decoding fragment[%d] offset\n", j);
             return -1;
         }
@@ -858,7 +858,7 @@
         // fragment lengths     SDNV
         if ( (decoding_len = sdnv_decode (&(buf[i]),
         								  buf_len - i,
-        								  &(bpq->fragments.frag_lenghts[j]))) == -1 ) {
+        								  (u_int64_t*)&(bpq->fragments.frag_lenghts[j]))) == -1 ) {
             fprintf (stderr, "Error decoding fragment[%d] length\n", j);
             return -1;
         }
@@ -880,7 +880,7 @@
         fprintf (stdout, "   source eid len: %d\n",
         		 (int) bpq->original_id.source_len);
         fprintf (stdout, "       source eid: %s\n",
-        		 (int) bpq->original_id.source.uri);
+        		 bpq->original_id.source.uri);
 
         fprintf (stdout, "        query len: %d\n", bpq->query.query_len);
         fprintf (stdout, "   q_decoding_len: %d\n", q_decoding_len);
@@ -930,6 +930,12 @@
     // set the bpq block data
     bpq_block_data.kind = BPQ_BLOCK_KIND_QUERY;
     bpq_block_data.matching_rule = matching_rule;
+
+    bpq_block_data.original_id.creation_ts.secs = 0;
+    bpq_block_data.original_id.creation_ts.seqno = 0;
+    bpq_block_data.original_id.source = *src_eid;
+    bpq_block_data.original_id.source_len = strlen(src_eid->uri);
+
     bpq_block_data.query.query_len = strlen(query) + 1;     // include the null char at the end
     bpq_block_data.query.query_val = query; 
     bpq_block_data.fragments.num_frag_returned = 0;
--- a/servlib/bundling/BPQBlock.cc	Tue Jan 10 12:57:26 2012 +0000
+++ b/servlib/bundling/BPQBlock.cc	Tue Jan 10 13:49:58 2012 +0000
@@ -40,7 +40,7 @@
         log_debug("BPQBlock found in Recv Block Vec => created remotely");
         initialise( const_cast<BlockInfo*> (bundle->recv_blocks().
                     find_block(BundleProtocol::QUERY_EXTENSION_BLOCK)),
-        			true, bundle);
+        			false, bundle);
 
     } else if( const_cast<Bundle*>(bundle)->api_blocks()->
                has_block(BundleProtocol::QUERY_EXTENSION_BLOCK) ) {
@@ -321,7 +321,7 @@
 BPQBlock::extract_matching_rule (const u_char* buf, u_int* buf_index, u_int buf_length)
 {
 	if ( *buf_index < buf_length ) {
-	    matching_rule_ = (kind_t) buf[(*buf_index)++];
+	    matching_rule_ = (u_int) buf[(*buf_index)++];
 	    log_debug("BPQBlock::extract_matching_rule: matching rule = %d", matching_rule_);
 	    return BP_SUCCESS;