From: "Ramsay Jones" <ramsay@ramsay1.demon.co.uk>
To: "Junio C Hamano" <junkio@cox.net>
Cc: <git@vger.kernel.org>
Subject: RE: [PATCH 8/10] Fix some minor warnings to allow -Werror.
Date: Wed, 2 Aug 2006 19:47:49 +0100 [thread overview]
Message-ID: <001c01c6b664$27536740$c47eedc1@ramsay1.demon.co.uk> (raw)
In-Reply-To: <7vvepbvauo.fsf@assigned-by-dhcp.cox.net>
On Wed, 2006-08-02 at 8:46, Junio C Hamano wrote:
>
> "Ramsay Jones" <ramsay@ramsay1.demon.co.uk> writes:
>
> > diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
> > index 3e40747..bb5e7b7 100644
> > --- a/builtin-mailinfo.c
> > +++ b/builtin-mailinfo.c
> > @@ -531,7 +531,8 @@ static int decode_b_segment(char *in, ch
> > static void convert_to_utf8(char *line, char *charset)
> > {
> > #ifndef NO_ICONV
> > - char *in, *out;
> > + const char *in;
> > + char *out;
> > size_t insize, outsize, nrc;
> > char outbuf[4096]; /* cheat */
> > static char latin_one[] = "latin1";
>
> This kills the compilation with:
>
> gcc -o builtin-mailinfo.o -c -O2 -Werror -ansi -pedantic -std=c99
> -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wall
> -Wdeclaration-after-statement -g -DSHA1_HEADER='<openssl/sha.h>'
> -DNO_STRLCPY builtin-mailinfo.c
> cc1: warnings being treated as errors
> builtin-mailinfo.c: In function 'convert_to_utf8':
> builtin-mailinfo.c:561: warning: passing argument 2 of 'iconv'
> from incompatible pointer type
>
> where the line 561 reads:
>
> nrc = iconv(conv, &in, &insize, &out, &outsize);
>
OK, so I get exactly the same if I don't make the indicated change!
The second param of iconv() must have changed from const char* to char*
at some point in the last six years.
Just ignore this.
> > diff --git a/diff.c b/diff.c
> > index 5a71489..81630c0 100644
> > --- a/diff.c
> > +++ b/diff.c
> > @@ -614,6 +614,7 @@ static void emit_binary_diff(mmfile_t *o
> > * whichever is smaller.
> > */
> > delta = NULL;
> > + orig_size = 0;
> > deflated = deflate_it(two->ptr, two->size, &deflate_size);
> > if (one->size && two->size) {
> > delta = diff_delta(one->ptr, one->size,
>
> This is not wrong per se, but is working around a stupid compiler that
> do not understand the dataflow. orig_size is only used when
> delta is non NULL, and when delta is non NULL, the variable is
> always set. Not very happy but is acceptable.
>
Yes, you are absolutely correct. I agree it would be nice if gcc was
"fixed" so that it could detect this situation, but I'm not going to
hold my breath. It just seemed to be the lesser evil.
Ramsay
prev parent reply other threads:[~2006-08-02 18:47 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-02 1:03 [PATCH 8/10] Fix some minor warnings to allow -Werror Ramsay Jones
2006-08-02 7:46 ` Junio C Hamano
2006-08-02 8:53 ` Rocco Rutte
2006-08-02 18:47 ` Ramsay Jones [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='001c01c6b664$27536740$c47eedc1@ramsay1.demon.co.uk' \
--to=ramsay@ramsay1.demon.co.uk \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox