Hello community,

here is the log from the commit of package libass for openSUSE:Factory checked 
in at 2017-02-22 13:47:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libass (Old)
 and      /work/SRC/openSUSE:Factory/.libass.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libass"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libass/libass.changes    2016-10-14 
03:38:24.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libass.new/libass.changes       2017-02-22 
13:47:56.876028216 +0100
@@ -1,0 +2,20 @@
+Tue Feb 21 15:06:56 UTC 2017 - mplus...@suse.com
+
+- Update to version 0.13.6:
+  * Add Justify style override that changes text justification
+    (left/right/center) without affecting event positioning. This
+    breaks ABI compatibility with prior releases.
+  * Fix ass_set_cache_limits() to affect total bitmap cache size
+    including composite bitmap cache.
+  * Number parsing fixes
+    + Fix illegal read when parsing some numbers in scientific
+      notation with huge exponents.
+    + Correctly evaluate numbers in scientific notation with large
+      exponents.
+    + Correctly evaluate numbers with many leading zeros.
+  * Bug fixes found with fuzzing
+    + Fix a small memory leak in the parser.
+    + Fix illegal read in the parser on specially crafted input
+      with \t tags.
+
+-------------------------------------------------------------------

Old:
----
  libass-0.13.4.tar.xz

New:
----
  libass-0.13.6.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libass.spec ++++++
--- /var/tmp/diff_new_pack.5Rmrt5/_old  2017-02-22 13:47:57.403953050 +0100
+++ /var/tmp/diff_new_pack.5Rmrt5/_new  2017-02-22 13:47:57.403953050 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libass
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,9 +16,9 @@
 #
 
 
-%define soname 5
+%define sover   9
 Name:           libass
-Version:        0.13.4
+Version:        0.13.6
 Release:        0
 Summary:        Library for SSA/ASS-formatted subtitle rendering
 License:        ISC
@@ -26,7 +26,7 @@
 Url:            https://github.com/libass/libass
 Source:         
https://github.com/libass/libass/releases/download/%{version}/%{name}-%{version}.tar.xz
 Source99:       baselibs.conf
-BuildRequires:  pkg-config
+BuildRequires:  pkgconfig
 BuildRequires:  xz
 BuildRequires:  yasm
 BuildRequires:  pkgconfig(fontconfig) >= 2.10.92
@@ -39,11 +39,11 @@
 (Advanced Substation Alpha/Substation Alpha) subtitle
 format. It is mostly compatible with VSFilter.
 
-%package -n libass%{soname}
+%package -n libass%{sover}
 Summary:        Library for SSA/ASS-formatted subtitle rendering
 Group:          System/Libraries
 
-%description -n libass%{soname}
+%description -n libass%{sover}
 libass is a subtitle renderer for the ASS/SSA
 (Advanced Substation Alpha/Substation Alpha) subtitle
 format. It is mostly compatible with VSFilter.
@@ -52,7 +52,7 @@
 Summary:        Development files for libass, a subtitle rendering library
 Group:          Development/Libraries/C and C++
 Requires:       glibc-devel
-Requires:       libass%{soname} = %{version}
+Requires:       libass%{sover} = %{version}
 Requires:       pkgconfig(fontconfig)
 Requires:       pkgconfig(freetype2) >= 9.10.3
 Requires:       pkgconfig(fribidi) >= 0.19.0
@@ -71,21 +71,21 @@
 make %{?_smp_mflags}
 
 %install
-make DESTDIR='%{buildroot}' install
+%make_install
 find %{buildroot} -type f -name "*.la" -delete -print
 
 %check
 make %{?_smp_mflags} check
 
-%post -n libass%{soname} -p /sbin/ldconfig
-%postun -n libass%{soname} -p /sbin/ldconfig
+%post -n libass%{sover} -p /sbin/ldconfig
+%postun -n libass%{sover} -p /sbin/ldconfig
 
-%files -n libass%{soname}
-%defattr(-, root, root)
-%{_libdir}/libass.so.%{soname}*
+%files -n libass%{sover}
+%defattr(-,root,root)
+%{_libdir}/libass.so.%{sover}*
 
 %files devel
-%defattr(-, root, root)
+%defattr(-,root,root)
 %{_includedir}/ass
 %{_libdir}/libass.so
 %{_libdir}/pkgconfig/libass.pc

++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.5Rmrt5/_old  2017-02-22 13:47:57.435948495 +0100
+++ /var/tmp/diff_new_pack.5Rmrt5/_new  2017-02-22 13:47:57.435948495 +0100
@@ -1 +1 @@
-libass5
+libass9

++++++ libass-0.13.4.tar.xz -> libass-0.13.6.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/Changelog new/libass-0.13.6/Changelog
--- old/libass-0.13.4/Changelog 2016-10-05 01:10:16.000000000 +0200
+++ new/libass-0.13.6/Changelog 2017-01-03 20:31:50.000000000 +0100
@@ -1,10 +1,30 @@
+libass (0.13.6)
+ * Bump ABI version to account for the new Justify field in ASS_Style
+   that was added in 0.13.5.
+
+libass (0.13.5)
+ * Add Justify style override that changes text justification
+   (left/right/center) without affecting event positioning.
+ * Fix ass_set_cache_limits() to affect total bitmap cache size
+   including composite bitmap cache.
+ * Number parsing fixes
+   * Fix illegal read when parsing some numbers in scientific notation
+     with huge exponents.
+   * Correctly evaluate numbers in scientific notation with large exponents.
+   * Correctly evaluate numbers with many leading zeros.
+ * Bug fixes found with fuzzing
+   * Fix a small memory leak in the parser.
+   * Fix illegal read in the parser on specially crafted input with \t tags.
+
 libass (0.13.4)
  * Bug fixes found with fuzzing
-   * Fix memory reallocation in the shaper.
+   * Fix memory reallocation in the shaper. (CVE-2016-7972)
    * Fix two small memory leaks in the parser and test program.
    * Fix illegal read in Gaussian blur coefficient calculations.
