summaryrefslogtreecommitdiffstats
path: root/src/tree.c
Commit message (Collapse)AuthorAgeFilesLines
* Revert "mq_tree_remove*(): Don't update children's positions"Patrick McDermott2017-10-251-4/+1
| | | | | | This reverts commit ab9570ff5e856e4cc4056cb970e732be29405444. Children's positions do need to be updated.
* mq_tree_remove*(): Fix parent and sibling linksPatrick McDermott2017-10-251-7/+15
|
* MqTree: Add links to new tree debugging outputPatrick McDermott2017-10-251-2/+9
|
* mq_tree_remove_allocated(): Remove trailing whitespacePatrick McDermott2017-10-251-2/+2
|
* mq_tree_remove*(): Don't update children's positionsPatrick McDermott2017-10-251-1/+4
|
* mq_tree_remove*(): Link node's next sibling or parent to last childPatrick McDermott2017-10-251-4/+6
|
* mq_tree_remove*(): Update tree sizesPatrick McDermott2017-10-251-0/+2
|
* mq_tree_remove*(): Print debugging outputPatrick McDermott2017-10-251-0/+2
|
* mq_tree_remove_allocated(): ImplementPatrick McDermott2017-10-251-2/+26
|
* mq_tree_remove(): Rename to mq_tree_remove_allocated()Patrick McDermott2017-10-251-1/+1
|
* MqTree: Rename debugging output functionsPatrick McDermott2017-10-251-15/+15
|
* mq_tree_append_child*(), mq_tree_append_sibling*(): s/Inserted/Appended/ in ↵Patrick McDermott2017-10-241-2/+2
| | | | debugging output
* mq_tree_insert_child*(), mq_tree_insert_sibling*(): Rename to mq_tree_append_*()Patrick McDermott2017-10-241-2/+2
|
* mq_tree_insert_sibling*(): Append rather than insert siblingPatrick McDermott2017-10-241-10/+9
|
* mq_tree_foreach_from(): Fix upward traversalPatrick McDermott2017-10-241-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | Steps to reproduce bug: 1. From tab 1, append a new child 2. From tab 1, insert a new sibling 3. From tab 1, insert a new sibling The position of the last tab (the next sibling of the new tab inserted in step 3) gets updated twice. Tree debugging output: Traversing tree from position, starting at 0x12bf620 0x12bf620 0x1272f80 0x1272f80 Inserted sibling 0x12bf620, new tree (size 5): 0xe7f7f0 (size 5, position 0) 0xed3e10 (size 2, position 1) 0x114ef40 (size 1, position 2) 0x12bf620 (size 1, position 3) 0x1272f80 (size 1, position 5)
* mq_tree_insert_sibling*(): Fix new node positionPatrick McDermott2017-10-241-1/+1
|
* MqTree: Add inserted node address to debugging outputPatrick McDermott2017-10-241-6/+5
|
* MqTree: Add sizes and positions to insertion dbg outputPatrick McDermott2017-10-241-1/+2
|
* MqTree: Improve tree traversal debugging outputPatrick McDermott2017-10-231-3/+3
|
* mq_tree_insert_*(): Fix position updating tree traversalPatrick McDermott2017-10-231-9/+15
| | | | Just use mq_tree_foreach_from() now.
* mq_tree_foreach_from(): Fix tree traversalPatrick McDermott2017-10-231-19/+14
|
* MqTree: Add foreach debugging outputPatrick McDermott2017-10-231-0/+20
|
* MqTree: Fix some foreach recursionPatrick McDermott2017-10-231-11/+0
|
* mq_tree_insert_*(): Add debugging outputPatrick McDermott2017-10-231-0/+49
|
* mq_tree_seek(): Fix assertion failures in recursive callsPatrick McDermott2017-10-231-7/+13
|
* mq_tree_seek(): Split assertionPatrick McDermott2017-10-231-1/+2
|
* mq_tree_foreach_child(): Remove functionPatrick McDermott2017-10-231-20/+0
|
* mq_tree_foreach_child(): Loop over node's children, not root'sPatrick McDermott2017-10-231-1/+1
|
* mq_tree_foreach_from(): New functionPatrick McDermott2017-10-231-0/+32
|
* MqTree: Reduce code in foreach*() static functionsPatrick McDermott2017-10-231-20/+12
|
* mq_tree_foreach*(): Accept only one user data argumentPatrick McDermott2017-10-231-30/+14
| | | | | | | | | And update MqNotebook. The va_copy()s didn't seem to work. va_arg() in MqNotebook's find_node_compare() returned garbage, preventing the node from being found and causing the assertion in find_node() (as called by mq_notebook_insert_sibling() and mq_notebook_insert_child()) to fail.
* mq_tree_insert_root_allocated(): Set node sizePatrick McDermott2017-10-231-0/+1
|
* MqTree: New typePatrick McDermott2017-10-231-0/+226