bug-wget
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-wget] [PATCH] Invalid Content-Length header in WARC files, on s


From: Tim Ruehsen
Subject: Re: [Bug-wget] [PATCH] Invalid Content-Length header in WARC files, on some platforms
Date: Wed, 14 Nov 2012 14:31:37 +0100
User-agent: KMail/1.13.7 (Linux/3.2.0-4-amd64; KDE/4.8.4; x86_64; ; )

Am Wednesday 14 November 2012 schrieb Ángel González:
> On 14/11/12 12:32, Tim Ruehsen wrote:
> > Am Wednesday 14 November 2012 schrieb Daniel Stenberg:
> >> Don't you still build wget on C89 systems without long long and 64
> >> bit support?
> > 
> > Ouch. Good point.
> > 
> > But then, compiling Wget with -std=c89 won't work at all.
> > Using -std=gnu89 -pedantic tells us why Wget won't compile with a
> > c89-only compiler (just an excerpt):
> > 
> > gettext.h:248:3: warning: ISO C90 forbids variable length array
> > 'msg_ctxt_id'
> 
> This is guarded by _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
> 
> > gnutls.c:89:3: warning: ISO C90 forbids mixed declarations and code
> > iri.c:101:12: warning: ISO C forbids braced-groups within expressions
> 
> This is due to the expansion of c_isspace(), which is only a macro under
> gcc.
> 
> > warc.c:535:3: warning: C++ style comments are not allowed in ISO C90
> > main.c:210:33: warning: ISO C forbids conversion of function pointer to
> > object pointer type
> 
> ISO C doesn't seem to support OPT_FUNCALL, which is what generates this
> warning
> (and another below),
> 
> > ../lib/regex.h:653:26: warning: ISO C90 does not support 'static' or type
> > qualifiers in parameter array declarators
> 
> This is probably the _Restrict_arr_, which is checked above for gcc
> version (enabled
> because you gave -std=gnu89), so not really a problem.
> 
> 
> There are many C90isms warnings, but most of them seems to not be really
> triggered
> on a c89 compiler.
> 
> > Taking this into account: is there any good point in not using long long
> > ? The code is already "polluted" by c99 stuff.
> 
> I'm a bit worried about windows support. On the one hand its C compiler
> may not
> support long long (but are we supporting that compiler?), but on the
> other msvcrt.dll
> doesn't support %lld (it has an equivalent specifier but with a
> different name), which
> *is* used by mingw32.

Thanks for investigating a bit deeper.

If non-c89 stuff triggers warnings/errors on a c89 compiler or not is just 
guessing. Some might work, others not.
But to draw a clear line regarding c89: why not taking gcc -std=c89 as 
reference ? Try that and realize that Wget is not compilable...
[But it should just be a couple of hours to fix it.]

BTW, I had a private discussion with Guiseppe at April 13th 2012.
It was about C99/POSIX and using getline().
Guiseppe's last words were:

"I had to check it better before give an answer, but yeah, the answer is:
let's use C99 and POSIX-2008."

@Guiseppe: can you confirm this officially on the mailing list ?

Mit freundlichem Gruß

     Tim Rühsen



reply via email to

[Prev in Thread] Current Thread [Next in Thread]