+     (CVE-2016-7970)
    * Fix mode 0/3 line wrapping equalization in specific cases which could
      result in illegal reads while laying out and shaping text.
+     (CVE-2016-7969)
 
 libass (0.13.3)
  * Improve compatibility/portablility of build system,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/Makefile.in 
new/libass-0.13.6/Makefile.in
--- old/libass-0.13.4/Makefile.in       2016-10-05 01:12:17.000000000 +0200
+++ new/libass-0.13.6/Makefile.in       2017-01-03 20:32:12.000000000 +0100
@@ -364,7 +364,6 @@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
-runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/config.guess 
new/libass-0.13.6/config.guess
--- old/libass-0.13.4/config.guess      2016-10-05 01:12:17.000000000 +0200
+++ new/libass-0.13.6/config.guess      2017-01-03 20:32:12.000000000 +0100
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2015 Free Software Foundation, Inc.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
 
-timestamp='2015-08-20'
+timestamp='2014-11-04'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -168,27 +168,20 @@
        # Note: NetBSD doesn't particularly care about the vendor
        # portion of the name.  We always set it to "unknown".
        sysctl="sysctl -n hw.machine_arch"
-       UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
-           /sbin/$sysctl 2>/dev/null || \
-           /usr/sbin/$sysctl 2>/dev/null || \
-           echo unknown)`
+       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
        case "${UNAME_MACHINE_ARCH}" in
            armeb) machine=armeb-unknown ;;
            arm*) machine=arm-unknown ;;
            sh3el) machine=shl-unknown ;;
            sh3eb) machine=sh-unknown ;;
            sh5el) machine=sh5le-unknown ;;
-           earmv*)
-               arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 
's,^e\(armv[0-9]\).*$,\1,'`
-               endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 
's,^.*\(eb\)$,\1,p'`
-               machine=${arch}${endian}-unknown
-               ;;
            *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
        esac
        # The Operating System including object format, if it has switched
        # to ELF recently, or will in the future.
        case "${UNAME_MACHINE_ARCH}" in
-           arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
+           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
                eval $set_cc_for_build
                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
                        | grep -q __ELF__
@@ -204,13 +197,6 @@
                os=netbsd
                ;;
        esac
-       # Determine ABI tags.
-       case "${UNAME_MACHINE_ARCH}" in
-           earm*)
-               expr='s/^earmv[0-9]/-eabi/;s/eb$//'
-               abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
-               ;;
-       esac
        # The OS release
        # Debian GNU/NetBSD machines have a different userland, and
        # thus, need a distinct triplet. However, they do not need
@@ -221,13 +207,13 @@
                release='-gnu'
                ;;
            *)
-               release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. 
-f1,2`
+               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
                ;;
        esac
        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
        # contains redundant information, the shorter form:
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-       echo "${machine}-${os}${release}${abi}"
+       echo "${machine}-${os}${release}"
        exit ;;
     *:Bitrig:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -249,9 +235,6 @@
     *:MirBSD:*:*)
        echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
        exit ;;
-    *:Sortix:*:*)
-       echo ${UNAME_MACHINE}-unknown-sortix
-       exit ;;
     alpha:OSF1:*:*)
        case $UNAME_RELEASE in
        *4.0)
@@ -950,9 +933,6 @@
     crisv32:Linux:*:*)
        echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
-    e2k:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-       exit ;;
     frv:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
@@ -1041,7 +1021,7 @@
        echo ${UNAME_MACHINE}-dec-linux-${LIBC}
        exit ;;
     x86_64:Linux:*:*)
-       echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     xtensa*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/config.sub new/libass-0.13.6/config.sub
--- old/libass-0.13.4/config.sub        2016-10-05 01:12:17.000000000 +0200
+++ new/libass-0.13.6/config.sub        2017-01-03 20:32:12.000000000 +0100
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2015 Free Software Foundation, Inc.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
 
-timestamp='2015-08-20'
+timestamp='2014-12-03'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -68,7 +68,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,7 +117,7 @@
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | 
kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+  knetbsd*-gnu* | netbsd*-gnu* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
@@ -255,13 +255,12 @@
        | arc | arceb \
        | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
        | avr | avr32 \
-       | ba \
        | be32 | be64 \
        | bfin \
        | c4x | c8051 | clipper \
        | d10v | d30v | dlx | dsp16xx \
-       | e2k | epiphany \
-       | fido | fr30 | frv | ft32 \
+       | epiphany \
+       | fido | fr30 | frv \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
        | hexagon \
        | i370 | i860 | i960 | ia64 \
@@ -306,7 +305,7 @@
        | riscv32 | riscv64 \
        | rl78 | rx \
        | score \
-       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | 
shbe | shle | sh[1234]le | sh3ele \
+       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | 
shbe | shle | sh[1234]le | sh3ele \
        | sh64 | sh64le \
        | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | 
sparclite \
        | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -377,13 +376,12 @@
        | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* | avr32-* \
-       | ba-* \
        | be32-* | be64-* \
        | bfin-* | bs2000-* \
        | c[123]* | c30-* | [cjt]90-* | c4x-* \
        | c8051-* | clipper-* | craynv-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
-       | e2k-* | elxsi-* \
+       | elxsi-* \
        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
@@ -430,13 +428,12 @@
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
        | pyramid-* \
-       | riscv32-* | riscv64-* \
        | rl78-* | romp-* | rs6000-* | rx-* \
        | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* 
| sheb-* | shbe-* \
        | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
        | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | 
sparclet-* \
        | sparclite-* \
-       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
        | tahoe-* \
        | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
        | tile*-* \
@@ -521,9 +518,6 @@
                basic_machine=i386-pc
                os=-aros
                ;;
-        asmjs)
-               basic_machine=asmjs-unknown
-               ;;
        aux)
                basic_machine=m68k-apple
                os=-aux
@@ -1379,7 +1373,7 @@
              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | 
