Thread (72 messages) flat view 72 messages, 20 authors, 2016-06-15

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help