]> git.ipfire.org Git - thirdparty/bird.git/commit
Conf: Fix symbol lookup
authorOndrej Zajicek <santiago@crfreenet.org>
Thu, 27 Apr 2023 15:09:00 +0000 (17:09 +0200)
committerOndrej Zajicek <santiago@crfreenet.org>
Thu, 27 Apr 2023 15:09:00 +0000 (17:09 +0200)
commit9b471e72d75c154f3b8c4fa134c7c9f1a55fe27f
tree9b48f388f4d3f87d243d8a9df1adfcddf75a7a2e
parentca0f239c72486cebfe171e335e3b8a86f5999714
Conf: Fix symbol lookup

The symbol table used just symbol name as a key, and used a trick with
active flag to find symbols in active scopes with one hash table lookup.

The disadvantage is that it can degenerate to O(n) for negative queries
in situations where are many symbols with the same name in different
scopes.

Thanks to Yanko Kaneti for the bugreport.
conf/cf-lex.l
conf/conf.h
lib/hash.h