-solaris* \
              | -sym* | -kopensolaris* | -plan9* \
              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* | -aros* | -cloudabi* | -sortix* \
+             | -aos* | -aros* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
              | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/configure new/libass-0.13.6/configure
--- old/libass-0.13.4/configure 2016-10-05 01:12:16.000000000 +0200
+++ new/libass-0.13.6/configure 2017-01-03 20:32:11.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libass 0.13.4.
+# Generated by GNU Autoconf 2.69 for libass 0.13.6.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@
 # Identity of this package.
 PACKAGE_NAME='libass'
 PACKAGE_TARNAME='libass'
-PACKAGE_VERSION='0.13.4'
-PACKAGE_STRING='libass 0.13.4'
+PACKAGE_VERSION='0.13.6'
+PACKAGE_STRING='libass 0.13.6'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -772,7 +772,6 @@
 docdir
 oldincludedir
 includedir
-runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -879,7 +878,6 @@
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1132,15 +1130,6 @@
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
-  -runstatedir | --runstatedir | --runstatedi | --runstated \
-  | --runstate | --runstat | --runsta | --runst | --runs \
-  | --run | --ru | --r)
-    ac_prev=runstatedir ;;
-  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
-  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
-  | --run=* | --ru=* | --r=*)
-    runstatedir=$ac_optarg ;;
-
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1278,7 +1267,7 @@
 for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
                datadir sysconfdir sharedstatedir localstatedir includedir \
                oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir runstatedir
+               libdir localedir mandir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1391,7 +1380,7 @@
   # 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 libass 0.13.4 to adapt to many kinds of systems.
+\`configure' configures libass 0.13.6 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1431,7 +1420,6 @@
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -1462,7 +1450,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libass 0.13.4:";;
+     short | recursive ) echo "Configuration of libass 0.13.6:";;
    esac
   cat <<\_ACEOF
 
@@ -1613,7 +1601,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libass configure 0.13.4
+libass configure 0.13.6
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2032,7 +2020,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libass $as_me 0.13.4, which was
+It was created by libass $as_me 0.13.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2895,7 +2883,7 @@
 
 # Define the identity of the package.
  PACKAGE='libass'
- VERSION='0.13.4'
+ VERSION='0.13.6'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5339,7 +5327,7 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu)
+netbsd*)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern 
/lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   else
@@ -9032,9 +9020,6 @@
   openbsd* | bitrig*)
     with_gnu_ld=no
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    link_all_deplibs=no
-    ;;
   esac
 
   ld_shlibs=yes
@@ -9289,7 +9274,7 @@
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
@@ -9959,7 +9944,6 @@
        if test yes = "$lt_cv_irix_exported_symbol"; then
           archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs 
$compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all 
"$wl-set_version $wl$verstring"` $wl-update_registry 
$wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
        fi
-       link_all_deplibs=no
       else
        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname 
$soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` 
-update_registry $output_objdir/so_locations -o $lib'
        archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags 
-soname $soname `test -n "$verstring" && func_echo_all "-set_version 
$verstring"` -update_registry $output_objdir/so_locations -exports_file 
$export_symbols -o $lib'
@@ -9981,7 +9965,7 @@
       esac
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  
# a.out
       else
@@ -11096,18 +11080,6 @@
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -15137,7 +15109,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libass $as_me 0.13.4, which was
+This file was extended by libass $as_me 0.13.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15203,7 +15175,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libass config.status 0.13.4
+libass config.status 0.13.6
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/configure.ac 
new/libass-0.13.6/configure.ac
--- old/libass-0.13.4/configure.ac      2016-10-05 01:07:37.000000000 +0200
+++ new/libass-0.13.6/configure.ac      2017-01-03 20:31:50.000000000 +0100
@@ -1,4 +1,4 @@
-AC_INIT(libass, 0.13.4)
+AC_INIT(libass, 0.13.6)
 AM_INIT_AUTOMAKE
 AC_CONFIG_MACRO_DIR([m4])
 # Disable Fortran checks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/install-sh new/libass-0.13.6/install-sh
--- old/libass-0.13.4/install-sh        2016-10-05 01:12:17.000000000 +0200
+++ new/libass-0.13.6/install-sh        2017-01-03 20:32:12.000000000 +0100
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2014-09-12.12; # UTC
+scriptversion=2013-12-25.23; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -324,41 +324,34 @@
             # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
             ;;
           *)
-            # $RANDOM is not portable (e.g. dash);  use it when possible to
-            # lower collision chance
             tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-            trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 
2>/dev/null; exit $ret' 0
+            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
 
-            # As "mkdir -p" follows symlinks and we work in /tmp possibly;  so
-            # create the $tmpdir first (and fail if unsuccessful) to make sure
-            # that nobody tries to guess the $tmpdir name.
             if (umask $mkdir_umask &&
-                $mkdirprog $mkdir_mode "$tmpdir" &&
-                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 
2>&1
+                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
             then
               if test -z "$dir_arg" || {
                    # Check for POSIX incompatibilities with -m.
                    # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
                    # other-writable bit of parent directory when it shouldn't.
                    # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-                   test_tmpdir="$tmpdir/a"
-                   ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
                    case $ls_ld_tmpdir in
                      d????-?r-*) different_mode=700;;
                      d????-?--*) different_mode=755;;
                      *) false;;
                    esac &&
-                   $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
-                     ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+                   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
                      test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
                    }
                  }
               then posix_mkdir=:
               fi
-              rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
+              rmdir "$tmpdir/d" "$tmpdir"
             else
               # Remove any dirs left behind by ancient mkdir implementations.
-              rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
+              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
             fi
             trap '' 0;;
         esac;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/libass/Makefile.am 
new/libass-0.13.6/libass/Makefile.am
--- old/libass-0.13.4/libass/Makefile.am        2016-10-05 01:08:08.000000000 
+0200
+++ new/libass-0.13.6/libass/Makefile.am        2017-01-03 20:31:50.000000000 
+0100
@@ -2,9 +2,9 @@
             -Werror-implicit-function-declaration -Wstrict-prototypes        \
             -Wpointer-arith -Wredundant-decls -D_GNU_SOURCE
 
