Re: [PATCH 03/12] MinGW: Convert CR/LF to LF in tag signatures
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:44:53
Hi, On Wed, 2 Jul 2008, Johannes Sixt wrote:
On Mittwoch, 2. Juli 2008, Steffen Prohaska wrote:quoted
From: Johannes Schindelin <redacted> On Windows, gpg outputs CR/LF signatures. But since the tag messages are already stripped of the CR by stripspace(), it is arguably nicer to do the same for the tag signature. Actually, this patch does not look for CR/LF, but strips all CRs from the signature. [ spr: ported code to use strbuf ] Signed-off-by: Johannes Schindelin <redacted> Signed-off-by: Steffen Prohaska <redacted> --- builtin-tag.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-)diff --git a/builtin-tag.c b/builtin-tag.c index e675206..77977ba 100644 --- a/builtin-tag.c +++ b/builtin-tag.c@@ -241,6 +241,20 @@ static int do_sign(struct strbuf *buffer) if (finish_command(&gpg) || !len || len < 0) return error("gpg failed to sign the tag"); +#ifdef __MINGW32__ + /* strip CR from the line endings */ + { + int i, j; + for (i = j = 0; i < buffer->len; i++) + if (buffer->buf[i] != '\r') { + if (i != j) + buffer->buf[j] = buffer->buf[i]; + j++; + } + strbuf_setlen(buffer, j); + } +#endif + return 0; }Do we need the #ifdef __MINGW32__? Can't we just strip CRs unconditionally? It shouldn't hurt on Unix anyway.
I agree, and I would even like to refactor this into its own function. Probably even move it to strbuf.[ch]. Ciao, Dscho