* [PATCH 8/10] Fix some minor warnings to allow -Werror.
@ 2006-08-02 1:03 Ramsay Jones
2006-08-02 7:46 ` Junio C Hamano
0 siblings, 1 reply; 4+ messages in thread
From: Ramsay Jones @ 2006-08-02 1:03 UTC (permalink / raw)
To: git
[-- Attachment #1: Type: text/plain, Size: 958 bytes --]
Signed-off-by: Ramsay Allan Jones <ramsay@ramsay1.demon.co.uk>
---
builtin-mailinfo.c | 3 ++-
diff.c | 1 +
2 files changed, 3 insertions(+), 1 deletions(-)
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";
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,
--
1.4.1
[-- Attachment #2: P0008.TXT --]
[-- Type: text/plain, Size: 1187 bytes --]
From 262b57917ff01f74c95670ae59f1cd59a9024135 Mon Sep 17 00:00:00 2001
From: Ramsay Allan Jones <ramsay@ramsay1.demon.co.uk>
Date: Sun, 30 Jul 2006 17:06:25 +0100
Subject: [PATCH 8/10] Fix some minor warnings to allow -Werror.
Signed-off-by: Ramsay Allan Jones <ramsay@ramsay1.demon.co.uk>
---
builtin-mailinfo.c | 3 ++-
diff.c | 1 +
2 files changed, 3 insertions(+), 1 deletions(-)
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";
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,
--
1.4.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH 8/10] Fix some minor warnings to allow -Werror.
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
0 siblings, 2 replies; 4+ messages in thread
From: Junio C Hamano @ 2006-08-02 7:46 UTC (permalink / raw)
To: Ramsay Jones; +Cc: git
"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);
> 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.
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH 8/10] Fix some minor warnings to allow -Werror.
2006-08-02 7:46 ` Junio C Hamano
@ 2006-08-02 8:53 ` Rocco Rutte
2006-08-02 18:47 ` Ramsay Jones
1 sibling, 0 replies; 4+ messages in thread
From: Rocco Rutte @ 2006-08-02 8:53 UTC (permalink / raw)
To: git
Hi,
* Junio C Hamano [06-08-02 00:46:23 -0700] wrote:
[...]
>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);
It depends on the iconv() implementation as what the input pointer is
defined: some use just 'char*' while others use 'const char*' (GNU
libiconv IIRC).
bye, Rocco
--
:wq!
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH 8/10] Fix some minor warnings to allow -Werror.
2006-08-02 7:46 ` Junio C Hamano
2006-08-02 8:53 ` Rocco Rutte
@ 2006-08-02 18:47 ` Ramsay Jones
1 sibling, 0 replies; 4+ messages in thread
From: Ramsay Jones @ 2006-08-02 18:47 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
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
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-08-02 18:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox