This is a rework from [quagga-dev 14733], made by David Lamparter.
Among the changes done with previous version, the "contructor" usage
has been removed. This then should make possible to continue using
quagga on all platforms not supporting this compiler enhancement.
This patchset replaces the 1990s-era memory allocation tracking
with a 2010s-era memory allocation tracking. Particularly, it
removes the neccessity to maintain a centralised list of MTYPEs
in the library. Basically, daemons will have their own MTYPEs
declared. It is decentralised to library and daemons. It is even
possible to do per-file static definition of MTYPE, if done with
The patchset is a drop-in rewrite that does _not_ require changes
to the code making use of the allocators. There are new
foo_memory.txt files that define the MTYPEs and MGROUPs. This file
then generates foo_memory.[ch] files in each daemon and lib.
This patchset applies on master.
The 3rd version is rebased on last master branch.
Quagga-dev mailing list