On Mittwoch, 2. Juli 2008, Steffen Prohaska wrote:
> From: Johannes Schindelin <[EMAIL PROTECTED]>
>
> 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 <[EMAIL PROTECTED]>
> Signed-off-by: Steffen Prohaska <[EMAIL PROTECTED]>
> ---
>  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.

-- Hannes

Reply via email to