diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2019-08-04 22:22:18 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2019-08-04 22:22:18 +0000 |
commit | 7345e3d96db5fd95e0c8c79b2cee6d2e4d4610db (patch) | |
tree | 4e12664358d59579b35cd1418b836aa485ed56a9 /Build/source | |
parent | 8fe8e01cd9dc4177d5f98c145b2a3669f2e0ca73 (diff) |
Ignore some of zlib errors. Fix a bug in -m option. (S. Hirata)
git-svn-id: svn://tug.org/texlive/trunk@51819 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source')
-rw-r--r-- | Build/source/texk/dvipdfm-x/ChangeLog | 13 | ||||
-rwxr-xr-x | Build/source/texk/dvipdfm-x/configure | 22 | ||||
-rw-r--r-- | Build/source/texk/dvipdfm-x/configure.ac | 2 | ||||
-rw-r--r-- | Build/source/texk/dvipdfm-x/dvipdfmx.c | 24 | ||||
-rw-r--r-- | Build/source/texk/dvipdfm-x/pdfobj.c | 9 |
5 files changed, 50 insertions, 20 deletions
diff --git a/Build/source/texk/dvipdfm-x/ChangeLog b/Build/source/texk/dvipdfm-x/ChangeLog index 55ca10c0753..cb00f791592 100644 --- a/Build/source/texk/dvipdfm-x/ChangeLog +++ b/Build/source/texk/dvipdfm-x/ChangeLog @@ -1,3 +1,16 @@ +2019-08-05 Shunsaku Hirata <shunsaku.hirata74@gmail.com> + + * pdfobj.c: Ignore zlib error while uncompressing data. + Z_DATA_ERROR is ignored when avail_in is 0. + Accepting some incorrectly written compressed data. + Reported by Jens Adam: + https://tug.org/pipermail/tex-live/2019-August/043983.html + * dvipdfmx.c: Fix a bug that 'm' option was broken. + This option must be processed before dvi_init(). + Bug reported to TUG mailing list: + https://tug.org/pipermail/dvipdfmx/2019-July/000019.html + * configure.ac: Version 20190805. + 2019-08-03 Shunsaku Hirata <shunsaku.hirata74@gmail.com> * tt_gsub.c: Fix a bug that OTL coverage data were not read and diff --git a/Build/source/texk/dvipdfm-x/configure b/Build/source/texk/dvipdfm-x/configure index e61e6c64c1c..574d6400a53 100755 --- a/Build/source/texk/dvipdfm-x/configure +++ b/Build/source/texk/dvipdfm-x/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for dvipdfm-x (TeX Live) 20190522. +# Generated by GNU Autoconf 2.69 for dvipdfm-x (TeX Live) 20190805. # # Report bugs to <dvipdfmx@tug.org>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='dvipdfm-x (TeX Live)' PACKAGE_TARNAME='dvipdfm-x--tex-live-' -PACKAGE_VERSION='20190522' -PACKAGE_STRING='dvipdfm-x (TeX Live) 20190522' +PACKAGE_VERSION='20190805' +PACKAGE_STRING='dvipdfm-x (TeX Live) 20190805' PACKAGE_BUGREPORT='dvipdfmx@tug.org' PACKAGE_URL='' @@ -1350,7 +1350,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures dvipdfm-x (TeX Live) 20190522 to adapt to many kinds of systems. +\`configure' configures dvipdfm-x (TeX Live) 20190805 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1421,7 +1421,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20190522:";; + short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20190805:";; esac cat <<\_ACEOF @@ -1551,7 +1551,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -dvipdfm-x (TeX Live) configure 20190522 +dvipdfm-x (TeX Live) configure 20190805 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2390,7 +2390,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by dvipdfm-x (TeX Live) $as_me 20190522, which was +It was created by dvipdfm-x (TeX Live) $as_me 20190805, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -8077,7 +8077,7 @@ fi # Define the identity of the package. PACKAGE='dvipdfm-x--tex-live-' - VERSION='20190522' + VERSION='20190805' cat >>confdefs.h <<_ACEOF @@ -14746,7 +14746,7 @@ Usage: $0 [OPTIONS] Report bugs to <bug-libtool@gnu.org>." lt_cl_version="\ -dvipdfm-x (TeX Live) config.lt 20190522 +dvipdfm-x (TeX Live) config.lt 20190805 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -16636,7 +16636,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by dvipdfm-x (TeX Live) $as_me 20190522, which was +This file was extended by dvipdfm-x (TeX Live) $as_me 20190805, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16706,7 +16706,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -dvipdfm-x (TeX Live) config.status 20190522 +dvipdfm-x (TeX Live) config.status 20190805 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/Build/source/texk/dvipdfm-x/configure.ac b/Build/source/texk/dvipdfm-x/configure.ac index 58498e44c79..a8fd6fdbc26 100644 --- a/Build/source/texk/dvipdfm-x/configure.ac +++ b/Build/source/texk/dvipdfm-x/configure.ac @@ -7,7 +7,7 @@ dnl This file is free software; the copyright holder dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl -AC_INIT([dvipdfm-x (TeX Live)], [20190522], [dvipdfmx@tug.org]) +AC_INIT([dvipdfm-x (TeX Live)], [20190805], [dvipdfmx@tug.org]) AC_PREREQ([2.65]) AC_CONFIG_SRCDIR([agl.c]) AC_CONFIG_AUX_DIR([../../build-aux]) diff --git a/Build/source/texk/dvipdfm-x/dvipdfmx.c b/Build/source/texk/dvipdfm-x/dvipdfmx.c index e6a0fc89a17..b0a86e3ea5f 100644 --- a/Build/source/texk/dvipdfm-x/dvipdfmx.c +++ b/Build/source/texk/dvipdfm-x/dvipdfmx.c @@ -535,6 +535,18 @@ do_args_first_pass (int argc, char *argv[], const char *source, int unsafe) dpx_conf.compat_mode = dpx_mode_mpost_mode; break; + /* 'm' option placed here since other options set via special + * requires magnification already being determined for interpreting + * various length values. + */ + case 'm': + { + char *nextptr; + if ((mag = strtod(optarg, &nextptr)) < 0.0 || nextptr == optarg) + ERROR("Invalid magnification specified: %s", optarg); + } + break; + default: /* ignore everything else */ break; } @@ -575,6 +587,13 @@ do_args_second_pass (int argc, char *argv[], const char *source, int unsafe) case 'h': case 130: case 131: case 132: case 133: case 1000: case 'q': case 'v': case 'M': /* already done */ break; + /* 'm' option handled in first_pass */ + case 'm': + if (unsafe) { /* FIXME: it's not actually 'unsafe'... just to know it's called from special */ + WARN("Ignoring \"m\" option for dvipdfmx:config special. (too late)"); + } + break; + case 'D': if (unsafe) { WARN("Ignoring \"D\" option for dvipdfmx:config special. (unsafe)"); @@ -591,11 +610,6 @@ do_args_second_pass (int argc, char *argv[], const char *source, int unsafe) ERROR("Invalid bitmap font dpi specified: %s", optarg); break; - case 'm': - if ((mag = strtod(optarg, &nextptr)) < 0.0 || nextptr == optarg) - ERROR("Invalid magnification specified: %s", optarg); - break; - case 'g': nnextptr = nextptr = optarg; read_length(&annot_grow, &nnextptr, nextptr + strlen(nextptr)); diff --git a/Build/source/texk/dvipdfm-x/pdfobj.c b/Build/source/texk/dvipdfm-x/pdfobj.c index a1acf1b5e25..50246fc7ede 100644 --- a/Build/source/texk/dvipdfm-x/pdfobj.c +++ b/Build/source/texk/dvipdfm-x/pdfobj.c @@ -2491,10 +2491,13 @@ filter_stream_decode_FlateDecode (const void *data, size_t len, struct decode_pa for (;;) { int status; status = inflate(&z, Z_NO_FLUSH); - if (status == Z_STREAM_END) + if (status == Z_STREAM_END) { break; - else if (status != Z_OK) { - WARN("inflate() failed. Broken PDF file?"); + } else if (status == Z_DATA_ERROR && z.avail_in == 0) { + WARN("Ignoring zlib error: status=%d, message=\"%s\"", status, z.msg); + break; + } else if (status != Z_OK) { + WARN("inflate() failed (status=%d, message=\"%s\").", status, z.msg); inflateEnd(&z); pdf_release_obj(tmp); return NULL; |