-LIBASS_LT_CURRENT = 8
-LIBASS_LT_REVISION = 2
-LIBASS_LT_AGE = 3
+LIBASS_LT_CURRENT = 9
+LIBASS_LT_REVISION = 0
+LIBASS_LT_AGE = 0
 
 yasm_verbose = $(yasm_verbose_$(V))
 yasm_verbose_ = $(yasm_verbose_$(AM_DEFAULT_VERBOSITY))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/libass/Makefile.in 
new/libass-0.13.6/libass/Makefile.in
--- old/libass-0.13.4/libass/Makefile.in        2016-10-05 01:12:17.000000000 
+0200
+++ new/libass-0.13.6/libass/Makefile.in        2017-01-03 20:32:13.000000000 
+0100
@@ -374,7 +374,6 @@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
-runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -388,9 +387,9 @@
             -Werror-implicit-function-declaration -Wstrict-prototypes        \
             -Wpointer-arith -Wredundant-decls -D_GNU_SOURCE
 
-LIBASS_LT_CURRENT = 8
-LIBASS_LT_REVISION = 2
-LIBASS_LT_AGE = 3
+LIBASS_LT_CURRENT = 9
+LIBASS_LT_REVISION = 0
+LIBASS_LT_AGE = 0
 yasm_verbose = $(yasm_verbose_$(V))
 yasm_verbose_ = $(yasm_verbose_$(AM_DEFAULT_VERBOSITY))
 yasm_verbose_0 = @echo "  YASM    " $@;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/libass/ass.c 
new/libass-0.13.6/libass/ass.c
--- old/libass-0.13.4/libass/ass.c      2016-10-04 22:56:28.000000000 +0200
+++ new/libass-0.13.6/libass/ass.c      2016-12-29 01:48:05.000000000 +0100
@@ -449,6 +449,7 @@
                     FPVAL(Angle)
                     INTVAL(BorderStyle)
                     INTVAL(Alignment)
+                    INTVAL(Justify)
                     INTVAL(MarginL)
                     INTVAL(MarginR)
                     INTVAL(MarginV)
@@ -621,6 +622,7 @@
     } else if (!strncmp(str, "Language:", 9)) {
         char *p = str + 9;
         while (*p && ass_isspace(*p)) p++;
+        free(track->Language);
         track->Language = strndup(p, 2);
     }
     return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/libass/ass.h 
new/libass-0.13.6/libass/ass.h
--- old/libass-0.13.4/libass/ass.h      2016-10-05 01:08:24.000000000 +0200
+++ new/libass-0.13.6/libass/ass.h      2017-01-03 20:31:50.000000000 +0100
@@ -24,7 +24,7 @@
 #include <stdarg.h>
 #include "ass_types.h"
 
-#define LIBASS_VERSION 0x01304000
+#define LIBASS_VERSION 0x01306000
 
 #ifdef __cplusplus
 extern "C" {
@@ -166,6 +166,10 @@
      * resolution given by the ASS_Track.
      */
     ASS_OVERRIDE_FULL_STYLE = 1 << 9,
+    /**
+     * On dialogue events override: Justify
+     */
+    ASS_OVERRIDE_BIT_JUSTIFY = 1 << 10,
 } ASS_OverrideBits;
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/libass/ass_directwrite.c 
new/libass-0.13.6/libass/ass_directwrite.c
--- old/libass-0.13.4/libass/ass_directwrite.c  2016-07-11 23:29:00.000000000 
+0200
+++ new/libass-0.13.6/libass/ass_directwrite.c  2016-12-29 01:48:05.000000000 
+0100
@@ -66,8 +66,8 @@
 
 static HRESULT STDMETHODCALLTYPE 
