On Wed, Jun 28, 2017 at 1:58 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Stefan Beller <sbeller@xxxxxxxxxx> writes: > >> On Wed, Jun 28, 2017 at 1:38 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: >>> The helper function utf8_fprintf(fp, ...) has exactly the same >>> effect to the output stream fp as fprintf(fp, ...) does, and the >>> only difference is that its return value counts in display columns >>> consumed (assuming that the payload is encoded in UTF-8), as opposed >>> to number of bytes. >>> >>> There is no reason to call it unless the caller cares about its >>> return value. >>> >>> Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> >>> --- >>> >>> * The helper was introduced at c0821965 ("Add utf8_fprintf helper >>> that returns correct number of columns", 2013-02-09), which also >>> taught the help text output from the parse_options API to use it >>> to align columns. These original callers naturally do use the >>> returned value and left alone by this fix, which corrects all the >>> later callers that misuses it. >>> >> >> The patch looks correct. I said this because I had a similar implementation a couple weeks back when Peff tried to poke (security) holes into submodule usage. I tried finding the reason why it was originally introduced, but to no avail. It seems to be randomly introduced. > Thanks. I had a small voice back in my head telling me that I may > have misread the code and this patch breaks things, which you > cleared up for me ;-) That said, #include "utf8.h" could also go from the file with this or after this patch, I believe.