dtview(dd->dict.e, parent_dd->dict.e);
dtview(dd->dict.g, parent_dd->dict.g);
}
+ else {
+ if (ProtoGraph && (g != ProtoGraph)) {
+ /* you can't dtview here for several reasons. the proto
+ graph could change, and it changes the base index for g*/
+ Agsym_t *sym; /* this could be written more functionally */
+ sym = 0; /* but it's easy to read this way */
+ while ((sym = agnxtattr(ProtoGraph,AGRAPH,sym)))
+ agattr(g,AGRAPH,sym->name,sym->defval);
+ while ((sym = agnxtattr(ProtoGraph,AGNODE,sym)))
+ agattr(g,AGNODE,sym->name,sym->defval);
+ while ((sym = agnxtattr(ProtoGraph,AGEDGE,sym)))
+ agattr(g,AGEDGE,sym->name,sym->defval);
+ }
+ }
return dd;
}
del(g->e_id, &sn->in_id, in);
}
#ifdef DEBUG
- for (e = agfstin(h); e; e = agnxtin(e))
+ for (e = agfstin(g,h); e; e = agnxtin(g,e))
assert(e != in);
- for (e = agfstout(t); e; e = agnxtout(e))
+ for (e = agfstout(g,t); e; e = agnxtout(g,e))
assert(e != out);
#endif
}