FallbackLogTextRenderer_IsPixelSnappingDisabled(
     IDWriteTextRenderer *This,
-    _In_opt_ void* clientDrawingContext,
-    _Out_ BOOL* isDisabled
+    void* clientDrawingContext,
+    BOOL* isDisabled
     )
 {
     *isDisabled = true;
@@ -76,8 +76,8 @@
 
 static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_GetCurrentTransform(
     IDWriteTextRenderer *This,
-    _In_opt_ void* clientDrawingContext,
-    _Out_ DWRITE_MATRIX* transform
+    void* clientDrawingContext,
+    DWRITE_MATRIX* transform
     )
 {
     return E_NOTIMPL;
@@ -85,8 +85,8 @@
 
 static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_GetPixelsPerDip(
     IDWriteTextRenderer *This,
-    _In_opt_ void* clientDrawingContext,
-    _Out_ FLOAT* pixelsPerDip
+    void* clientDrawingContext,
+    FLOAT* pixelsPerDip
     )
 {
     return E_NOTIMPL;
@@ -94,12 +94,12 @@
 
 static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_DrawGlyphRun(
     IDWriteTextRenderer *This,
-    _In_opt_ void* clientDrawingContext,
+    void* clientDrawingContext,
     FLOAT baselineOriginX,
     FLOAT baselineOriginY,
     DWRITE_MEASURING_MODE measuringMode,
-    _In_ DWRITE_GLYPH_RUN const* glyphRun,
-    _In_ DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription,
+    DWRITE_GLYPH_RUN const* glyphRun,
+    DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription,
     IUnknown* clientDrawingEffect
     )
 {
@@ -122,10 +122,10 @@
 
 static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_DrawUnderline(
     IDWriteTextRenderer *This,
-    _In_opt_ void* clientDrawingContext,
+    void* clientDrawingContext,
     FLOAT baselineOriginX,
     FLOAT baselineOriginY,
-    _In_ DWRITE_UNDERLINE const* underline,
+    DWRITE_UNDERLINE const* underline,
     IUnknown* clientDrawingEffect
     )
 {
@@ -134,10 +134,10 @@
 
 static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_DrawStrikethrough(
     IDWriteTextRenderer *This,
-    _In_opt_ void* clientDrawingContext,
+    void* clientDrawingContext,
     FLOAT baselineOriginX,
     FLOAT baselineOriginY,
-    _In_ DWRITE_STRIKETHROUGH const* strikethrough,
+    DWRITE_STRIKETHROUGH const* strikethrough,
     IUnknown* clientDrawingEffect
     )
 {
@@ -722,9 +722,9 @@
 };
 
 typedef HRESULT (WINAPI *DWriteCreateFactoryFn)(
-  _In_  DWRITE_FACTORY_TYPE factoryType,
-  _In_  REFIID              iid,
-  _Out_ IUnknown            **factory
+    DWRITE_FACTORY_TYPE factoryType,
+    REFIID              iid,
+    IUnknown            **factory
 );
 
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/libass/ass_parse.c 
new/libass-0.13.6/libass/ass_parse.c
--- old/libass-0.13.4/libass/ass_parse.c        2016-07-11 23:29:00.000000000 
+0200
+++ new/libass-0.13.6/libass/ass_parse.c        2016-12-29 01:48:05.000000000 
+0100
@@ -262,7 +262,8 @@
 /**
  * \brief Parse style override tag.
  * \param p string to parse
- * \param end end of string to parse, which must be '}' or ')'
+ * \param end end of string to parse, which must be '}', ')', or the first
+ *            of a number of spaces immediately preceding '}' or ')'
  * \param pwr multiplier for some tag effects (comes from \t tags)
  */
 char *parse_tag(ASS_Renderer *render_priv, char *p, char *end, double pwr)
@@ -272,7 +273,8 @@
     if (*p != '\\')
         return p;
     ++p;
-    skip_spaces(&p);
+    if (p != end)
+        skip_spaces(&p);
 
     char *q = p;
     while (*q != '(' && *q != '\\' && q != end)
@@ -293,7 +295,8 @@
     if (*q == '(') {
         ++q;
         while (1) {
-            skip_spaces(&q);
+            if (q != end)
+                skip_spaces(&q);
 
             // Split on commas. If there is a backslash, ignore any
             // commas following it and lump everything starting from
@@ -315,7 +318,7 @@
                 push_arg(args, &nargs, q, r);
                 q = r;
                 // The closing parenthesis could be missing.
-                if (*q == ')')
+                if (q != end)
                     ++q;
                 break;
             }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/libass/ass_render.c 
new/libass-0.13.6/libass/ass_render.c
--- old/libass-0.13.4/libass/ass_render.c       2016-10-05 00:39:06.000000000 
+0200
+++ new/libass-0.13.6/libass/ass_render.c       2016-12-29 01:48:05.000000000 
+0100
@@ -784,6 +784,9 @@
     if (requested & ASS_OVERRIDE_BIT_ALIGNMENT)
         new->Alignment = user->Alignment;
 
+    if (requested & ASS_OVERRIDE_BIT_JUSTIFY)
+        new->Justify = user->Justify;
+
     if (requested & ASS_OVERRIDE_BIT_MARGINS) {
         new->MarginL = user->MarginL;
         new->MarginR = user->MarginR;
@@ -886,6 +889,7 @@
     render_priv->state.wrap_style = render_priv->track->WrapStyle;
 
     render_priv->state.alignment = render_priv->state.style->Alignment;
+    render_priv->state.justify = render_priv->state.style->Justify;
     render_priv->state.pos_x = 0;
     render_priv->state.pos_y = 0;
     render_priv->state.org_x = 0;
@@ -2071,19 +2075,49 @@
     double width = 0;
     int last_break = -1;
     int halign = render_priv->state.alignment & 3;
+    int justify = render_priv->state.justify;
+    double max_width = 0;
 
     if (render_priv->state.evt_type == EVENT_HSCROLL)
         return;
 
     for (i = 0; i <= text_info->length; ++i) {   // (text_info->length + 1) is 
the end of the last line
         if ((i == text_info->length) || glyphs[i].linebreak) {
+            max_width = FFMAX(max_width,width);
+            width = 0;
+        }
+        if (i < text_info->length && !glyphs[i].skip &&
+                glyphs[i].symbol != '\n' && glyphs[i].symbol != 0) {
+            width += d6_to_double(glyphs[i].cluster_advance.x);
+        }
+    }
+    for (i = 0; i <= text_info->length; ++i) {   // (text_info->length + 1) is 
the end of the last line
+        if ((i == text_info->length) || glyphs[i].linebreak) {
             double shift = 0;
             if (halign == HALIGN_LEFT) {    // left aligned, no action
-                shift = 0;
+                if (justify == ASS_JUSTIFY_RIGHT) {
+                    shift = max_width - width;
+                } else if (justify == ASS_JUSTIFY_CENTER) {
+                    shift = (max_width - width) / 2.0;
+                } else {
+                    shift = 0;
+                }
             } else if (halign == HALIGN_RIGHT) {    // right aligned
-                shift = max_text_width - width;
+                if (justify == ASS_JUSTIFY_LEFT) {
+                    shift = max_text_width - max_width;
+                } else if (justify == ASS_JUSTIFY_CENTER) {
+                    shift = max_text_width - max_width + (max_width - width) / 
2.0;
+                } else {
+                    shift = max_text_width - width;
+                }
             } else if (halign == HALIGN_CENTER) {   // centered
-                shift = (max_text_width - width) / 2.0;
+                if (justify == ASS_JUSTIFY_LEFT) {
+                    shift = (max_text_width - max_width) / 2.0;
+                } else if (justify == ASS_JUSTIFY_RIGHT) {
+                    shift = (max_text_width - max_width) / 2.0 + max_width - 
width;
+                } else {
+                    shift = (max_text_width - width) / 2.0;
+                }
             }
             for (j = last_break + 1; j < i; ++j) {
                 GlyphInfo *info = glyphs + j;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/libass/ass_render.h 
new/libass-0.13.6/libass/ass_render.h
--- old/libass-0.13.4/libass/ass_render.h       2016-07-11 23:29:00.000000000 
+0200
+++ new/libass-0.13.6/libass/ass_render.h       2016-12-29 01:48:05.000000000 
+0100
@@ -42,8 +42,10 @@
 #include "ass_rasterizer.h"
 
 #define GLYPH_CACHE_MAX 10000
-#define BITMAP_CACHE_MAX_SIZE 128 * 1048576
-#define COMPOSITE_CACHE_MAX_SIZE 64 * 1048576
+#define MEGABYTE (1024 * 1024)
+#define BITMAP_CACHE_MAX_SIZE (128 * MEGABYTE)
+#define COMPOSITE_CACHE_RATIO 2
+#define COMPOSITE_CACHE_MAX_SIZE (BITMAP_CACHE_MAX_SIZE / 
COMPOSITE_CACHE_RATIO)
 
 #define PARSED_FADE (1<<0)
 #define PARSED_A    (1<<1)
@@ -220,6 +222,7 @@
     FT_Stroker stroker;
     int stroker_radius;         // last stroker radius, for caching stroker 
objects
     int alignment;              // alignment overrides go here; if zero, style 
value will be used
+    int justify;                // justify instructions
     double frx, fry, frz;
     double fax, fay;            // text shearing
     enum {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/libass/ass_render_api.c 
new/libass-0.13.6/libass/ass_render_api.c
--- old/libass-0.13.4/libass/ass_render_api.c   2016-07-11 23:29:00.000000000 
+0200
+++ new/libass-0.13.6/libass/ass_render_api.c   2016-12-29 01:48:05.000000000 
+0100
@@ -180,8 +180,18 @@
                           int bitmap_max)
 {
     render_priv->cache.glyph_max = glyph_max ? glyph_max : GLYPH_CACHE_MAX;
-    render_priv->cache.bitmap_max_size = bitmap_max ? 1048576 * bitmap_max :
-                                         BITMAP_CACHE_MAX_SIZE;
+
+    size_t bitmap_cache, composite_cache;
+    if (bitmap_max) {
+        bitmap_cache = MEGABYTE * (size_t) bitmap_max;
+        composite_cache = bitmap_cache / (COMPOSITE_CACHE_RATIO + 1);
+        bitmap_cache -= composite_cache;
+    } else {
+        bitmap_cache = BITMAP_CACHE_MAX_SIZE;
+        composite_cache = COMPOSITE_CACHE_MAX_SIZE;
+    }
+    render_priv->cache.bitmap_max_size = bitmap_cache;
+    render_priv->cache.composite_max_size = composite_cache;
 }
 
 ASS_FontProvider *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/libass/ass_strtod.c 
new/libass-0.13.6/libass/ass_strtod.c
--- old/libass-0.13.4/libass/ass_strtod.c       2015-10-26 20:26:04.000000000 
+0100
+++ new/libass-0.13.6/libass/ass_strtod.c       2016-12-29 01:48:05.000000000 
+0100
@@ -1,6 +1,7 @@
 /*
  * Copyright (c) 1988-1993 The Regents of the University of California.
  * Copyright (c) 1994 Sun Microsystems, Inc.
+ * Copyright (c) 2016 Oleg Oshmyan <chor...@inbox.lv>
  *
  * Permission to use, copy, modify, and distribute this
  * software and its documentation for any purpose and without
@@ -16,11 +17,12 @@
 #include "ass_compat.h"
 
 #include <stdlib.h>
+#include <float.h>
 #include <errno.h>
 #include "ass_string.h"
 
 static
-const int maxExponent = 511;    /* Largest possible base 10 exponent.  Any
+const size_t maxExponent = 511; /* Largest possible base 10 exponent.  Any
                                  * exponent larger than this will already
                                  * produce underflow or overflow, so there's
                                  * no need to worry about additional digits.
@@ -39,6 +41,19 @@
     1.0e256
 };
 
+static
+const double negPowOf10[] = {   /* Table giving negative binary powers */
+    0.1,                        /* of 10.  Entry is 10^-2^i. */
+    0.01,                       /* Used to convert decimal exponents */
+    1.0e-4,                     /* into floating-point numbers. */
+    1.0e-8,
+    1.0e-16,
+    1.0e-32,
+    1.0e-64,
+    1.0e-128,
+    1.0e-256
+};
+
 /*
  *----------------------------------------------------------------------
  *
@@ -78,12 +93,13 @@
                              * address here. */
     )
 {
-    int sign, expSign = 0;
-    double fraction, dblExp, *d;
+    int sign, fracExpSign, expSign;
+    double fraction, dblExp;
+    const double *d;
     register const char *p;
     register int c;
-    int exp = 0;            /* Exponent read from "EX" field. */
-    int fracExp = 0;        /* Exponent that derives from the fractional
+    size_t exp = 0;         /* Exponent read from "EX" field. */
+    size_t fracExp;         /* Exponent that derives from the fractional
                              * part.  Under normal circumstatnces, it is
                              * the negative of the number of digits in F.
                              * However, if I is very long, the last digits
@@ -92,9 +108,10 @@
                              * unnecessary overflow on I alone).  In this
                              * case, fracExp is incremented one for each
                              * dropped digit. */
-    int mantSize;       /* Number of digits in mantissa. */
-    int decPt;          /* Number of mantissa digits BEFORE decimal
+    size_t mantSize;    /* Number of digits in mantissa. */
+    size_t decPt;       /* Number of mantissa digits BEFORE decimal
                          * point. */
+    size_t leadZeros;   /* Number of leading zeros in mantissa. */
     const char *pExp;       /* Temporarily holds location of exponent
                              * in string. */
 
@@ -122,14 +139,17 @@
      */
 
     decPt = -1;
+    leadZeros = -1;
     for (mantSize = 0; ; mantSize += 1)
     {
         c = *p;
         if (!ass_isdigit(c)) {
-            if ((c != '.') || (decPt >= 0)) {
+            if ((c != '.') || (decPt != (size_t) -1)) {
                 break;
             }
             decPt = mantSize;
+        } else if ((c != '0') && (leadZeros == (size_t) -1)) {
+            leadZeros = mantSize;
         }
         p += 1;
     }
@@ -141,17 +161,27 @@
      * they can't affect the value anyway.
      */
 
+    if (leadZeros == (size_t) -1) {
+        leadZeros = mantSize;
+    }
     pExp  = p;
-    p -= mantSize;
-    if (decPt < 0) {
+    p -= mantSize - leadZeros;
+    if (decPt == (size_t) -1) {
         decPt = mantSize;
     } else {
         mantSize -= 1;      /* One of the digits was the point. */
+        if (decPt < leadZeros) {
+            leadZeros -= 1;
+        }
+    }
+    if (mantSize - leadZeros > 18) {
+        mantSize = leadZeros + 18;
     }
-    if (mantSize > 18) {
-        fracExp = decPt - 18;
-        mantSize = 18;
+    if (decPt < mantSize) {
+        fracExpSign = 1;
+        fracExp = mantSize - decPt;
     } else {
+        fracExpSign = 0;
         fracExp = decPt - mantSize;
     }
     if (mantSize == 0) {
@@ -159,9 +189,11 @@
         p = string;
         goto done;
     } else {
-        int frac1, frac2;
+        int frac1, frac2, m;
+        mantSize -= leadZeros;
+        m = mantSize;
         frac1 = 0;
-        for ( ; mantSize > 9; mantSize -= 1)
+        for ( ; m > 9; m -= 1)
         {
             c = *p;
             p += 1;
@@ -172,7 +204,7 @@
             frac1 = 10*frac1 + (c - '0');
         }
         frac2 = 0;
-        for (; mantSize > 0; mantSize -= 1)
+        for (; m > 0; m -= 1)
         {
             c = *p;
             p += 1;
@@ -191,6 +223,14 @@
 
     p = pExp;
     if ((*p == 'E') || (*p == 'e')) {
+        size_t expLimit;    /* If exp > expLimit, appending another digit
+                             * to exp is guaranteed to make it too large.
+                             * If exp == expLimit, this may depend on
+                             * the exact digit, but in any case exp with
+                             * the digit appended and fracExp added will
+                             * still fit in size_t, even if it does
+                             * exceed maxExponent. */
+        int expWraparound = 0;
         p += 1;
         if (*p == '-') {
             expSign = 1;
@@ -201,15 +241,38 @@
             }
             expSign = 0;
         }
+        if (expSign == fracExpSign) {
+            if (maxExponent < fracExp) {
+                expLimit = 0;
+            } else {
+                expLimit = (maxExponent - fracExp) / 10;
+            }
+        } else {
+            expLimit = fracExp / 10 + (fracExp % 10 + maxExponent) / 10;
+        }
         while (ass_isdigit(*p)) {
+            if ((exp > expLimit) || expWraparound) {
+                do {
+                    p += 1;
+                } while (ass_isdigit(*p));
+                goto expOverflow;
+            } else if (exp > ((size_t) -1 - (*p - '0')) / 10) {
+                expWraparound = 1;
+            }
             exp = exp * 10 + (*p - '0');
             p += 1;
         }
-    }
-    if (expSign) {
-        exp = fracExp - exp;
+        if (expSign == fracExpSign) {
+            exp = fracExp + exp;
+        } else if ((fracExp <= exp) || expWraparound) {
+            exp = exp - fracExp;
+        } else {
+            exp = fracExp - exp;
+            expSign = fracExpSign;
+        }
     } else {
-        exp = fracExp + exp;
+        exp = fracExp;
+        expSign = fracExpSign;
     }
 
     /*
@@ -219,18 +282,39 @@
      * fraction.
      */
 
-    if (exp < 0) {
-        expSign = 1;
-        exp = -exp;
-    } else {
-        expSign = 0;
-    }
     if (exp > maxExponent) {
+expOverflow:
         exp = maxExponent;
-        errno = ERANGE;
+        if (fraction != 0.0) {
+            errno = ERANGE;
+        }
+    }
+    /* Prefer positive powers of 10 for increased precision, especially
+     * for small powers that are represented exactly in floating-point. */
+    if ((exp <= DBL_MAX_10_EXP) || !expSign) {
+        d = powersOf10;
+    } else {
+        /* The floating-point format supports more negative exponents
+         * than positive, or perhaps the result is a subnormal number. */
+        if (exp > -DBL_MIN_10_EXP) {
+            /* The result might be a valid subnormal number, but the
+             * exponent underflows.  Tweak fraction so that it is below
+             * 1.0 first, so that if the exponent still underflows after
+             * that, the result is sure to underflow as well. */
+            exp -= mantSize;
+            dblExp = 1.0;
+            for (d = powersOf10; mantSize != 0; mantSize >>= 1, d += 1) {
+                if (mantSize & 01) {
+                    dblExp *= *d;
+                }
+            }
+            fraction /= dblExp;
+        }
+        d = negPowOf10;
+        expSign = 0;
     }
     dblExp = 1.0;
-    for (d = (double *) powersOf10; exp != 0; exp >>= 1, d += 1) {
+    for (; exp != 0; exp >>= 1, d += 1) {
         if (exp & 01) {
             dblExp *= *d;
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/libass/ass_types.h 
new/libass-0.13.6/libass/ass_types.h
--- old/libass-0.13.4/libass/ass_types.h        2015-09-07 11:42:54.000000000 
+0200
+++ new/libass-0.13.6/libass/ass_types.h        2016-12-29 01:48:05.000000000 
+0100
@@ -28,6 +28,10 @@
 #define HALIGN_LEFT 1
 #define HALIGN_CENTER 2
 #define HALIGN_RIGHT 3
+#define ASS_JUSTIFY_AUTO 0
+#define ASS_JUSTIFY_LEFT 1
+#define ASS_JUSTIFY_CENTER 2
+#define ASS_JUSTIFY_RIGHT 3
 
 #define FONT_WEIGHT_LIGHT  300
 #define FONT_WEIGHT_MEDIUM 400
@@ -73,6 +77,7 @@
     int Encoding;
     int treat_fontname_as_pattern;
     double Blur;
+    int Justify;
 } ASS_Style;
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/ltmain.sh new/libass-0.13.6/ltmain.sh
--- old/libass-0.13.4/ltmain.sh 2016-10-05 01:12:09.000000000 +0200
+++ new/libass-0.13.6/ltmain.sh 2017-01-03 20:32:07.000000000 +0100
@@ -31,7 +31,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-0.1"
+VERSION=2.4.6
 package_revision=2.4.6
 
 
@@ -2073,7 +2073,7 @@
        autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
 
 Report bugs to <bug-libt...@gnu.org>.
-GNU libtool home page: <http://www.gnu.org/s/libtool/>.
+GNU libtool home page: <http://www.gnu.org/software/libtool/>.
 General help using GNU software: <http://www.gnu.org/gethelp/>."
     exit 0
 }
@@ -7272,13 +7272,10 @@
       # -tp=*                Portland pgcc target processor selection
       # --sysroot=*          for sysroot support
       # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time 
optimization
-      # -specs=*             GCC specs files
       # -stdlib=*            select c++ std lib with clang
-      # -fsanitize=*         Clang/GCC memory and address sanitizer
       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
       
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-      
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
-      -specs=*|-fsanitize=*)
+      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
         func_quote_for_eval "$arg"
        arg=$func_quote_for_eval_result
         func_append compile_command " $arg"
@@ -7571,10 +7568,7 @@
        case $pass in
        dlopen) libs=$dlfiles ;;
        dlpreopen) libs=$dlprefiles ;;
-       link)
-         libs="$deplibs %DEPLIBS%"
-         test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
-         ;;
+       link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
        esac
       fi
       if test lib,dlpreopen = "$linkmode,$pass"; then
@@ -7893,19 +7887,19 @@
            # It is a libtool convenience library, so add in its objects.
            func_append convenience " $ladir/$objdir/$old_library"
            func_append old_convenience " $ladir/$objdir/$old_library"
-           tmp_libs=
-           for deplib in $dependency_libs; do
-             deplibs="$deplib $deplibs"
-             if $opt_preserve_dup_deps; then
-               case "$tmp_libs " in
-               *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-               esac
-             fi
-             func_append tmp_libs " $deplib"
-           done
          elif test prog != "$linkmode" && test lib != "$linkmode"; then
            func_fatal_error "'$lib' is not a convenience library"
          fi
+         tmp_libs=
+         for deplib in $dependency_libs; do
+           deplibs="$deplib $deplibs"
+           if $opt_preserve_dup_deps; then
+             case "$tmp_libs " in
+             *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+             esac
+           fi
+           func_append tmp_libs " $deplib"
+         done
          continue
        fi # $pass = conv
 
@@ -8829,9 +8823,6 @@
            revision=$number_minor
            lt_irix_increment=no
            ;;
-         *)
-           func_fatal_configuration "$modename: unknown library version type 
'$version_type'"
-           ;;
          esac
          ;;
        no)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/m4/libtool.m4 
new/libass-0.13.6/m4/libtool.m4
--- old/libass-0.13.4/m4/libtool.m4     2016-10-05 01:12:09.000000000 +0200
+++ new/libass-0.13.6/m4/libtool.m4     2017-01-03 20:32:07.000000000 +0100
@@ -2887,18 +2887,6 @@
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -3558,7 +3546,7 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu)
+netbsd*)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern 
/lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
@@ -4436,7 +4424,7 @@
            ;;
        esac
        ;;
-      netbsd* | netbsdelf*-gnu)
+      netbsd*)
        ;;
       *qnx* | *nto*)
         # QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4948,9 +4936,6 @@
       ;;
     esac
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    _LT_TAGVAR(link_all_deplibs, $1)=no
-    ;;
   *)
     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | 
$global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
@@ -5013,9 +4998,6 @@
   openbsd* | bitrig*)
     with_gnu_ld=no
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    _LT_TAGVAR(link_all_deplibs, $1)=no
-    ;;
   esac
 
   _LT_TAGVAR(ld_shlibs, $1)=yes
