unify stack implementations
Graphviz contains a number of inline implementations of a stack data structure:
-
initStkimplementation duplicated in at least five places - SFIO's
sfstack - cgraph's
gstack_t - cgraph's
save_stack_t - rbtree's
stk_stack - ortho's
stack - sparse's
IntStack - circogen's
nstack_t - cricogen's
estack - tred's
estack - sccmap's
stack - gxl2gv's ad hoc
Gstack
I have not analyzed how much these overlap, but I hope we can all agree this is more stack implementations than we would like to maintain. As a first step, de-duplicating all the initStk copies would be progress. I have not yet investigated which is the best target library to merge them into.