--- /dev/null
+--- graphviz-1.10/dynagraph/common/traversal.h.orig 2002-12-19 23:30:25.000000000 +0100
++++ graphviz-1.10/dynagraph/common/traversal.h 2004-02-23 10:33:01.743594216 +0100
+@@ -78,10 +78,10 @@
+ }
+ DFS &operator++() {
+ if(m_curr.e)
+- gd<Hit>(m_curr.e)[m_hitpos] = true;
++ gd<Hit>(m_curr.e)[this->m_hitpos] = true;
+ else {
+ assert(m_curr.n);
+- gd<Hit>(m_curr.n)[m_hitpos] = true;
++ gd<Hit>(m_curr.n)[this->m_hitpos] = true;
+ }
+ // try edges
+ if(m_curr.n && follow())
+@@ -143,10 +143,10 @@
+ }
+ bool outs(typename G::outedge_iter start) {
+ for(typename G::outedge_iter ei = start; ei!=m_curr.n->outs().end(); ++ei)
+- if(!gd<Hit>(*ei)[m_hitpos]) {
++ if(!gd<Hit>(*ei)[this->m_hitpos]) {
+ m_stack.push(m_curr);
+ m_curr.e = *ei;
+- if(!gd<Hit>(m_curr.e->head)[m_hitpos])
++ if(!gd<Hit>(m_curr.e->head)[this->m_hitpos])
+ m_curr.n = m_curr.e->head;
+ else
+ m_curr.n = 0;
+@@ -156,10 +156,10 @@
+ }
+ bool ins(typename G::inedge_iter start) {
+ for(typename G::inedge_iter ei = start; ei!=m_curr.n->ins().end(); ++ei)
+- if(!gd<Hit>(*ei)[m_hitpos]) {
++ if(!gd<Hit>(*ei)[this->m_hitpos]) {
+ m_stack.push(m_curr);
+ m_curr.e = *ei;
+- if(!gd<Hit>(m_curr.e->tail)[m_hitpos])
++ if(!gd<Hit>(m_curr.e->tail)[this->m_hitpos])
+ m_curr.n = m_curr.e->tail;
+ else
+ m_curr.n = 0;
+@@ -180,8 +180,8 @@
+ return true;
+ }
+ bool next() {
+- for(;m_nodeiter!=m_g->parent->nodes().end();++m_nodeiter)
+- if(!gd<Hit>(*m_nodeiter)[m_hitpos]) {
++ for(;m_nodeiter!=this->m_g->parent->nodes().end();++m_nodeiter)
++ if(!gd<Hit>(*m_nodeiter)[this->m_hitpos]) {
+ m_curr.e = 0;
+ m_curr.n = *m_nodeiter;
+ m_nodeiter++;
+@@ -205,31 +205,31 @@
+ if(last.n) {
+ if(m_inwards)
+ for(typename G::inedge_iter ei = last.n->ins().begin(); ei!=last.n->ins().end(); ++ei)
+- if(!gd<Hit>(*ei)[m_hitpos]) {
++ if(!gd<Hit>(*ei)[this->m_hitpos]) {
+ Node *t = (*ei)->tail;
+- if(gd<Hit>(t)[m_hitpos])
++ if(gd<Hit>(t)[this->m_hitpos])
+ t = 0;
+ else
+- gd<Hit>(t)[m_hitpos] = true;
++ gd<Hit>(t)[this->m_hitpos] = true;
+ m_queue.push(V(*ei,t));
+- gd<Hit>(*ei)[m_hitpos] = true;
++ gd<Hit>(*ei)[this->m_hitpos] = true;
+ }
+ if(m_outwards)
+ for(typename G::outedge_iter ei = last.n->outs().begin(); ei!=last.n->outs().end(); ++ei)
+- if(!gd<Hit>(*ei)[m_hitpos]) {
++ if(!gd<Hit>(*ei)[this->m_hitpos]) {
+ Node *h = (*ei)->head;
+- if(gd<Hit>(h)[m_hitpos])
++ if(gd<Hit>(h)[this->m_hitpos])
+ h = 0;
+ else
+- gd<Hit>(h)[m_hitpos] = true;
++ gd<Hit>(h)[this->m_hitpos] = true;
+ m_queue.push(V(*ei,h));
+- gd<Hit>(*ei)[m_hitpos] = true;
++ gd<Hit>(*ei)[this->m_hitpos] = true;
+ }
+ }
+ if(m_queue.empty())
+- for(;m_nodeiter!=m_g->nodes().end(); ++m_nodeiter)
+- if(!gd<Hit>(*m_nodeiter)[m_hitpos]) {
+- gd<Hit>(*m_nodeiter)[m_hitpos] = true;
++ for(;m_nodeiter!=this->m_g->nodes().end(); ++m_nodeiter)
++ if(!gd<Hit>(*m_nodeiter)[this->m_hitpos]) {
++ gd<Hit>(*m_nodeiter)[this->m_hitpos] = true;
+ m_queue.push(V(0,*m_nodeiter++));
+ break;
+ }
+@@ -241,7 +241,7 @@
+ BFS(G *g,typename G::Node *start = 0,bool inwards=true,bool outwards=true) : Traversal<G>(g),m_inwards(inwards),m_outwards(outwards) {
+ m_nodeiter = start?g->iter(start):g->nodes().begin();
+ if(m_nodeiter!=g->nodes().end()) {
+- gd<Hit>(*m_nodeiter)[m_hitpos] = true;
++ gd<Hit>(*m_nodeiter)[this->m_hitpos] = true;
+ m_queue.push(V(0,*m_nodeiter++));
+ }
+ }