Matheus Tavares <matheus.bernardino@xxxxxx> writes: > On Thu, Apr 15, 2021 at 5:32 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: >> >> Matheus Tavares Bernardino <matheus.bernardino@xxxxxx> writes: >> >> > Nice! :) Maybe we could also avoid the static strings without >> > repeating the literals by making `do_packet_write()` receive a `struct >> > strbuf *err` and save the error message in it? Then the two callers >> > can decide whether to pass it to error() or die() accordingly. >> >> Sorry, but I do not understand what benefit we are trying to gain by >> introducing an extra strbuf (which I assume is used to strbuf_add() >> the error message into). Wouldn't the caller need two messages and >> flip between <error,error_errno> vs <die,die_errno> pair? > > Hmm, I'm not sure I understand what you mean by the two messages, but > what I was thinking of is something like this (on top of my original > patch): Ah, OK, you meant that you'd make do_packet_write() handle die/error_errno itself by manually calling strerror(errno). One small downside with the approach is that do_packet_write() needs to hardcode how die/error_errno() mixes the strerror() with the caller supplied error message, but I do not care too strongly either way. My original motivation of suggesting the rewrite was to avoid overlong lines in the main flow of the code by replacing the long messages with variable names that are much shorter, so as long as that is done, I am fine either way. Thanks.