Avoid recursive calls in etags
commit6d8144a2abb1c37982d82e32c68ab5115aca792c
authorEli Zaretskii <eliz@gnu.org>
Wed, 31 Aug 2016 15:53:43 +0000 (31 18:53 +0300)
committerEli Zaretskii <eliz@gnu.org>
Wed, 31 Aug 2016 15:53:43 +0000 (31 18:53 +0300)
tree9d189fb7c61a358e06f754b3377cb895d8ea991f
parent6f125aa3de06fa0180a83ec7b5a26970309eeeb6
Avoid recursive calls in etags

* lib-src/etags.c (stack_entry): New struct.
(push_node, pop_node, put_entry): New functions.
(free_tree, add_node, invalidate_nodes, put_entries): Re-implement
in a non-recursive way, to avoid stack overflow.  (Bug#5847)
lib-src/etags.c