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.
This commit is contained in:
Carl Worth 2009-10-20 22:27:56 -07:00
parent 4ca1492f1b
commit aad13c3ac9

View file

@ -431,6 +431,8 @@ dump_command (int argc, char *argv[])
} }
fprintf (output, ")\n"); fprintf (output, ")\n");
notmuch_message_destroy (message);
} }
notmuch_query_destroy (query); notmuch_query_destroy (query);