commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r4990 - gnuradio/branches/developers/jcorgan/hier2/gnu


From: jcorgan
Subject: [Commit-gnuradio] r4990 - gnuradio/branches/developers/jcorgan/hier2/gnuradio-core/src/lib/runtime
Date: Fri, 13 Apr 2007 13:01:17 -0600 (MDT)

Author: jcorgan
Date: 2007-04-13 13:01:17 -0600 (Fri, 13 Apr 2007)
New Revision: 4990

Modified:
   
gnuradio/branches/developers/jcorgan/hier2/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
Log:
Work in progress, fixed segfault.

Modified: 
gnuradio/branches/developers/jcorgan/hier2/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
===================================================================
--- 
gnuradio/branches/developers/jcorgan/hier2/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
   2007-04-13 18:59:35 UTC (rev 4989)
+++ 
gnuradio/branches/developers/jcorgan/hier2/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
   2007-04-13 19:01:17 UTC (rev 4990)
@@ -29,7 +29,7 @@
 #include <stdexcept>
 #include <iostream>
 
-#define GR_HIER_BLOCK2_DETAIL_DEBUG 1
+#define GR_HIER_BLOCK2_DETAIL_DEBUG 0
 
 gr_hier_block2_detail::gr_hier_block2_detail(gr_hier_block2 *owner) :
   d_owner(owner), 
@@ -42,7 +42,6 @@
   d_owner = 0; // Don't use delete, we didn't allocate
 }
 
-
 void 
 gr_hier_block2_detail::connect(gr_basic_block_sptr src, int src_port, 
                                gr_basic_block_sptr dst, int dst_port)
@@ -62,16 +61,14 @@
 gr_endpoint
 gr_hier_block2_detail::match_endpoint(const gr_endpoint &endp, bool is_input)
 {
-  gr_basic_block_sptr self(d_owner);
-
   for (gr_edge_viter_t p = d_fg->d_detail->d_edges.begin(); p != 
d_fg->d_detail->d_edges.end(); p++) {
     if (is_input) {
-      if ((*p)->src().block() == self && 
+      if ((*p)->src().block().get() == (gr_hier_block2 *)d_owner && 
          (*p)->src().port() == endp.port())
        return resolve_endpoint((*p)->dst(), !is_input);
     }
     else {
-      if ((*p)->dst().block() == self && 
+      if ((*p)->dst().block().get() == (gr_hier_block2 *)d_owner && 
          (*p)->dst().port() == endp.port())
        return resolve_endpoint((*p)->src(), !is_input);
     }
@@ -100,16 +97,14 @@
 void
 gr_hier_block2_detail::flatten(gr_simple_flowgraph_sptr sfg)
 {
-  gr_basic_block_sptr self(d_owner);
-
   // Add my edges to the flow graph, resolving references to actual endpoints
   for (gr_edge_viter_t p = d_fg->d_detail->d_edges.begin(); p != 
d_fg->d_detail->d_edges.end(); p++) {
     // Connections to self get resolved/added by parent if actually connected
-    if ((*p)->src().block() == self || 
-       (*p)->dst().block() == self)
+    if ((*p)->src().block().get() == (gr_hier_block2 *)d_owner || 
+       (*p)->dst().block().get() == (gr_hier_block2 *)d_owner)
       continue;
 
-    // TODO: Silently ignore connections to "NC"
+    // TODO: Silently ignore connections to "NC" (not implemented yed)
 
     gr_endpoint src_endp = resolve_endpoint((*p)->src(), true);
     gr_endpoint dst_endp = resolve_endpoint((*p)->dst(), false);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]