notmuch dump: Free each message as it's used.
authorCarl Worth <cworth@cworth.org>
Wed, 21 Oct 2009 05:27:56 +0000 (22:27 -0700)
committerCarl Worth <cworth@cworth.org>
Wed, 21 Oct 2009 05:27:56 +0000 (22:27 -0700)
commitaad13c3ac947a42b3e0a1923c44a927feea827f5
tree79ff07401de28bfc2c5b24ff141bb85306a8cb87
parent4ca1492f1b6a9172b1dca88aecf1d6e7394ac5d7
notmuch dump: Free each message as it's used.

Previously we were leaking[*] memory in that the memory footprint of
a "notmuch dump" run would continue to grow until the output was
complete, and then finally all the memory would be freed.

Now, the memory footprint is small and constant, O(1) rather than
O(n) in the number of messages.

[*] Not leaking in a valgrind sense---every byte was still carefully
being accounted for and freed eventually.
notmuch.c