From: Jeff King Date: Mon, 22 Feb 2016 22:44:57 +0000 (-0500) Subject: sequencer: simplify memory allocation of get_message X-Git-Tag: v2.8.0-rc0~19^2~5 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/7b35eaf8c50609ae4899dcde7fcaa1be0df657df?hp=7b35eaf8c50609ae4899dcde7fcaa1be0df657df sequencer: simplify memory allocation of get_message For a commit with sha1 "1234abcd" and subject "foo", this function produces a struct with three strings: 1. "foo" 2. "1234abcd... foo" 3. "parent of 1234abcd... foo" It takes advantage of the fact that these strings are subsets of each other, and allocates only _one_ string, with pointers into the various parts. Unfortunately, this makes the string allocation complicated and hard to follow. Since we keep only one of these in memory at a time, we can afford to simply allocate three strings. This lets us build on tools like xstrfmt and avoid manual computation. While we're here, we can also drop the ad-hoc reimplementation of get_git_commit_encoding(), and simply call that function. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano ---