Re: [elinks-dev] Solaris build fixes

2007-06-03 Thread Kalle Olavi Niemitalo
John Hawkinson [EMAIL PROTECTED] writes:

 --- src/encoding/gzip.c   2007/05/31 22:40:05 1.1
 +++ src/encoding/gzip.c   2007/06/02 22:22:20
 @@ -33,7 +33,9 @@
  static int
  gzip_read(struct stream_encoded *stream, unsigned char *data, int len)
  {
 +#ifdef HAVE_GZCLEARERR
   gzclearerr((gzFile *) stream-data);
 +#endif
   return gzread((gzFile *) stream-data, data, len);
  }

I see.  The gzclearerr function was added in zlib 1.2.0.2,
released on 2003-07-13.  elinks-0.12/doc/installation.txt and
elinks-0.12/INSTALL do not currently list any version requirement
for zlib.

Have you tested the resulting binary, especially with slow sites
and Transfer-Encoding: chunked?  The call was added to ELinks in
commit d2b8e06f418f99c64a1a0f7ad4b3b906ced8617f:

gzip_read: always call gzclearerr

This is necessary when using a POSIX-compliant stdio implementation, which
will set the FILE error flag when input from the pipe is exhausted, causing
all subsequent reads to fail.

Can we assume that on Solaris 10 which does not have gzclearerr,
stdio does not actually set the flag?  Otherwise, can we work
around the problem by disabling Accept-Encoding: gzip when
gzclearerr is not available?

I think the encoding layer in ELinks should be rewritten to avoid
stdio entirely, but I was hoping ELinks 0.12.0 could be released
first.  If 0.12.GIT with this patch truncates documents but
0.11.3 does too, then the bug is not a regression and ELinks
could be released with it.  So please also test 0.11.3 (or the
upcoming 0.11.4) if possible.


pgp2A8u2tlaSi.pgp
Description: PGP signature
___
elinks-dev mailing list
elinks-dev@linuxfromscratch.org
http://linuxfromscratch.org/mailman/listinfo/elinks-dev


Re: [elinks-dev] Solaris build fixes

2007-06-03 Thread Jonas Fonseca
John Hawkinson [EMAIL PROTECTED] wrote Sat, Jun 02, 2007:
 Hi, I'm not the list. Here are some fixes to build under Solaris 10
 (no -rdynamic, no gzclearerr()). Against elinks-0.12-20070601.
 
 Also included is a patch to add more help for -dump-color-mode.
 
 [EMAIL PROTECTED]
   John Hawkinson
 
 --- configure.in  2007/06/01 19:18:56 1.1
 +++ configure.in  2007/06/02 22:21:07
 @@ -256,10 +256,21 @@
  dnl
  dnl FIXME: This check doesn't work. Something to do with the compiler
  dnl happily ignoring it and stderr not being checked for error messages.
 +dnl This works instead:
  AC_MSG_CHECKING([for -rdynamic])
  LDFLAGS_X=$LDFLAGS
  LDFLAGS=$LDFLAGS -rdynamic
 -AC_TRY_LINK([], [], have_rdynamic=yes, have_rdynamic=no)
 +cat  conftest.$ac_ext  _ACEOF
 +int main() { return 0; }
 +_ACEOF
 +(eval $ac_compile) 2conftest.er1
 +(eval $ac_link) 2conftest.err
 +if test -s conftest.err
 +then
 +  have_rdynamic=no
 +else
 +  have_rdynamic=yes
 +fi
  test $have_rdynamic = no  LDFLAGS=$LDFLAGS_X
  AC_MSG_RESULT($have_rdynamic)

Wow, this is really great. A lot of people has mentioned this over the
years and so finally being able to provide a fix is very helpful.

-- 
Jonas Fonseca
___
elinks-dev mailing list
elinks-dev@linuxfromscratch.org
http://linuxfromscratch.org/mailman/listinfo/elinks-dev