@@ -5270,7 +5252,7 @@
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs 
$linker_flags -o $lib'
        wlarc=
@@ -5791,7 +5773,6 @@
        if test yes = "$lt_cv_irix_exported_symbol"; then
           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs 
$deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && 
func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry 
$wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
        fi
-       _LT_TAGVAR(link_all_deplibs, $1)=no
       else
        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags -soname $soname `test -n "$verstring" && func_echo_all 
"-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags -soname $soname `test -n "$verstring" && func_echo_all 
"-set_version $verstring"` -update_registry $output_objdir/so_locations 
-exports_file $export_symbols -o $lib'
@@ -5813,7 +5794,7 @@
       esac
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs 
$linker_flags'  # a.out
       else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/profile/Makefile.in 
new/libass-0.13.6/profile/Makefile.in
--- old/libass-0.13.4/profile/Makefile.in       2016-10-05 01:12:17.000000000 
+0200
+++ new/libass-0.13.6/profile/Makefile.in       2017-01-03 20:32:13.000000000 
+0100
@@ -304,7 +304,6 @@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
-runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.4/test/Makefile.in 
new/libass-0.13.6/test/Makefile.in
--- old/libass-0.13.4/test/Makefile.in  2016-10-05 01:12:17.000000000 +0200
+++ new/libass-0.13.6/test/Makefile.in  2017-01-03 20:32:13.000000000 +0100
@@ -304,7 +304,6 @@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
-runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@


Reply via email to