Re: [PATCH 03/12] MinGW: Convert CR/LF to LF in tag signatures
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jul 3, 2008, 11:08 UTC
- Message-ID
- <alpine.DEB.1.00.0807031208050.9925@racer>
- In-Reply-To
- <200807022046.28141.johannes.sixt@telecom.at>
Hi,
On Wed, 2 Jul 2008, Johannes Sixt wrote:
Show 44 quoted lines
> On Mittwoch, 2. Juli 2008, Steffen Prohaska wrote:
> > From: Johannes Schindelin <johannes.schindelin@gmx.de>
> >
> > 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 <johannes.schindelin@gmx.de>
> > Signed-off-by: Steffen Prohaska <prohaska@zib.de>
> > ---
> > 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