From 7643f0efd2f3c511474d585873a4a0778403d5435cb7d37d1b2f4a212e4f56ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Tue, 13 Mar 2018 07:10:28 +0000 Subject: [PATCH 1/2] Accepting request 586112 from home:avindra - Update to 3.3 * Use masquerade as compiler white-list. * New --allow-private (the default) which allows non-global IP and IPv6 addresses. * Cross-compilation support. * Fix parsing of IPv6 addresses. * Python 3, not python 2. * Can build without python (and without pump mode or tests). - cleanup with spec-cleaner - use %autosetup macro - drop distcc-minilzo-2.08.patch (upstreamed) - drop distcc-3.0-fix-fortify.patch (upstreamed) - rebase distcc-3.2_rc1-freedesktop.patch - rebase distcc-3.2_rc1-gssapi.patch - rebase distcc-3.2_rc1-python.patch - renumber patches OBS-URL: https://build.opensuse.org/request/show/586112 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/distcc?expand=0&rev=14 --- distcc-3.0-fix-fortify.patch | 11 - distcc-3.2_rc1-freedesktop.patch | 29 +- distcc-3.2_rc1-gssapi.patch | 17 +- distcc-3.2_rc1-python.patch | 432 +- distcc-3.3.tar.gz | 3 + distcc-minilzo-2.08.patch | 11811 ----------------------------- distcc.changes | 20 + distcc.spec | 57 +- v3.2rc1.tar.gz | 3 - 9 files changed, 266 insertions(+), 12117 deletions(-) delete mode 100644 distcc-3.0-fix-fortify.patch create mode 100644 distcc-3.3.tar.gz delete mode 100644 distcc-minilzo-2.08.patch delete mode 100644 v3.2rc1.tar.gz diff --git a/distcc-3.0-fix-fortify.patch b/distcc-3.0-fix-fortify.patch deleted file mode 100644 index 8d5f3ea..0000000 --- a/distcc-3.0-fix-fortify.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -ru a/src/snprintf.h b/src/snprintf.h ---- a/src/snprintf.h 2008-08-06 15:52:06.000000000 -0500 -+++ b/src/snprintf.h 2009-01-04 15:19:22.000000000 -0600 -@@ -7,6 +7,7 @@ - */ - - #include -+#include "config.h" - - #ifdef __GNUC__ - /** Use gcc attribute to check printf fns. a1 is the 1-based index of diff --git a/distcc-3.2_rc1-freedesktop.patch b/distcc-3.2_rc1-freedesktop.patch index 754dedf..92ca35f 100644 --- a/distcc-3.2_rc1-freedesktop.patch +++ b/distcc-3.2_rc1-freedesktop.patch @@ -1,6 +1,5 @@ -diff -Naur distcc-3.2rc1.orig/Makefile.in distcc-3.2rc1/Makefile.in ---- distcc-3.2rc1.orig/Makefile.in 2011-10-26 11:07:15.000000000 +0900 -+++ distcc-3.2rc1/Makefile.in 2011-10-27 16:57:46.815272689 +0900 +--- a/Makefile.in 2011-10-26 11:07:15.000000000 +0900 ++++ b/Makefile.in 2011-10-27 16:57:46.815272689 +0900 @@ -50,13 +50,14 @@ includedir = @includedir@ oldincludedir = /usr/include @@ -18,16 +17,6 @@ diff -Naur distcc-3.2rc1.orig/Makefile.in distcc-3.2rc1/Makefile.in # arguments to pkgconfig GNOME_PACKAGES = @GNOME_PACKAGES@ -@@ -1016,7 +1017,8 @@ - @echo " documents $(DESTDIR)$(docdir)" - @echo " programs $(DESTDIR)$(bindir)" - @echo " system configuration $(DESTDIR)$(sysconfdir)" -- @echo " shared data files $(DESTDIR)$(pkgdatadir)" -+ @echo " icons $(DESTDIR)$(icondir)" -+ @echo " .desktop file $(DESTDIR)$(desktopdir)" - - - # install-sh can't handle multiple arguments, but we don't need any @@ -1108,10 +1110,10 @@ done @@ -43,18 +32,17 @@ diff -Naur distcc-3.2rc1.orig/Makefile.in distcc-3.2rc1/Makefile.in install-conf: $(conf_files) $(default_files) $(mkinstalldirs) "$(DESTDIR)$(sysconfdir)/distcc" -diff -Naur distcc-3.2rc1.orig/gnome/distccmon-gnome.desktop distcc-3.2rc1/gnome/distccmon-gnome.desktop ---- distcc-3.2rc1.orig/gnome/distccmon-gnome.desktop 2011-04-06 03:58:58.000000000 +0900 -+++ distcc-3.2rc1/gnome/distccmon-gnome.desktop 2011-10-27 17:01:50.792242592 +0900 +--- a/gnome/distccmon-gnome.desktop 2011-04-06 03:58:58.000000000 +0900 ++++ b/gnome/distccmon-gnome.desktop 2011-10-27 17:01:50.792242592 +0900 @@ -1,6 +1,4 @@ [Desktop Entry] -Version=0.9.4 -Encoding=UTF-8 Exec=distccmon-gnome Name=distcc monitor - Name[sv]=distcc övervakare + Name[sv]=distcc övervakare @@ -8,9 +6,9 @@ - GenericName[sv]=Distribuerad kompilerings-övervakare + GenericName[sv]=Distribuerad kompilerings-övervakare Comment=Graphical view of distributed compile tasks Comment[sv]=Grafisk vy av distribuerade kompileringsuppgifter -Icon=distccmon-gnome-icon.png @@ -65,9 +53,8 @@ diff -Naur distcc-3.2rc1.orig/gnome/distccmon-gnome.desktop distcc-3.2rc1/gnome/ -Categories=GNOME;Application;Development; +Categories=GNOME;Development; StartupNotify=true -diff -Naur distcc-3.2rc1.orig/src/mon-gnome.c distcc-3.2rc1/src/mon-gnome.c ---- distcc-3.2rc1.orig/src/mon-gnome.c 2008-12-03 06:50:25.000000000 +0900 -+++ distcc-3.2rc1/src/mon-gnome.c 2011-10-27 16:54:50.220566026 +0900 +--- a/src/mon-gnome.c 2008-12-03 06:50:25.000000000 +0900 ++++ b/src/mon-gnome.c 2011-10-27 16:54:50.220566026 +0900 @@ -599,7 +599,7 @@ #if GTK_CHECK_VERSION(2,2,0) diff --git a/distcc-3.2_rc1-gssapi.patch b/distcc-3.2_rc1-gssapi.patch index fb6a0f4..065b573 100644 --- a/distcc-3.2_rc1-gssapi.patch +++ b/distcc-3.2_rc1-gssapi.patch @@ -1,26 +1,25 @@ -diff -Naur distcc-3.2rc1.orig/configure.ac distcc-3.2rc1/configure.ac ---- distcc-3.2rc1.orig/configure.ac 2011-10-21 13:40:55.000000000 +0900 -+++ distcc-3.2rc1/configure.ac 2011-10-27 18:06:58.938922585 +0900 -@@ -15,6 +15,8 @@ +--- a/configure.ac 2011-10-21 13:40:55.000000000 +0900 ++++ b/configure.ac 2011-10-27 18:06:58.938922585 +0900 +@@ -14,6 +14,8 @@ + AC_CONFIG_HEADERS(src/config.h) - AC_CANONICAL_HOST +PKG_PROG_PKG_CONFIG + # FreeBSD installs its version of libpopt into /usr/local/, but does # not put that on the default library and header path. # Solaris doesn't even ship libpopt. We used to add that path if -@@ -502,16 +504,17 @@ +@@ -503,16 +505,17 @@ [provide mutual authentication services via the GSS-API])]) if test x"$with_auth" = xyes; then - AC_SEARCH_LIBS([gss_init_sec_context], -- [gssapi gssapi_krb5], +- [gssapi gssapi_krb5 gss], - AC_DEFINE(HAVE_GSSAPI, 1, [Define if the GSS_API is available]) + PKG_CHECK_MODULES(GSSAPI, libgssglue, + [AC_DEFINE(HAVE_GSSAPI, 1, [Define if the GSS_API is available]) -+ CFLAGS="$CFLAGS $GSSAPI_CFLAGS" -+ LIBS="$LIBS $GSSAPI_LIBS" ++ CFLAGS="$CFLAGS $GSSAPI_CFLAGS" ++ LIBS="$LIBS $GSSAPI_LIBS" AUTH_COMMON_OBJS="src/auth_common.o" AUTH_DISTCC_OBJS="src/auth_distcc.o" - AUTH_DISTCCD_OBJS="src/auth_distccd.o", diff --git a/distcc-3.2_rc1-python.patch b/distcc-3.2_rc1-python.patch index 77d1d66..0a4ce1b 100644 --- a/distcc-3.2_rc1-python.patch +++ b/distcc-3.2_rc1-python.patch @@ -1,246 +1,216 @@ -diff -Naur distcc-3.2rc1.orig/bench/statistics.py distcc-3.2rc1/bench/statistics.py ---- distcc-3.2rc1.orig/bench/statistics.py 2008-12-03 06:50:21.000000000 +0900 -+++ distcc-3.2rc1/bench/statistics.py 2011-10-27 17:05:08.418023081 +0900 +--- a/bench/statistics.py 2008-12-03 06:50:21.000000000 +0900 ++++ b/bench/statistics.py 2011-10-27 17:05:08.418023081 +0900 @@ -1,4 +1,4 @@ -#! /usr/bin/env python2.2 +#! /usr/bin/env python # benchmark -- automated system for testing distcc correctness # and performance on various source trees. -diff -Naur distcc-3.2rc1.orig/configure.ac distcc-3.2rc1/configure.ac ---- distcc-3.2rc1.orig/configure.ac 2011-10-21 13:40:55.000000000 +0900 -+++ distcc-3.2rc1/configure.ac 2011-10-27 17:05:31.179112690 +0900 -@@ -243,7 +243,7 @@ - # - # NB: Cannot use AC_CONFIG_LIBOBJ_DIR here, because it's not present - # in autoconf 2.53. --AC_PATH_PROGS(PYTHON, [python2.6 python-2.6 python2.5 python-2.5 python2.4 python-2.4 python]) -+AC_PATH_PROGS(PYTHON, [python]) - AC_ARG_VAR(PYTHON, [Python interpreter]) - # Python 1 doesn't even support -V - if ! "$PYTHON" -V 2>&1 | grep "^Python" >/dev/null; then -diff -Naur distcc-3.2rc1.orig/include_server/basics.py distcc-3.2rc1/include_server/basics.py ---- distcc-3.2rc1.orig/include_server/basics.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/basics.py 2011-10-27 17:05:08.421023097 +0900 +--- a/include_server/basics.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/basics.py 2011-10-27 17:05:08.421023097 +0900 @@ -1,4 +1,4 @@ --#!/usr/bin/python2.4 -+#!/usr/bin/python +-#!/usr/bin/env python3 ++#!/usr/bin/python3 # # Copyright 2007 Google Inc. # -diff -Naur distcc-3.2rc1.orig/include_server/basics_test.py distcc-3.2rc1/include_server/basics_test.py ---- distcc-3.2rc1.orig/include_server/basics_test.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/basics_test.py 2011-10-27 17:05:08.421023097 +0900 +--- a/include_server/basics_test.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/basics_test.py 2011-10-27 17:05:08.421023097 +0900 @@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/c_extensions_test.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/c_extensions_test.py 2011-10-27 17:05:08.421023097 +0900 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python3 ++#!/usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/cache_basics.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/cache_basics.py 2011-10-27 17:05:08.422023101 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/compiler_defaults.py 2011-04-06 03:58:59.000000000 +0900 ++++ b/include_server/compiler_defaults.py 2011-10-27 17:05:08.422023101 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/compress_files.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/compress_files.py 2011-10-27 17:05:08.422023101 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/include_analyzer.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/include_analyzer.py 2011-10-27 17:05:08.422023101 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/include_analyzer_memoizing_node.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/include_analyzer_memoizing_node.py 2011-10-27 17:05:08.422023101 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/include_analyzer_memoizing_node_test.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/include_analyzer_memoizing_node_test.py 2011-10-27 17:05:08.423023105 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/include_analyzer_test.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/include_analyzer_test.py 2011-10-27 17:05:08.423023105 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/include_server.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/include_server.py 2011-10-27 17:05:08.423023105 +0900 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python3 ++#!/usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/include_server_test.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/include_server_test.py 2011-10-27 17:05:08.423023105 +0900 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python3 ++#!/usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/macro_eval.py 2011-04-06 03:58:59.000000000 +0900 ++++ b/include_server/macro_eval.py 2011-10-27 17:05:08.423023105 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/macro_eval_test.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/macro_eval_test.py 2011-10-27 17:05:08.423023105 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/mirror_path.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/mirror_path.py 2011-10-27 17:05:08.424023109 +0900 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python3 ++#!/usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/mirror_path_test.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/mirror_path_test.py 2011-10-27 17:05:08.424023109 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/parse_command.py 2011-04-06 03:58:59.000000000 +0900 ++++ b/include_server/parse_command.py 2011-10-27 17:05:08.424023109 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/parse_command_test.py 2011-04-06 03:58:59.000000000 +0900 ++++ b/include_server/parse_command_test.py 2011-10-27 17:05:08.424023109 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/parse_file.py 2011-04-06 03:58:59.000000000 +0900 ++++ b/include_server/parse_file.py 2011-10-27 17:05:08.424023109 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/parse_file_test.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/parse_file_test.py 2011-10-27 17:05:08.424023109 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/run.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/run.py 2011-10-27 17:05:08.424023109 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/setup.py 2011-04-06 03:58:59.000000000 +0900 ++++ b/include_server/setup.py 2011-10-27 17:05:08.425023113 +0900 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python3 ++#!/usr/bin/python3 + + # Copyright 2007 Google Inc. + # +--- a/include_server/statistics.py 2008-12-03 06:50:31.000000000 +0900 ++++ b/include_server/statistics.py 2011-10-27 17:05:08.425023113 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 ++#! /usr/bin/python3 + # + # Copyright 2007 Google Inc. + # +--- a/test/onetest.py 2008-12-03 06:50:22.000000000 +0900 ++++ b/test/onetest.py 2011-10-27 17:05:08.432023140 +0900 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python3 ++#!/usr/bin/python3 + # + # Copyright 2007 Google Inc. + # +--- a/test/testdistcc.py 2011-10-21 11:40:49.000000000 +0900 ++++ b/test/testdistcc.py 2011-10-27 17:05:08.432023140 +0900 +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python3 +#! /usr/bin/python - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/c_extensions_test.py distcc-3.2rc1/include_server/c_extensions_test.py ---- distcc-3.2rc1.orig/include_server/c_extensions_test.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/c_extensions_test.py 2011-10-27 17:05:08.421023097 +0900 -@@ -1,4 +1,4 @@ --#!/usr/bin/python2.4 -+#!/usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/cache_basics.py distcc-3.2rc1/include_server/cache_basics.py ---- distcc-3.2rc1.orig/include_server/cache_basics.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/cache_basics.py 2011-10-27 17:05:08.422023101 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/compiler_defaults.py distcc-3.2rc1/include_server/compiler_defaults.py ---- distcc-3.2rc1.orig/include_server/compiler_defaults.py 2011-04-06 03:58:59.000000000 +0900 -+++ distcc-3.2rc1/include_server/compiler_defaults.py 2011-10-27 17:05:08.422023101 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/compress_files.py distcc-3.2rc1/include_server/compress_files.py ---- distcc-3.2rc1.orig/include_server/compress_files.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/compress_files.py 2011-10-27 17:05:08.422023101 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/include_analyzer.py distcc-3.2rc1/include_server/include_analyzer.py ---- distcc-3.2rc1.orig/include_server/include_analyzer.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/include_analyzer.py 2011-10-27 17:05:08.422023101 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/include_analyzer_memoizing_node.py distcc-3.2rc1/include_server/include_analyzer_memoizing_node.py ---- distcc-3.2rc1.orig/include_server/include_analyzer_memoizing_node.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/include_analyzer_memoizing_node.py 2011-10-27 17:05:08.422023101 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/include_analyzer_memoizing_node_test.py distcc-3.2rc1/include_server/include_analyzer_memoizing_node_test.py ---- distcc-3.2rc1.orig/include_server/include_analyzer_memoizing_node_test.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/include_analyzer_memoizing_node_test.py 2011-10-27 17:05:08.423023105 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/include_analyzer_test.py distcc-3.2rc1/include_server/include_analyzer_test.py ---- distcc-3.2rc1.orig/include_server/include_analyzer_test.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/include_analyzer_test.py 2011-10-27 17:05:08.423023105 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/include_server.py distcc-3.2rc1/include_server/include_server.py ---- distcc-3.2rc1.orig/include_server/include_server.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/include_server.py 2011-10-27 17:05:08.423023105 +0900 -@@ -1,4 +1,4 @@ --#!/usr/bin/python2.4 -+#!/usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/include_server_test.py distcc-3.2rc1/include_server/include_server_test.py ---- distcc-3.2rc1.orig/include_server/include_server_test.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/include_server_test.py 2011-10-27 17:05:08.423023105 +0900 -@@ -1,4 +1,4 @@ --#!/usr/bin/python2.4 -+#!/usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/macro_eval.py distcc-3.2rc1/include_server/macro_eval.py ---- distcc-3.2rc1.orig/include_server/macro_eval.py 2011-04-06 03:58:59.000000000 +0900 -+++ distcc-3.2rc1/include_server/macro_eval.py 2011-10-27 17:05:08.423023105 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/macro_eval_test.py distcc-3.2rc1/include_server/macro_eval_test.py ---- distcc-3.2rc1.orig/include_server/macro_eval_test.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/macro_eval_test.py 2011-10-27 17:05:08.423023105 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/mirror_path.py distcc-3.2rc1/include_server/mirror_path.py ---- distcc-3.2rc1.orig/include_server/mirror_path.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/mirror_path.py 2011-10-27 17:05:08.424023109 +0900 -@@ -1,4 +1,4 @@ --#!/usr/bin/python2.4 -+#!/usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/mirror_path_test.py distcc-3.2rc1/include_server/mirror_path_test.py ---- distcc-3.2rc1.orig/include_server/mirror_path_test.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/mirror_path_test.py 2011-10-27 17:05:08.424023109 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/parse_command.py distcc-3.2rc1/include_server/parse_command.py ---- distcc-3.2rc1.orig/include_server/parse_command.py 2011-04-06 03:58:59.000000000 +0900 -+++ distcc-3.2rc1/include_server/parse_command.py 2011-10-27 17:05:08.424023109 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/parse_command_test.py distcc-3.2rc1/include_server/parse_command_test.py ---- distcc-3.2rc1.orig/include_server/parse_command_test.py 2011-04-06 03:58:59.000000000 +0900 -+++ distcc-3.2rc1/include_server/parse_command_test.py 2011-10-27 17:05:08.424023109 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/parse_file.py distcc-3.2rc1/include_server/parse_file.py ---- distcc-3.2rc1.orig/include_server/parse_file.py 2011-04-06 03:58:59.000000000 +0900 -+++ distcc-3.2rc1/include_server/parse_file.py 2011-10-27 17:05:08.424023109 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/parse_file_test.py distcc-3.2rc1/include_server/parse_file_test.py ---- distcc-3.2rc1.orig/include_server/parse_file_test.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/parse_file_test.py 2011-10-27 17:05:08.424023109 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/run.py distcc-3.2rc1/include_server/run.py ---- distcc-3.2rc1.orig/include_server/run.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/run.py 2011-10-27 17:05:08.424023109 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/setup.py distcc-3.2rc1/include_server/setup.py ---- distcc-3.2rc1.orig/include_server/setup.py 2011-04-06 03:58:59.000000000 +0900 -+++ distcc-3.2rc1/include_server/setup.py 2011-10-27 17:05:08.425023113 +0900 -@@ -1,4 +1,4 @@ --#!/usr/bin/python2.4 -+#!/usr/bin/python - - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/include_server/statistics.py distcc-3.2rc1/include_server/statistics.py ---- distcc-3.2rc1.orig/include_server/statistics.py 2008-12-03 06:50:31.000000000 +0900 -+++ distcc-3.2rc1/include_server/statistics.py 2011-10-27 17:05:08.425023113 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/python2.4 -+#! /usr/bin/python - # - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/test/onetest.py distcc-3.2rc1/test/onetest.py ---- distcc-3.2rc1.orig/test/onetest.py 2008-12-03 06:50:22.000000000 +0900 -+++ distcc-3.2rc1/test/onetest.py 2011-10-27 17:05:08.432023140 +0900 -@@ -1,4 +1,4 @@ --#!/usr/bin/python2.4 -+#!/usr/bin/python - # - # Copyright 2007 Google Inc. - # -diff -Naur distcc-3.2rc1.orig/test/testdistcc.py distcc-3.2rc1/test/testdistcc.py ---- distcc-3.2rc1.orig/test/testdistcc.py 2011-10-21 11:40:49.000000000 +0900 -+++ distcc-3.2rc1/test/testdistcc.py 2011-10-27 17:05:08.432023140 +0900 -@@ -1,4 +1,4 @@ --#! /usr/bin/env python2.2 -+#! /usr/bin/env python - # Copyright (C) 2002, 2003, 2004 by Martin Pool # Copyright 2007 Google Inc. +--- a/update-distcc-symlinks.py 2018-03-12 21:05:56.325853740 -0400 ++++ b/update-distcc-symlinks.py 2018-03-12 21:06:03.205684850 -0400 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python3 ++#!/usr/bin/python3 + + import subprocess, string, os, stat, re + diff --git a/distcc-3.3.tar.gz b/distcc-3.3.tar.gz new file mode 100644 index 0000000..8534444 --- /dev/null +++ b/distcc-3.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c389146e88e645304cdfd8ce5fb63de5dbdead76d5e3919692b757027f673537 +size 997156 diff --git a/distcc-minilzo-2.08.patch b/distcc-minilzo-2.08.patch deleted file mode 100644 index c4fddd4..0000000 --- a/distcc-minilzo-2.08.patch +++ /dev/null @@ -1,11811 +0,0 @@ -commit 09641d0032b54aa21e3648f3c0d718b0c6ef80d5 -Author: mandyke@gmail.com -Date: Tue Jul 29 05:42:25 2014 +0000 - - lzo: Update to 2.08 - - Fixes issue 142 - - git-svn-id: http://distcc.googlecode.com/svn/trunk@795 01de4be4-8c4a-0410-9132-4925637da917 - -diff --git a/Makefile.in b/Makefile.in -index bb309a2..b398bc8 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -118,7 +118,11 @@ dist_files = \ - - dist_dirs = m4 include_server/test_data - --dist_lzo = lzo/minilzo.c lzo/minilzo.h lzo/lzoconf.h lzo/.stamp-conf.in -+dist_lzo = lzo/minilzo.c \ -+ lzo/minilzo.h \ -+ lzo/lzoconf.h \ -+ lzo/lzodefs.h \ -+ lzo/.stamp-conf.in - - dist_contrib = contrib/distcc-absolutify \ - contrib/distcc.sh \ -diff --git a/configure.ac b/configure.ac -index 5847948..d795edc 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -224,6 +224,9 @@ AC_ISC_POSIX - # variadic macros. If we can disable it, do so. - - -+# This is needed for our included version of lzo. -+CPPFLAGS="$CPPFLAGS -DMINILZO_HAVE_CONFIG_H" -+ - # This is needed for our included version of popt. - # TODO(csilvers): figure out what that above comment means, and if it's true. - CPPFLAGS="$CPPFLAGS -DHAVE_CONFIG_H" -diff --git a/lzo/README.LZO b/lzo/README.LZO -new file mode 100644 -index 0000000..83e10e3 ---- /dev/null -+++ b/lzo/README.LZO -@@ -0,0 +1,123 @@ -+ -+ ============================================================================ -+ miniLZO -- mini subset of the LZO real-time data compression library -+ ============================================================================ -+ -+ Author : Markus Franz Xaver Johannes Oberhumer -+ -+ http://www.oberhumer.com/opensource/lzo/ -+ Version : 2.08 -+ Date : 29 Jun 2014 -+ -+ I've created miniLZO for projects where it is inconvenient to -+ include (or require) the full LZO source code just because you -+ want to add a little bit of data compression to your application. -+ -+ miniLZO implements the LZO1X-1 compressor and both the standard and -+ safe LZO1X decompressor. Apart from fast compression it also useful -+ for situations where you want to use pre-compressed data files (which -+ must have been compressed with LZO1X-999). -+ -+ miniLZO consists of one C source file and three header files: -+ minilzo.c -+ minilzo.h, lzoconf.h, lzodefs.h -+ -+ To use miniLZO just copy these files into your source directory, add -+ minilzo.c to your Makefile and #include minilzo.h from your program. -+ Note: you also must distribute this file ('README.LZO') with your project. -+ -+ minilzo.o compiles to about 6 KiB (using gcc or Visual C on an i386), and -+ the sources are about 30 KiB when packed with zip - so there's no more -+ excuse that your application doesn't support data compression :-) -+ -+ For more information, documentation, example programs and other support -+ files (like Makefiles and build scripts) please download the full LZO -+ package from -+ http://www.oberhumer.com/opensource/lzo/ -+ -+ Have fun, -+ Markus -+ -+ -+ P.S. minilzo.c is generated automatically from the LZO sources and -+ therefore functionality is completely identical -+ -+ -+ Appendix A: building miniLZO -+ ---------------------------- -+ miniLZO is written such a way that it should compile and run -+ out-of-the-box on most machines. -+ -+ If you are running on a very unusual architecture and lzo_init() fails then -+ you should first recompile with '-DLZO_DEBUG' to see what causes the failure. -+ The most probable case is something like 'sizeof(void *) != sizeof(size_t)'. -+ After identifying the problem you can compile by adding some defines -+ like '-DSIZEOF_VOID_P=8' to your Makefile. -+ -+ The best solution is (of course) using Autoconf - if your project uses -+ Autoconf anyway just add '-DMINILZO_HAVE_CONFIG_H' to your compiler -+ flags when compiling minilzo.c. See the LZO distribution for an example -+ how to set up configure.ac. -+ -+ -+ Appendix B: list of public functions available in miniLZO -+ --------------------------------------------------------- -+ Library initialization -+ lzo_init() -+ -+ Compression -+ lzo1x_1_compress() -+ -+ Decompression -+ lzo1x_decompress() -+ lzo1x_decompress_safe() -+ -+ Checksum functions -+ lzo_adler32() -+ -+ Version functions -+ lzo_version() -+ lzo_version_string() -+ lzo_version_date() -+ -+ Portable (but slow) string functions -+ lzo_memcmp() -+ lzo_memcpy() -+ lzo_memmove() -+ lzo_memset() -+ -+ -+ Appendix C: suggested macros for 'configure.ac' when using Autoconf -+ ------------------------------------------------------------------- -+ Checks for typedefs and structures -+ AC_CHECK_TYPE(ptrdiff_t,long) -+ AC_TYPE_SIZE_T -+ AC_CHECK_SIZEOF(short) -+ AC_CHECK_SIZEOF(int) -+ AC_CHECK_SIZEOF(long) -+ AC_CHECK_SIZEOF(long long) -+ AC_CHECK_SIZEOF(__int64) -+ AC_CHECK_SIZEOF(void *) -+ AC_CHECK_SIZEOF(size_t) -+ AC_CHECK_SIZEOF(ptrdiff_t) -+ -+ Checks for compiler characteristics -+ AC_C_CONST -+ -+ Checks for library functions -+ AC_CHECK_FUNCS(memcmp memcpy memmove memset) -+ -+ -+ Appendix D: Copyright -+ --------------------- -+ LZO and miniLZO are Copyright (C) 1996-2014 Markus Franz Xaver Oberhumer -+ All Rights Reserved. -+ -+ LZO and miniLZO are distributed under the terms of the GNU General -+ Public License (GPL). See the file COPYING. -+ -+ Special licenses for commercial and other applications which -+ are not willing to accept the GNU General Public License -+ are available by contacting the author. -+ -+ -diff --git a/lzo/lzoconf.h b/lzo/lzoconf.h -index 96db180..61be29c 100644 ---- a/lzo/lzoconf.h -+++ b/lzo/lzoconf.h -@@ -1,14 +1,8 @@ --/* lzoconf.h -- configuration for the LZO real-time data compression library -+/* lzoconf.h -- configuration of the LZO data compression library - - This file is part of the LZO real-time data compression library. - -- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer -+ Copyright (C) 1996-2014 Markus Franz Xaver Johannes Oberhumer - All Rights Reserved. - - The LZO library is free software; you can redistribute it and/or -@@ -24,7 +18,7 @@ - You should have received a copy of the GNU General Public License - along with the LZO library; see the file COPYING. - If not, write to the Free Software Foundation, Inc., -- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - Markus F.X.J. Oberhumer - -@@ -32,22 +26,19 @@ - */ - - --#ifndef __LZOCONF_H --#define __LZOCONF_H -+#ifndef __LZOCONF_H_INCLUDED -+#define __LZOCONF_H_INCLUDED 1 - --#define LZO_VERSION 0x1080 --#define LZO_VERSION_STRING "1.08" --#define LZO_VERSION_DATE "Jul 12 2002" -+#define LZO_VERSION 0x2080 -+#define LZO_VERSION_STRING "2.08" -+#define LZO_VERSION_DATE "Jun 29 2014" - - /* internal Autoconf configuration file - only used when building LZO */ - #if defined(LZO_HAVE_CONFIG_H) - # include - #endif - #include -- --#ifdef __cplusplus --extern "C" { --#endif -+#include - - - /*********************************************************************** -@@ -57,88 +48,38 @@ extern "C" { - #if !defined(CHAR_BIT) || (CHAR_BIT != 8) - # error "invalid CHAR_BIT" - #endif --#if !defined(UCHAR_MAX) || !defined(UINT_MAX) || !defined(ULONG_MAX) -+#if !defined(UCHAR_MAX) || !defined(USHRT_MAX) || !defined(UINT_MAX) || !defined(ULONG_MAX) - # error "check your compiler installation" - #endif - #if (USHRT_MAX < 1) || (UINT_MAX < 1) || (ULONG_MAX < 1) - # error "your limits.h macros are broken" - #endif - --/* workaround a cpp bug under hpux 10.20 */ --#define LZO_0xffffffffL 4294967295ul -- --#if !defined(LZO_UINT32_C) --# if (UINT_MAX < LZO_0xffffffffL) --# define LZO_UINT32_C(c) c ## UL --# else --# define LZO_UINT32_C(c) c ## U --# endif -+/* get OS and architecture defines */ -+#ifndef __LZODEFS_H_INCLUDED -+#include "lzodefs.h" - #endif - - --/*********************************************************************** --// architecture defines --************************************************************************/ -- --#if !defined(__LZO_WIN) && !defined(__LZO_DOS) && !defined(__LZO_OS2) --# if defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows) --# define __LZO_WIN --# elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) --# define __LZO_WIN --# elif defined(__NT__) || defined(__NT_DLL__) || defined(__WINDOWS_386__) --# define __LZO_WIN --# elif defined(__DOS__) || defined(__MSDOS__) || defined(MSDOS) --# define __LZO_DOS --# elif defined(__OS2__) || defined(__OS2V2__) || defined(OS2) --# define __LZO_OS2 --# elif defined(__palmos__) --# define __LZO_PALMOS --# elif defined(__TOS__) || defined(__atarist__) --# define __LZO_TOS --# endif --#endif -- --#if (UINT_MAX < LZO_0xffffffffL) --# if defined(__LZO_WIN) --# define __LZO_WIN16 --# elif defined(__LZO_DOS) --# define __LZO_DOS16 --# elif defined(__LZO_PALMOS) --# define __LZO_PALMOS16 --# elif defined(__LZO_TOS) --# define __LZO_TOS16 --# elif defined(__C166__) --# else -- /* porting hint: for pure 16-bit architectures try compiling -- * everything with -D__LZO_STRICT_16BIT */ --# error "16-bit target not supported - contact me for porting hints" --# endif -+#ifdef __cplusplus -+extern "C" { - #endif - --#if !defined(__LZO_i386) --# if defined(__LZO_DOS) || defined(__LZO_WIN16) --# define __LZO_i386 --# elif defined(__i386__) || defined(__386__) || defined(_M_IX86) --# define __LZO_i386 --# endif --#endif - --#if defined(__LZO_STRICT_16BIT) --# if (UINT_MAX < LZO_0xffffffffL) --# include --# endif --#endif -+/*********************************************************************** -+// some core defines -+************************************************************************/ - - /* memory checkers */ - #if !defined(__LZO_CHECKER) - # if defined(__BOUNDS_CHECKING_ON) --# define __LZO_CHECKER -+# define __LZO_CHECKER 1 - # elif defined(__CHECKER__) --# define __LZO_CHECKER -+# define __LZO_CHECKER 1 - # elif defined(__INSURE__) --# define __LZO_CHECKER -+# define __LZO_CHECKER 1 - # elif defined(__PURIFY__) --# define __LZO_CHECKER -+# define __LZO_CHECKER 1 - # endif - #endif - -@@ -147,36 +88,31 @@ extern "C" { - // integral and pointer types - ************************************************************************/ - --/* Integral types with 32 bits or more */ --#if !defined(LZO_UINT32_MAX) --# if (UINT_MAX >= LZO_0xffffffffL) -- typedef unsigned int lzo_uint32; -- typedef int lzo_int32; --# define LZO_UINT32_MAX UINT_MAX --# define LZO_INT32_MAX INT_MAX --# define LZO_INT32_MIN INT_MIN --# elif (ULONG_MAX >= LZO_0xffffffffL) -- typedef unsigned long lzo_uint32; -- typedef long lzo_int32; --# define LZO_UINT32_MAX ULONG_MAX --# define LZO_INT32_MAX LONG_MAX --# define LZO_INT32_MIN LONG_MIN --# else --# error "lzo_uint32" --# endif --#endif -- --/* lzo_uint is used like size_t */ -+/* lzo_uint must match size_t */ - #if !defined(LZO_UINT_MAX) --# if (UINT_MAX >= LZO_0xffffffffL) -+# if (LZO_ABI_LLP64) -+# if (LZO_OS_WIN64) -+ typedef unsigned __int64 lzo_uint; -+ typedef __int64 lzo_int; -+# else -+ typedef lzo_ullong_t lzo_uint; -+ typedef lzo_llong_t lzo_int; -+# endif -+# define LZO_SIZEOF_LZO_UINT 8 -+# define LZO_UINT_MAX 0xffffffffffffffffull -+# define LZO_INT_MAX 9223372036854775807LL -+# define LZO_INT_MIN (-1LL - LZO_INT_MAX) -+# elif (LZO_ABI_IP32L64) /* MIPS R5900 */ - typedef unsigned int lzo_uint; - typedef int lzo_int; -+# define LZO_SIZEOF_LZO_UINT LZO_SIZEOF_INT - # define LZO_UINT_MAX UINT_MAX - # define LZO_INT_MAX INT_MAX - # define LZO_INT_MIN INT_MIN - # elif (ULONG_MAX >= LZO_0xffffffffL) - typedef unsigned long lzo_uint; - typedef long lzo_int; -+# define LZO_SIZEOF_LZO_UINT LZO_SIZEOF_LONG - # define LZO_UINT_MAX ULONG_MAX - # define LZO_INT_MAX LONG_MAX - # define LZO_INT_MIN LONG_MIN -@@ -185,73 +121,83 @@ extern "C" { - # endif - #endif - --typedef int lzo_bool; -- -- --/*********************************************************************** --// memory models --************************************************************************/ -- --/* Memory model for the public code segment. */ --#if !defined(__LZO_CMODEL) --# if defined(__LZO_DOS16) || defined(__LZO_WIN16) --# define __LZO_CMODEL __far --# elif defined(__LZO_i386) && defined(__WATCOMC__) --# define __LZO_CMODEL __near --# else --# define __LZO_CMODEL --# endif -+/* The larger type of lzo_uint and lzo_uint32_t. */ -+#if (LZO_SIZEOF_LZO_UINT >= 4) -+# define lzo_xint lzo_uint -+#else -+# define lzo_xint lzo_uint32_t - #endif - --/* Memory model for the public data segment. */ --#if !defined(__LZO_DMODEL) --# if defined(__LZO_DOS16) || defined(__LZO_WIN16) --# define __LZO_DMODEL __far --# elif defined(__LZO_i386) && defined(__WATCOMC__) --# define __LZO_DMODEL __near --# else --# define __LZO_DMODEL --# endif --#endif -+typedef int lzo_bool; - --/* Memory model that allows to access memory at offsets of lzo_uint. */ --#if !defined(__LZO_MMODEL) --# if (LZO_UINT_MAX <= UINT_MAX) --# define __LZO_MMODEL --# elif defined(__LZO_DOS16) || defined(__LZO_WIN16) --# define __LZO_MMODEL __huge --# define LZO_999_UNSUPPORTED --# elif defined(__LZO_PALMOS16) || defined(__LZO_TOS16) --# define __LZO_MMODEL --# else --# error "__LZO_MMODEL" --# endif -+/* sanity checks */ -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) == LZO_SIZEOF_LZO_UINT) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_xint) >= sizeof(lzo_uint)) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_xint) >= sizeof(lzo_uint32_t)) -+ -+#ifndef __LZO_MMODEL -+#define __LZO_MMODEL /*empty*/ - #endif - - /* no typedef here because of const-pointer issues */ --#define lzo_byte unsigned char __LZO_MMODEL - #define lzo_bytep unsigned char __LZO_MMODEL * - #define lzo_charp char __LZO_MMODEL * - #define lzo_voidp void __LZO_MMODEL * - #define lzo_shortp short __LZO_MMODEL * - #define lzo_ushortp unsigned short __LZO_MMODEL * --#define lzo_uint32p lzo_uint32 __LZO_MMODEL * --#define lzo_int32p lzo_int32 __LZO_MMODEL * --#define lzo_uintp lzo_uint __LZO_MMODEL * - #define lzo_intp lzo_int __LZO_MMODEL * -+#define lzo_uintp lzo_uint __LZO_MMODEL * -+#define lzo_xintp lzo_xint __LZO_MMODEL * - #define lzo_voidpp lzo_voidp __LZO_MMODEL * - #define lzo_bytepp lzo_bytep __LZO_MMODEL * - --#ifndef lzo_sizeof_dict_t --# define lzo_sizeof_dict_t sizeof(lzo_bytep) -+#define lzo_int8_tp lzo_int8_t __LZO_MMODEL * -+#define lzo_uint8_tp lzo_uint8_t __LZO_MMODEL * -+#define lzo_int16_tp lzo_int16_t __LZO_MMODEL * -+#define lzo_uint16_tp lzo_uint16_t __LZO_MMODEL * -+#define lzo_int32_tp lzo_int32_t __LZO_MMODEL * -+#define lzo_uint32_tp lzo_uint32_t __LZO_MMODEL * -+#if defined(lzo_int64_t) -+#define lzo_int64_tp lzo_int64_t __LZO_MMODEL * -+#define lzo_uint64_tp lzo_uint64_t __LZO_MMODEL * - #endif - -+/* Older LZO versions used to support ancient systems and memory models -+ * like 16-bit MSDOS with __huge pointers and Cray PVP, but these -+ * obsolete configurations are not supported any longer. -+ */ -+#if defined(__LZO_MMODEL_HUGE) -+#error "__LZO_MMODEL_HUGE is unsupported" -+#endif -+#if (LZO_MM_PVP) -+#error "LZO_MM_PVP is unsupported" -+#endif -+#if (LZO_SIZEOF_INT < 4) -+#error "LZO_SIZEOF_INT < 4 is unsupported" -+#endif -+#if (__LZO_UINTPTR_T_IS_POINTER) -+#error "__LZO_UINTPTR_T_IS_POINTER is unsupported" -+#endif -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) >= 4) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) >= 4) -+/* Strange configurations where sizeof(lzo_uint) != sizeof(size_t) should -+ * work but have not received much testing lately, so be strict here. -+ */ -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) == sizeof(size_t)) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) == sizeof(ptrdiff_t)) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) == sizeof(lzo_uintptr_t)) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(void *) == sizeof(lzo_uintptr_t)) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(char *) == sizeof(lzo_uintptr_t)) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long *) == sizeof(lzo_uintptr_t)) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(void *) == sizeof(lzo_voidp)) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(char *) == sizeof(lzo_bytep)) -+ - - /*********************************************************************** --// calling conventions and function types -+// function types - ************************************************************************/ - --/* linkage */ -+/* name mangling */ - #if !defined(__LZO_EXTERN_C) - # ifdef __cplusplus - # define __LZO_EXTERN_C extern "C" -@@ -262,115 +208,90 @@ typedef int lzo_bool; - - /* calling convention */ - #if !defined(__LZO_CDECL) --# if defined(__LZO_DOS16) || defined(__LZO_WIN16) --# define __LZO_CDECL __LZO_CMODEL __cdecl --# elif defined(__LZO_i386) && defined(_MSC_VER) --# define __LZO_CDECL __LZO_CMODEL __cdecl --# elif defined(__LZO_i386) && defined(__WATCOMC__) --# define __LZO_CDECL __LZO_CMODEL __cdecl --# else --# define __LZO_CDECL __LZO_CMODEL --# endif --#endif --#if !defined(__LZO_ENTRY) --# define __LZO_ENTRY __LZO_CDECL -+# define __LZO_CDECL __lzo_cdecl - #endif - --/* C++ exception specification for extern "C" function types */ --#if !defined(__cplusplus) --# undef LZO_NOTHROW --# define LZO_NOTHROW --#elif !defined(LZO_NOTHROW) --# define LZO_NOTHROW -+/* DLL export information */ -+#if !defined(__LZO_EXPORT1) -+# define __LZO_EXPORT1 /*empty*/ -+#endif -+#if !defined(__LZO_EXPORT2) -+# define __LZO_EXPORT2 /*empty*/ - #endif - -+/* __cdecl calling convention for public C and assembly functions */ -+#if !defined(LZO_PUBLIC) -+# define LZO_PUBLIC(_rettype) __LZO_EXPORT1 _rettype __LZO_EXPORT2 __LZO_CDECL -+#endif -+#if !defined(LZO_EXTERN) -+# define LZO_EXTERN(_rettype) __LZO_EXTERN_C LZO_PUBLIC(_rettype) -+#endif -+#if !defined(LZO_PRIVATE) -+# define LZO_PRIVATE(_rettype) static _rettype __LZO_CDECL -+#endif - -+/* function types */ - typedef int --(__LZO_ENTRY *lzo_compress_t) ( const lzo_byte *src, lzo_uint src_len, -- lzo_byte *dst, lzo_uintp dst_len, -+(__LZO_CDECL *lzo_compress_t) ( const lzo_bytep src, lzo_uint src_len, -+ lzo_bytep dst, lzo_uintp dst_len, - lzo_voidp wrkmem ); - - typedef int --(__LZO_ENTRY *lzo_decompress_t) ( const lzo_byte *src, lzo_uint src_len, -- lzo_byte *dst, lzo_uintp dst_len, -+(__LZO_CDECL *lzo_decompress_t) ( const lzo_bytep src, lzo_uint src_len, -+ lzo_bytep dst, lzo_uintp dst_len, - lzo_voidp wrkmem ); - - typedef int --(__LZO_ENTRY *lzo_optimize_t) ( lzo_byte *src, lzo_uint src_len, -- lzo_byte *dst, lzo_uintp dst_len, -+(__LZO_CDECL *lzo_optimize_t) ( lzo_bytep src, lzo_uint src_len, -+ lzo_bytep dst, lzo_uintp dst_len, - lzo_voidp wrkmem ); - - typedef int --(__LZO_ENTRY *lzo_compress_dict_t)(const lzo_byte *src, lzo_uint src_len, -- lzo_byte *dst, lzo_uintp dst_len, -- lzo_voidp wrkmem, -- const lzo_byte *dict, lzo_uint dict_len ); -+(__LZO_CDECL *lzo_compress_dict_t)(const lzo_bytep src, lzo_uint src_len, -+ lzo_bytep dst, lzo_uintp dst_len, -+ lzo_voidp wrkmem, -+ const lzo_bytep dict, lzo_uint dict_len ); - - typedef int --(__LZO_ENTRY *lzo_decompress_dict_t)(const lzo_byte *src, lzo_uint src_len, -- lzo_byte *dst, lzo_uintp dst_len, -- lzo_voidp wrkmem, -- const lzo_byte *dict, lzo_uint dict_len ); -+(__LZO_CDECL *lzo_decompress_dict_t)(const lzo_bytep src, lzo_uint src_len, -+ lzo_bytep dst, lzo_uintp dst_len, -+ lzo_voidp wrkmem, -+ const lzo_bytep dict, lzo_uint dict_len ); - - --/* assembler versions always use __cdecl */ --typedef int --(__LZO_CDECL *lzo_compress_asm_t)( const lzo_byte *src, lzo_uint src_len, -- lzo_byte *dst, lzo_uintp dst_len, -- lzo_voidp wrkmem ); -+/* Callback interface. Currently only the progress indicator ("nprogress") -+ * is used, but this may change in a future release. */ - --typedef int --(__LZO_CDECL *lzo_decompress_asm_t)( const lzo_byte *src, lzo_uint src_len, -- lzo_byte *dst, lzo_uintp dst_len, -- lzo_voidp wrkmem ); -+struct lzo_callback_t; -+typedef struct lzo_callback_t lzo_callback_t; -+#define lzo_callback_p lzo_callback_t __LZO_MMODEL * - -+/* malloc & free function types */ -+typedef lzo_voidp (__LZO_CDECL *lzo_alloc_func_t) -+ (lzo_callback_p self, lzo_uint items, lzo_uint size); -+typedef void (__LZO_CDECL *lzo_free_func_t) -+ (lzo_callback_p self, lzo_voidp ptr); - - /* a progress indicator callback function */ --typedef void (__LZO_ENTRY *lzo_progress_callback_t) (lzo_uint, lzo_uint); -- -+typedef void (__LZO_CDECL *lzo_progress_func_t) -+ (lzo_callback_p, lzo_uint, lzo_uint, int); - --/*********************************************************************** --// export information --************************************************************************/ -- --/* DLL export information */ --#if !defined(__LZO_EXPORT1) --# define __LZO_EXPORT1 --#endif --#if !defined(__LZO_EXPORT2) --# define __LZO_EXPORT2 --#endif -- --/* exported calling convention for C functions */ --#if !defined(LZO_PUBLIC) --# define LZO_PUBLIC(_rettype) \ -- __LZO_EXPORT1 _rettype __LZO_EXPORT2 __LZO_ENTRY --#endif --#if !defined(LZO_EXTERN) --# define LZO_EXTERN(_rettype) __LZO_EXTERN_C LZO_PUBLIC(_rettype) --#endif --#if !defined(LZO_PRIVATE) --# define LZO_PRIVATE(_rettype) static _rettype __LZO_ENTRY --#endif -+struct lzo_callback_t -+{ -+ /* custom allocators (set to 0 to disable) */ -+ lzo_alloc_func_t nalloc; /* [not used right now] */ -+ lzo_free_func_t nfree; /* [not used right now] */ - --/* exported __cdecl calling convention for assembler functions */ --#if !defined(LZO_PUBLIC_CDECL) --# define LZO_PUBLIC_CDECL(_rettype) \ -- __LZO_EXPORT1 _rettype __LZO_EXPORT2 __LZO_CDECL --#endif --#if !defined(LZO_EXTERN_CDECL) --# define LZO_EXTERN_CDECL(_rettype) __LZO_EXTERN_C LZO_PUBLIC_CDECL(_rettype) --#endif -+ /* a progress indicator callback function (set to 0 to disable) */ -+ lzo_progress_func_t nprogress; - --/* exported global variables (LZO currently uses no static variables and -- * is fully thread safe) */ --#if !defined(LZO_PUBLIC_VAR) --# define LZO_PUBLIC_VAR(_type) \ -- __LZO_EXPORT1 _type __LZO_EXPORT2 __LZO_DMODEL --#endif --#if !defined(LZO_EXTERN_VAR) --# define LZO_EXTERN_VAR(_type) extern LZO_PUBLIC_VAR(_type) --#endif -+ /* INFO: the first parameter "self" of the nalloc/nfree/nprogress -+ * callbacks points back to this struct, so you are free to store -+ * some extra info in the following variables. */ -+ lzo_voidp user1; -+ lzo_xint user2; -+ lzo_xint user3; -+}; - - - /*********************************************************************** -@@ -383,14 +304,23 @@ typedef void (__LZO_ENTRY *lzo_progress_callback_t) (lzo_uint, lzo_uint); - */ - #define LZO_E_OK 0 - #define LZO_E_ERROR (-1) --#define LZO_E_OUT_OF_MEMORY (-2) /* not used right now */ --#define LZO_E_NOT_COMPRESSIBLE (-3) /* not used right now */ -+#define LZO_E_OUT_OF_MEMORY (-2) /* [lzo_alloc_func_t failure] */ -+#define LZO_E_NOT_COMPRESSIBLE (-3) /* [not used right now] */ - #define LZO_E_INPUT_OVERRUN (-4) - #define LZO_E_OUTPUT_OVERRUN (-5) - #define LZO_E_LOOKBEHIND_OVERRUN (-6) - #define LZO_E_EOF_NOT_FOUND (-7) - #define LZO_E_INPUT_NOT_CONSUMED (-8) -+#define LZO_E_NOT_YET_IMPLEMENTED (-9) /* [not used right now] */ -+#define LZO_E_INVALID_ARGUMENT (-10) -+#define LZO_E_INVALID_ALIGNMENT (-11) /* pointer argument is not properly aligned */ -+#define LZO_E_OUTPUT_NOT_CONSUMED (-12) -+#define LZO_E_INTERNAL_ERROR (-99) -+ - -+#ifndef lzo_sizeof_dict_t -+# define lzo_sizeof_dict_t ((unsigned)sizeof(lzo_bytep)) -+#endif - - /* lzo_init() should be the first function you call. - * Check the return code ! -@@ -398,11 +328,11 @@ typedef void (__LZO_ENTRY *lzo_progress_callback_t) (lzo_uint, lzo_uint); - * lzo_init() is a macro to allow checking that the library and the - * compiler's view of various types are consistent. - */ --#define lzo_init() __lzo_init2(LZO_VERSION,(int)sizeof(short),(int)sizeof(int),\ -- (int)sizeof(long),(int)sizeof(lzo_uint32),(int)sizeof(lzo_uint),\ -+#define lzo_init() __lzo_init_v2(LZO_VERSION,(int)sizeof(short),(int)sizeof(int),\ -+ (int)sizeof(long),(int)sizeof(lzo_uint32_t),(int)sizeof(lzo_uint),\ - (int)lzo_sizeof_dict_t,(int)sizeof(char *),(int)sizeof(lzo_voidp),\ -- (int)sizeof(lzo_compress_t)) --LZO_EXTERN(int) __lzo_init2(unsigned,int,int,int,int,int,int,int,int,int); -+ (int)sizeof(lzo_callback_t)) -+LZO_EXTERN(int) __lzo_init_v2(unsigned,int,int,int,int,int,int,int,int,int); - - /* version functions (useful for shared libraries) */ - LZO_EXTERN(unsigned) lzo_version(void); -@@ -413,34 +343,95 @@ LZO_EXTERN(const lzo_charp) _lzo_version_date(void); - - /* string functions */ - LZO_EXTERN(int) --lzo_memcmp(const lzo_voidp _s1, const lzo_voidp _s2, lzo_uint _len); -+ lzo_memcmp(const lzo_voidp a, const lzo_voidp b, lzo_uint len); - LZO_EXTERN(lzo_voidp) --lzo_memcpy(lzo_voidp _dest, const lzo_voidp _src, lzo_uint _len); -+ lzo_memcpy(lzo_voidp dst, const lzo_voidp src, lzo_uint len); - LZO_EXTERN(lzo_voidp) --lzo_memmove(lzo_voidp _dest, const lzo_voidp _src, lzo_uint _len); -+ lzo_memmove(lzo_voidp dst, const lzo_voidp src, lzo_uint len); - LZO_EXTERN(lzo_voidp) --lzo_memset(lzo_voidp _s, int _c, lzo_uint _len); -+ lzo_memset(lzo_voidp buf, int c, lzo_uint len); - - /* checksum functions */ --LZO_EXTERN(lzo_uint32) --lzo_adler32(lzo_uint32 _adler, const lzo_byte *_buf, lzo_uint _len); --LZO_EXTERN(lzo_uint32) --lzo_crc32(lzo_uint32 _c, const lzo_byte *_buf, lzo_uint _len); -+LZO_EXTERN(lzo_uint32_t) -+ lzo_adler32(lzo_uint32_t c, const lzo_bytep buf, lzo_uint len); -+LZO_EXTERN(lzo_uint32_t) -+ lzo_crc32(lzo_uint32_t c, const lzo_bytep buf, lzo_uint len); -+LZO_EXTERN(const lzo_uint32_tp) -+ lzo_get_crc32_table(void); - - /* misc. */ --LZO_EXTERN(lzo_bool) lzo_assert(int _expr); - LZO_EXTERN(int) _lzo_config_check(void); --typedef union { lzo_bytep p; lzo_uint u; } __lzo_pu_u; --typedef union { lzo_bytep p; lzo_uint32 u32; } __lzo_pu32_u; --typedef union { void *vp; lzo_bytep bp; lzo_uint32 u32; long l; } lzo_align_t; -+typedef union { -+ lzo_voidp a00; lzo_bytep a01; lzo_uint a02; lzo_xint a03; lzo_uintptr_t a04; -+ void *a05; unsigned char *a06; unsigned long a07; size_t a08; ptrdiff_t a09; -+#if defined(lzo_int64_t) -+ lzo_uint64_t a10; -+#endif -+} lzo_align_t; - --/* align a char pointer on a boundary that is a multiple of `size' */ --LZO_EXTERN(unsigned) __lzo_align_gap(const lzo_voidp _ptr, lzo_uint _size); --#define LZO_PTR_ALIGN_UP(_ptr,_size) \ -- ((_ptr) + (lzo_uint) __lzo_align_gap((const lzo_voidp)(_ptr),(lzo_uint)(_size))) -+/* align a char pointer on a boundary that is a multiple of 'size' */ -+LZO_EXTERN(unsigned) __lzo_align_gap(const lzo_voidp p, lzo_uint size); -+#define LZO_PTR_ALIGN_UP(p,size) \ -+ ((p) + (lzo_uint) __lzo_align_gap((const lzo_voidp)(p),(lzo_uint)(size))) - --/* deprecated - only for backward compatibility */ --#define LZO_ALIGN(_ptr,_size) LZO_PTR_ALIGN_UP(_ptr,_size) -+ -+/*********************************************************************** -+// deprecated macros - only for backward compatibility -+************************************************************************/ -+ -+/* deprecated - use 'lzo_bytep' instead of 'lzo_byte *' */ -+#define lzo_byte unsigned char -+/* deprecated type names */ -+#define lzo_int32 lzo_int32_t -+#define lzo_uint32 lzo_uint32_t -+#define lzo_int32p lzo_int32_t __LZO_MMODEL * -+#define lzo_uint32p lzo_uint32_t __LZO_MMODEL * -+#define LZO_INT32_MAX LZO_INT32_C(2147483647) -+#define LZO_UINT32_MAX LZO_UINT32_C(4294967295) -+#if defined(lzo_int64_t) -+#define lzo_int64 lzo_int64_t -+#define lzo_uint64 lzo_uint64_t -+#define lzo_int64p lzo_int64_t __LZO_MMODEL * -+#define lzo_uint64p lzo_uint64_t __LZO_MMODEL * -+#define LZO_INT64_MAX LZO_INT64_C(9223372036854775807) -+#define LZO_UINT64_MAX LZO_UINT64_C(18446744073709551615) -+#endif -+/* deprecated types */ -+typedef union { lzo_bytep a; lzo_uint b; } __lzo_pu_u; -+typedef union { lzo_bytep a; lzo_uint32_t b; } __lzo_pu32_u; -+ -+#if defined(LZO_CFG_COMPAT) -+ -+#define __LZOCONF_H 1 -+ -+#if defined(LZO_ARCH_I086) -+# define __LZO_i386 1 -+#elif defined(LZO_ARCH_I386) -+# define __LZO_i386 1 -+#endif -+ -+#if defined(LZO_OS_DOS16) -+# define __LZO_DOS 1 -+# define __LZO_DOS16 1 -+#elif defined(LZO_OS_DOS32) -+# define __LZO_DOS 1 -+#elif defined(LZO_OS_WIN16) -+# define __LZO_WIN 1 -+# define __LZO_WIN16 1 -+#elif defined(LZO_OS_WIN32) -+# define __LZO_WIN 1 -+#endif -+ -+#define __LZO_CMODEL /*empty*/ -+#define __LZO_DMODEL /*empty*/ -+#define __LZO_ENTRY __LZO_CDECL -+#define LZO_EXTERN_CDECL LZO_EXTERN -+#define LZO_ALIGN LZO_PTR_ALIGN_UP -+ -+#define lzo_compress_asm_t lzo_compress_t -+#define lzo_decompress_asm_t lzo_decompress_t -+ -+#endif /* LZO_CFG_COMPAT */ - - - #ifdef __cplusplus -@@ -449,3 +440,5 @@ LZO_EXTERN(unsigned) __lzo_align_gap(const lzo_voidp _ptr, lzo_uint _size); - - #endif /* already included */ - -+ -+/* vim:set ts=4 sw=4 et: */ -diff --git a/lzo/lzodefs.h b/lzo/lzodefs.h -new file mode 100644 -index 0000000..f4ae948 ---- /dev/null -+++ b/lzo/lzodefs.h -@@ -0,0 +1,2998 @@ -+/* lzodefs.h -- architecture, OS and compiler specific defines -+ -+ This file is part of the LZO real-time data compression library. -+ -+ Copyright (C) 1996-2014 Markus Franz Xaver Johannes Oberhumer -+ All Rights Reserved. -+ -+ The LZO library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU General Public License as -+ published by the Free Software Foundation; either version 2 of -+ the License, or (at your option) any later version. -+ -+ The LZO library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with the LZO library; see the file COPYING. -+ If not, write to the Free Software Foundation, Inc., -+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -+ -+ Markus F.X.J. Oberhumer -+ -+ http://www.oberhumer.com/opensource/lzo/ -+ */ -+ -+ -+#ifndef __LZODEFS_H_INCLUDED -+#define __LZODEFS_H_INCLUDED 1 -+ -+#if defined(__CYGWIN32__) && !defined(__CYGWIN__) -+# define __CYGWIN__ __CYGWIN32__ -+#endif -+#if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE) -+# define _ALL_SOURCE 1 -+#endif -+#if defined(__mips__) && defined(__R5900__) -+# if !defined(__LONG_MAX__) -+# define __LONG_MAX__ 9223372036854775807L -+# endif -+#endif -+#if !defined(LZO_CFG_NO_DISABLE_WUNDEF) -+#if defined(__ARMCC_VERSION) -+# pragma diag_suppress 193 -+#elif defined(__clang__) && defined(__clang_minor__) -+# pragma clang diagnostic ignored "-Wundef" -+#elif defined(__INTEL_COMPILER) -+# pragma warning(disable: 193) -+#elif defined(__KEIL__) && defined(__C166__) -+# pragma warning disable = 322 -+#elif defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__PATHSCALE__) -+# if ((__GNUC__-0) >= 5 || ((__GNUC__-0) == 4 && (__GNUC_MINOR__-0) >= 2)) -+# pragma GCC diagnostic ignored "-Wundef" -+# endif -+#elif defined(_MSC_VER) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__) -+# if ((_MSC_VER-0) >= 1300) -+# pragma warning(disable: 4668) -+# endif -+#endif -+#endif -+#if 0 && defined(__POCC__) && defined(_WIN32) -+# if (__POCC__ >= 400) -+# pragma warn(disable: 2216) -+# endif -+#endif -+#if 0 && defined(__WATCOMC__) -+# if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060) -+# pragma warning 203 9 -+# endif -+#endif -+#if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__) -+# pragma option -h -+#endif -+#if !(LZO_CFG_NO_DISABLE_WCRTNONSTDC) -+#ifndef _CRT_NONSTDC_NO_DEPRECATE -+#define _CRT_NONSTDC_NO_DEPRECATE 1 -+#endif -+#ifndef _CRT_NONSTDC_NO_WARNINGS -+#define _CRT_NONSTDC_NO_WARNINGS 1 -+#endif -+#ifndef _CRT_SECURE_NO_DEPRECATE -+#define _CRT_SECURE_NO_DEPRECATE 1 -+#endif -+#ifndef _CRT_SECURE_NO_WARNINGS -+#define _CRT_SECURE_NO_WARNINGS 1 -+#endif -+#endif -+#if 0 -+#define LZO_0xffffUL 0xfffful -+#define LZO_0xffffffffUL 0xfffffffful -+#else -+#define LZO_0xffffUL 65535ul -+#define LZO_0xffffffffUL 4294967295ul -+#endif -+#define LZO_0xffffL LZO_0xffffUL -+#define LZO_0xffffffffL LZO_0xffffffffUL -+#if (LZO_0xffffL == LZO_0xffffffffL) -+# error "your preprocessor is broken 1" -+#endif -+#if (16ul * 16384ul != 262144ul) -+# error "your preprocessor is broken 2" -+#endif -+#if 0 -+#if (32767 >= 4294967295ul) -+# error "your preprocessor is broken 3" -+#endif -+#if (65535u >= 4294967295ul) -+# error "your preprocessor is broken 4" -+#endif -+#endif -+#if defined(__COUNTER__) -+# ifndef LZO_CFG_USE_COUNTER -+# define LZO_CFG_USE_COUNTER 1 -+# endif -+#else -+# undef LZO_CFG_USE_COUNTER -+#endif -+#if (UINT_MAX == LZO_0xffffL) -+#if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__) -+# if !defined(MSDOS) -+# define MSDOS 1 -+# endif -+# if !defined(_MSDOS) -+# define _MSDOS 1 -+# endif -+#elif 0 && defined(__VERSION) && defined(MB_LEN_MAX) -+# if (__VERSION == 520) && (MB_LEN_MAX == 1) -+# if !defined(__AZTEC_C__) -+# define __AZTEC_C__ __VERSION -+# endif -+# if !defined(__DOS__) -+# define __DOS__ 1 -+# endif -+# endif -+#endif -+#endif -+#if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL) -+# define ptrdiff_t long -+# define _PTRDIFF_T_DEFINED 1 -+#endif -+#if (UINT_MAX == LZO_0xffffL) -+# undef __LZO_RENAME_A -+# undef __LZO_RENAME_B -+# if defined(__AZTEC_C__) && defined(__DOS__) -+# define __LZO_RENAME_A 1 -+# elif defined(_MSC_VER) && defined(MSDOS) -+# if (_MSC_VER < 600) -+# define __LZO_RENAME_A 1 -+# elif (_MSC_VER < 700) -+# define __LZO_RENAME_B 1 -+# endif -+# elif defined(__TSC__) && defined(__OS2__) -+# define __LZO_RENAME_A 1 -+# elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410) -+# define __LZO_RENAME_A 1 -+# elif defined(__PACIFIC__) && defined(DOS) -+# if !defined(__far) -+# define __far far -+# endif -+# if !defined(__near) -+# define __near near -+# endif -+# endif -+# if defined(__LZO_RENAME_A) -+# if !defined(__cdecl) -+# define __cdecl cdecl -+# endif -+# if !defined(__far) -+# define __far far -+# endif -+# if !defined(__huge) -+# define __huge huge -+# endif -+# if !defined(__near) -+# define __near near -+# endif -+# if !defined(__pascal) -+# define __pascal pascal -+# endif -+# if !defined(__huge) -+# define __huge huge -+# endif -+# elif defined(__LZO_RENAME_B) -+# if !defined(__cdecl) -+# define __cdecl _cdecl -+# endif -+# if !defined(__far) -+# define __far _far -+# endif -+# if !defined(__huge) -+# define __huge _huge -+# endif -+# if !defined(__near) -+# define __near _near -+# endif -+# if !defined(__pascal) -+# define __pascal _pascal -+# endif -+# elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) -+# if !defined(__cdecl) -+# define __cdecl cdecl -+# endif -+# if !defined(__pascal) -+# define __pascal pascal -+# endif -+# endif -+# undef __LZO_RENAME_A -+# undef __LZO_RENAME_B -+#endif -+#if (UINT_MAX == LZO_0xffffL) -+#if defined(__AZTEC_C__) && defined(__DOS__) -+# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 -+#elif defined(_MSC_VER) && defined(MSDOS) -+# if (_MSC_VER < 600) -+# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 -+# endif -+# if (_MSC_VER < 700) -+# define LZO_BROKEN_INTEGRAL_PROMOTION 1 -+# define LZO_BROKEN_SIZEOF 1 -+# endif -+#elif defined(__PACIFIC__) && defined(DOS) -+# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 -+#elif defined(__TURBOC__) && defined(__MSDOS__) -+# if (__TURBOC__ < 0x0150) -+# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 -+# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 -+# define LZO_BROKEN_INTEGRAL_PROMOTION 1 -+# endif -+# if (__TURBOC__ < 0x0200) -+# define LZO_BROKEN_SIZEOF 1 -+# endif -+# if (__TURBOC__ < 0x0400) && defined(__cplusplus) -+# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 -+# endif -+#elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) -+# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 -+# define LZO_BROKEN_SIZEOF 1 -+#endif -+#endif -+#if defined(__WATCOMC__) && (__WATCOMC__ < 900) -+# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 -+#endif -+#if defined(_CRAY) && defined(_CRAY1) -+# define LZO_BROKEN_SIGNED_RIGHT_SHIFT 1 -+#endif -+#define LZO_PP_STRINGIZE(x) #x -+#define LZO_PP_MACRO_EXPAND(x) LZO_PP_STRINGIZE(x) -+#define LZO_PP_CONCAT0() /*empty*/ -+#define LZO_PP_CONCAT1(a) a -+#define LZO_PP_CONCAT2(a,b) a ## b -+#define LZO_PP_CONCAT3(a,b,c) a ## b ## c -+#define LZO_PP_CONCAT4(a,b,c,d) a ## b ## c ## d -+#define LZO_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e -+#define LZO_PP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f -+#define LZO_PP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g -+#define LZO_PP_ECONCAT0() LZO_PP_CONCAT0() -+#define LZO_PP_ECONCAT1(a) LZO_PP_CONCAT1(a) -+#define LZO_PP_ECONCAT2(a,b) LZO_PP_CONCAT2(a,b) -+#define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c) -+#define LZO_PP_ECONCAT4(a,b,c,d) LZO_PP_CONCAT4(a,b,c,d) -+#define LZO_PP_ECONCAT5(a,b,c,d,e) LZO_PP_CONCAT5(a,b,c,d,e) -+#define LZO_PP_ECONCAT6(a,b,c,d,e,f) LZO_PP_CONCAT6(a,b,c,d,e,f) -+#define LZO_PP_ECONCAT7(a,b,c,d,e,f,g) LZO_PP_CONCAT7(a,b,c,d,e,f,g) -+#define LZO_PP_EMPTY /*empty*/ -+#define LZO_PP_EMPTY0() /*empty*/ -+#define LZO_PP_EMPTY1(a) /*empty*/ -+#define LZO_PP_EMPTY2(a,b) /*empty*/ -+#define LZO_PP_EMPTY3(a,b,c) /*empty*/ -+#define LZO_PP_EMPTY4(a,b,c,d) /*empty*/ -+#define LZO_PP_EMPTY5(a,b,c,d,e) /*empty*/ -+#define LZO_PP_EMPTY6(a,b,c,d,e,f) /*empty*/ -+#define LZO_PP_EMPTY7(a,b,c,d,e,f,g) /*empty*/ -+#if 1 -+#define LZO_CPP_STRINGIZE(x) #x -+#define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x) -+#define LZO_CPP_CONCAT2(a,b) a ## b -+#define LZO_CPP_CONCAT3(a,b,c) a ## b ## c -+#define LZO_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d -+#define LZO_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e -+#define LZO_CPP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f -+#define LZO_CPP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g -+#define LZO_CPP_ECONCAT2(a,b) LZO_CPP_CONCAT2(a,b) -+#define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c) -+#define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d) -+#define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e) -+#define LZO_CPP_ECONCAT6(a,b,c,d,e,f) LZO_CPP_CONCAT6(a,b,c,d,e,f) -+#define LZO_CPP_ECONCAT7(a,b,c,d,e,f,g) LZO_CPP_CONCAT7(a,b,c,d,e,f,g) -+#endif -+#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-!!(b))) - (o)) << 1) + (o)*!!(b)) -+#if 1 && defined(__cplusplus) -+# if !defined(__STDC_CONSTANT_MACROS) -+# define __STDC_CONSTANT_MACROS 1 -+# endif -+# if !defined(__STDC_LIMIT_MACROS) -+# define __STDC_LIMIT_MACROS 1 -+# endif -+#endif -+#if defined(__cplusplus) -+# define LZO_EXTERN_C extern "C" -+# define LZO_EXTERN_C_BEGIN extern "C" { -+# define LZO_EXTERN_C_END } -+#else -+# define LZO_EXTERN_C extern -+# define LZO_EXTERN_C_BEGIN /*empty*/ -+# define LZO_EXTERN_C_END /*empty*/ -+#endif -+#if !defined(__LZO_OS_OVERRIDE) -+#if (LZO_OS_FREESTANDING) -+# define LZO_INFO_OS "freestanding" -+#elif (LZO_OS_EMBEDDED) -+# define LZO_INFO_OS "embedded" -+#elif 1 && defined(__IAR_SYSTEMS_ICC__) -+# define LZO_OS_EMBEDDED 1 -+# define LZO_INFO_OS "embedded" -+#elif defined(__CYGWIN__) && defined(__GNUC__) -+# define LZO_OS_CYGWIN 1 -+# define LZO_INFO_OS "cygwin" -+#elif defined(__EMX__) && defined(__GNUC__) -+# define LZO_OS_EMX 1 -+# define LZO_INFO_OS "emx" -+#elif defined(__BEOS__) -+# define LZO_OS_BEOS 1 -+# define LZO_INFO_OS "beos" -+#elif defined(__Lynx__) -+# define LZO_OS_LYNXOS 1 -+# define LZO_INFO_OS "lynxos" -+#elif defined(__OS400__) -+# define LZO_OS_OS400 1 -+# define LZO_INFO_OS "os400" -+#elif defined(__QNX__) -+# define LZO_OS_QNX 1 -+# define LZO_INFO_OS "qnx" -+#elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460) -+# define LZO_OS_DOS32 1 -+# define LZO_INFO_OS "dos32" -+#elif defined(__BORLANDC__) && defined(__DPMI16__) -+# define LZO_OS_DOS16 1 -+# define LZO_INFO_OS "dos16" -+#elif defined(__ZTC__) && defined(DOS386) -+# define LZO_OS_DOS32 1 -+# define LZO_INFO_OS "dos32" -+#elif defined(__OS2__) || defined(__OS2V2__) -+# if (UINT_MAX == LZO_0xffffL) -+# define LZO_OS_OS216 1 -+# define LZO_INFO_OS "os216" -+# elif (UINT_MAX == LZO_0xffffffffL) -+# define LZO_OS_OS2 1 -+# define LZO_INFO_OS "os2" -+# else -+# error "check your limits.h header" -+# endif -+#elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64) -+# define LZO_OS_WIN64 1 -+# define LZO_INFO_OS "win64" -+#elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__) -+# define LZO_OS_WIN32 1 -+# define LZO_INFO_OS "win32" -+#elif defined(__MWERKS__) && defined(__INTEL__) -+# define LZO_OS_WIN32 1 -+# define LZO_INFO_OS "win32" -+#elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows) -+# if (UINT_MAX == LZO_0xffffL) -+# define LZO_OS_WIN16 1 -+# define LZO_INFO_OS "win16" -+# elif (UINT_MAX == LZO_0xffffffffL) -+# define LZO_OS_WIN32 1 -+# define LZO_INFO_OS "win32" -+# else -+# error "check your limits.h header" -+# endif -+#elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS)) -+# if (UINT_MAX == LZO_0xffffL) -+# define LZO_OS_DOS16 1 -+# define LZO_INFO_OS "dos16" -+# elif (UINT_MAX == LZO_0xffffffffL) -+# define LZO_OS_DOS32 1 -+# define LZO_INFO_OS "dos32" -+# else -+# error "check your limits.h header" -+# endif -+#elif defined(__WATCOMC__) -+# if defined(__NT__) && (UINT_MAX == LZO_0xffffL) -+# define LZO_OS_DOS16 1 -+# define LZO_INFO_OS "dos16" -+# elif defined(__NT__) && (__WATCOMC__ < 1100) -+# define LZO_OS_WIN32 1 -+# define LZO_INFO_OS "win32" -+# elif defined(__linux__) || defined(__LINUX__) -+# define LZO_OS_POSIX 1 -+# define LZO_INFO_OS "posix" -+# else -+# error "please specify a target using the -bt compiler option" -+# endif -+#elif defined(__palmos__) -+# define LZO_OS_PALMOS 1 -+# define LZO_INFO_OS "palmos" -+#elif defined(__TOS__) || defined(__atarist__) -+# define LZO_OS_TOS 1 -+# define LZO_INFO_OS "tos" -+#elif defined(macintosh) && !defined(__ppc__) -+# define LZO_OS_MACCLASSIC 1 -+# define LZO_INFO_OS "macclassic" -+#elif defined(__VMS) -+# define LZO_OS_VMS 1 -+# define LZO_INFO_OS "vms" -+#elif (defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__) -+# define LZO_OS_CONSOLE 1 -+# define LZO_OS_CONSOLE_PS2 1 -+# define LZO_INFO_OS "console" -+# define LZO_INFO_OS_CONSOLE "ps2" -+#elif defined(__mips__) && defined(__psp__) -+# define LZO_OS_CONSOLE 1 -+# define LZO_OS_CONSOLE_PSP 1 -+# define LZO_INFO_OS "console" -+# define LZO_INFO_OS_CONSOLE "psp" -+#else -+# define LZO_OS_POSIX 1 -+# define LZO_INFO_OS "posix" -+#endif -+#if (LZO_OS_POSIX) -+# if defined(_AIX) || defined(__AIX__) || defined(__aix__) -+# define LZO_OS_POSIX_AIX 1 -+# define LZO_INFO_OS_POSIX "aix" -+# elif defined(__FreeBSD__) -+# define LZO_OS_POSIX_FREEBSD 1 -+# define LZO_INFO_OS_POSIX "freebsd" -+# elif defined(__hpux__) || defined(__hpux) -+# define LZO_OS_POSIX_HPUX 1 -+# define LZO_INFO_OS_POSIX "hpux" -+# elif defined(__INTERIX) -+# define LZO_OS_POSIX_INTERIX 1 -+# define LZO_INFO_OS_POSIX "interix" -+# elif defined(__IRIX__) || defined(__irix__) -+# define LZO_OS_POSIX_IRIX 1 -+# define LZO_INFO_OS_POSIX "irix" -+# elif defined(__linux__) || defined(__linux) || defined(__LINUX__) -+# define LZO_OS_POSIX_LINUX 1 -+# define LZO_INFO_OS_POSIX "linux" -+# elif defined(__APPLE__) && defined(__MACH__) -+# if ((__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__-0) >= 20000) -+# define LZO_OS_POSIX_DARWIN 1040 -+# define LZO_INFO_OS_POSIX "darwin_iphone" -+# elif ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) >= 1040) -+# define LZO_OS_POSIX_DARWIN __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ -+# define LZO_INFO_OS_POSIX "darwin" -+# else -+# define LZO_OS_POSIX_DARWIN 1 -+# define LZO_INFO_OS_POSIX "darwin" -+# endif -+# define LZO_OS_POSIX_MACOSX LZO_OS_POSIX_DARWIN -+# elif defined(__minix__) || defined(__minix) -+# define LZO_OS_POSIX_MINIX 1 -+# define LZO_INFO_OS_POSIX "minix" -+# elif defined(__NetBSD__) -+# define LZO_OS_POSIX_NETBSD 1 -+# define LZO_INFO_OS_POSIX "netbsd" -+# elif defined(__OpenBSD__) -+# define LZO_OS_POSIX_OPENBSD 1 -+# define LZO_INFO_OS_POSIX "openbsd" -+# elif defined(__osf__) -+# define LZO_OS_POSIX_OSF 1 -+# define LZO_INFO_OS_POSIX "osf" -+# elif defined(__solaris__) || defined(__sun) -+# if defined(__SVR4) || defined(__svr4__) -+# define LZO_OS_POSIX_SOLARIS 1 -+# define LZO_INFO_OS_POSIX "solaris" -+# else -+# define LZO_OS_POSIX_SUNOS 1 -+# define LZO_INFO_OS_POSIX "sunos" -+# endif -+# elif defined(__ultrix__) || defined(__ultrix) -+# define LZO_OS_POSIX_ULTRIX 1 -+# define LZO_INFO_OS_POSIX "ultrix" -+# elif defined(_UNICOS) -+# define LZO_OS_POSIX_UNICOS 1 -+# define LZO_INFO_OS_POSIX "unicos" -+# else -+# define LZO_OS_POSIX_UNKNOWN 1 -+# define LZO_INFO_OS_POSIX "unknown" -+# endif -+#endif -+#endif -+#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) -+# if (UINT_MAX != LZO_0xffffL) -+# error "unexpected configuration - check your compiler defines" -+# endif -+# if (ULONG_MAX != LZO_0xffffffffL) -+# error "unexpected configuration - check your compiler defines" -+# endif -+#endif -+#if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64) -+# if (UINT_MAX != LZO_0xffffffffL) -+# error "unexpected configuration - check your compiler defines" -+# endif -+# if (ULONG_MAX != LZO_0xffffffffL) -+# error "unexpected configuration - check your compiler defines" -+# endif -+#endif -+#if defined(CIL) && defined(_GNUCC) && defined(__GNUC__) -+# define LZO_CC_CILLY 1 -+# define LZO_INFO_CC "Cilly" -+# if defined(__CILLY__) -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CILLY__) -+# else -+# define LZO_INFO_CCVER "unknown" -+# endif -+#elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__) -+# define LZO_CC_SDCC 1 -+# define LZO_INFO_CC "sdcc" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(SDCC) -+#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__) -+# define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + (__PATHCC_MINOR__-0) * 0x100 + (__PATHCC_PATCHLEVEL__-0)) -+# define LZO_INFO_CC "Pathscale C" -+# define LZO_INFO_CCVER __PATHSCALE__ -+# if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) -+# define LZO_CC_PATHSCALE_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) -+# endif -+#elif defined(__INTEL_COMPILER) && ((__INTEL_COMPILER-0) > 0) -+# define LZO_CC_INTELC __INTEL_COMPILER -+# define LZO_INFO_CC "Intel C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__INTEL_COMPILER) -+# if defined(_MSC_VER) && ((_MSC_VER-0) > 0) -+# define LZO_CC_INTELC_MSC _MSC_VER -+# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) -+# define LZO_CC_INTELC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) -+# endif -+#elif defined(__POCC__) && defined(_WIN32) -+# define LZO_CC_PELLESC 1 -+# define LZO_INFO_CC "Pelles C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__POCC__) -+#elif defined(__ARMCC_VERSION) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) -+# if defined(__GNUC_PATCHLEVEL__) -+# define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) -+# else -+# define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) -+# endif -+# define LZO_CC_ARMCC __ARMCC_VERSION -+# define LZO_INFO_CC "ARM C Compiler" -+# define LZO_INFO_CCVER __VERSION__ -+#elif defined(__clang__) && defined(__llvm__) && defined(__VERSION__) -+# if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__) -+# define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0)) -+# else -+# define LZO_CC_CLANG 0x010000L -+# endif -+# if defined(_MSC_VER) && ((_MSC_VER-0) > 0) -+# define LZO_CC_CLANG_MSC _MSC_VER -+# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) -+# define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) -+# endif -+# define LZO_INFO_CC "clang" -+# define LZO_INFO_CCVER __VERSION__ -+#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) -+# if defined(__GNUC_PATCHLEVEL__) -+# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) -+# else -+# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) -+# endif -+# define LZO_CC_LLVM LZO_CC_LLVM_GNUC -+# define LZO_INFO_CC "llvm-gcc" -+# define LZO_INFO_CCVER __VERSION__ -+#elif defined(__ACK__) && defined(_ACK) -+# define LZO_CC_ACK 1 -+# define LZO_INFO_CC "Amsterdam Compiler Kit C" -+# define LZO_INFO_CCVER "unknown" -+#elif defined(__ARMCC_VERSION) && !defined(__GNUC__) -+# define LZO_CC_ARMCC __ARMCC_VERSION -+# define LZO_CC_ARMCC_ARMCC __ARMCC_VERSION -+# define LZO_INFO_CC "ARM C Compiler" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ARMCC_VERSION) -+#elif defined(__AZTEC_C__) -+# define LZO_CC_AZTECC 1 -+# define LZO_INFO_CC "Aztec C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__AZTEC_C__) -+#elif defined(__CODEGEARC__) -+# define LZO_CC_CODEGEARC 1 -+# define LZO_INFO_CC "CodeGear C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CODEGEARC__) -+#elif defined(__BORLANDC__) -+# define LZO_CC_BORLANDC 1 -+# define LZO_INFO_CC "Borland C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__BORLANDC__) -+#elif defined(_CRAYC) && defined(_RELEASE) -+# define LZO_CC_CRAYC 1 -+# define LZO_INFO_CC "Cray C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_RELEASE) -+#elif defined(__DMC__) && defined(__SC__) -+# define LZO_CC_DMC 1 -+# define LZO_INFO_CC "Digital Mars C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DMC__) -+#elif defined(__DECC) -+# define LZO_CC_DECC 1 -+# define LZO_INFO_CC "DEC C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DECC) -+#elif (defined(__ghs) || defined(__ghs__)) && defined(__GHS_VERSION_NUMBER) && ((__GHS_VERSION_NUMBER-0) > 0) -+# define LZO_CC_GHS 1 -+# define LZO_INFO_CC "Green Hills C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__GHS_VERSION_NUMBER) -+# if defined(_MSC_VER) && ((_MSC_VER-0) > 0) -+# define LZO_CC_GHS_MSC _MSC_VER -+# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) -+# define LZO_CC_GHS_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) -+# endif -+#elif defined(__HIGHC__) -+# define LZO_CC_HIGHC 1 -+# define LZO_INFO_CC "MetaWare High C" -+# define LZO_INFO_CCVER "unknown" -+#elif defined(__HP_aCC) && ((__HP_aCC-0) > 0) -+# define LZO_CC_HPACC __HP_aCC -+# define LZO_INFO_CC "HP aCC" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__HP_aCC) -+#elif defined(__IAR_SYSTEMS_ICC__) -+# define LZO_CC_IARC 1 -+# define LZO_INFO_CC "IAR C" -+# if defined(__VER__) -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__VER__) -+# else -+# define LZO_INFO_CCVER "unknown" -+# endif -+#elif defined(__IBMC__) && ((__IBMC__-0) > 0) -+# define LZO_CC_IBMC __IBMC__ -+# define LZO_INFO_CC "IBM C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMC__) -+#elif defined(__IBMCPP__) && ((__IBMCPP__-0) > 0) -+# define LZO_CC_IBMC __IBMCPP__ -+# define LZO_INFO_CC "IBM C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMCPP__) -+#elif defined(__KEIL__) && defined(__C166__) -+# define LZO_CC_KEILC 1 -+# define LZO_INFO_CC "Keil C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__C166__) -+#elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL) -+# define LZO_CC_LCCWIN32 1 -+# define LZO_INFO_CC "lcc-win32" -+# define LZO_INFO_CCVER "unknown" -+#elif defined(__LCC__) -+# define LZO_CC_LCC 1 -+# define LZO_INFO_CC "lcc" -+# if defined(__LCC_VERSION__) -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__LCC_VERSION__) -+# else -+# define LZO_INFO_CCVER "unknown" -+# endif -+#elif defined(__MWERKS__) && ((__MWERKS__-0) > 0) -+# define LZO_CC_MWERKS __MWERKS__ -+# define LZO_INFO_CC "Metrowerks C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__MWERKS__) -+#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386) -+# define LZO_CC_NDPC 1 -+# define LZO_INFO_CC "Microway NDP C" -+# define LZO_INFO_CCVER "unknown" -+#elif defined(__PACIFIC__) -+# define LZO_CC_PACIFICC 1 -+# define LZO_INFO_CC "Pacific C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PACIFIC__) -+#elif defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) -+# if defined(__PGIC_PATCHLEVEL__) -+# define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100 + (__PGIC_PATCHLEVEL__-0)) -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_EXPAND(__PGIC_MINOR__) "." LZO_PP_MACRO_EXPAND(__PGIC_PATCHLEVEL__) -+# else -+# define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100) -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_EXPAND(__PGIC_MINOR__) ".0" -+# endif -+# define LZO_INFO_CC "Portland Group PGI C" -+#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__)) -+# define LZO_CC_PGI 1 -+# define LZO_INFO_CC "Portland Group PGI C" -+# define LZO_INFO_CCVER "unknown" -+#elif defined(__PUREC__) && defined(__TOS__) -+# define LZO_CC_PUREC 1 -+# define LZO_INFO_CC "Pure C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PUREC__) -+#elif defined(__SC__) && defined(__ZTC__) -+# define LZO_CC_SYMANTECC 1 -+# define LZO_INFO_CC "Symantec C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SC__) -+#elif defined(__SUNPRO_C) -+# define LZO_INFO_CC "SunPro C" -+# if ((__SUNPRO_C-0) > 0) -+# define LZO_CC_SUNPROC __SUNPRO_C -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_C) -+# else -+# define LZO_CC_SUNPROC 1 -+# define LZO_INFO_CCVER "unknown" -+# endif -+#elif defined(__SUNPRO_CC) -+# define LZO_INFO_CC "SunPro C" -+# if ((__SUNPRO_CC-0) > 0) -+# define LZO_CC_SUNPROC __SUNPRO_CC -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_CC) -+# else -+# define LZO_CC_SUNPROC 1 -+# define LZO_INFO_CCVER "unknown" -+# endif -+#elif defined(__TINYC__) -+# define LZO_CC_TINYC 1 -+# define LZO_INFO_CC "Tiny C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TINYC__) -+#elif defined(__TSC__) -+# define LZO_CC_TOPSPEEDC 1 -+# define LZO_INFO_CC "TopSpeed C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TSC__) -+#elif defined(__WATCOMC__) -+# define LZO_CC_WATCOMC 1 -+# define LZO_INFO_CC "Watcom C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__WATCOMC__) -+#elif defined(__TURBOC__) -+# define LZO_CC_TURBOC 1 -+# define LZO_INFO_CC "Turbo C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TURBOC__) -+#elif defined(__ZTC__) -+# define LZO_CC_ZORTECHC 1 -+# define LZO_INFO_CC "Zortech C" -+# if ((__ZTC__-0) == 0x310) -+# define LZO_INFO_CCVER "0x310" -+# else -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ZTC__) -+# endif -+#elif defined(__GNUC__) && defined(__VERSION__) -+# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) -+# define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) -+# elif defined(__GNUC_MINOR__) -+# define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) -+# else -+# define LZO_CC_GNUC (__GNUC__ * 0x10000L) -+# endif -+# define LZO_INFO_CC "gcc" -+# define LZO_INFO_CCVER __VERSION__ -+#elif defined(_MSC_VER) && ((_MSC_VER-0) > 0) -+# define LZO_CC_MSC _MSC_VER -+# define LZO_INFO_CC "Microsoft C" -+# if defined(_MSC_FULL_VER) -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER) -+# else -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) -+# endif -+#else -+# define LZO_CC_UNKNOWN 1 -+# define LZO_INFO_CC "unknown" -+# define LZO_INFO_CCVER "unknown" -+#endif -+#if (LZO_CC_GNUC) && defined(__OPEN64__) -+# if defined(__OPENCC__) && defined(__OPENCC_MINOR__) && defined(__OPENCC_PATCHLEVEL__) -+# define LZO_CC_OPEN64 (__OPENCC__ * 0x10000L + (__OPENCC_MINOR__-0) * 0x100 + (__OPENCC_PATCHLEVEL__-0)) -+# define LZO_CC_OPEN64_GNUC LZO_CC_GNUC -+# endif -+#endif -+#if (LZO_CC_GNUC) && defined(__PCC__) -+# if defined(__PCC__) && defined(__PCC_MINOR__) && defined(__PCC_MINORMINOR__) -+# define LZO_CC_PCC (__PCC__ * 0x10000L + (__PCC_MINOR__-0) * 0x100 + (__PCC_MINORMINOR__-0)) -+# define LZO_CC_PCC_GNUC LZO_CC_GNUC -+# endif -+#endif -+#if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER) -+# error "LZO_CC_MSC: _MSC_FULL_VER is not defined" -+#endif -+#if !defined(__LZO_ARCH_OVERRIDE) && !(LZO_ARCH_GENERIC) && defined(_CRAY) -+# if (UINT_MAX > LZO_0xffffffffL) && defined(_CRAY) -+# if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E) -+# define LZO_ARCH_CRAY_MPP 1 -+# elif defined(_CRAY1) -+# define LZO_ARCH_CRAY_PVP 1 -+# endif -+# endif -+#endif -+#if !defined(__LZO_ARCH_OVERRIDE) -+#if (LZO_ARCH_GENERIC) -+# define LZO_INFO_ARCH "generic" -+#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) -+# define LZO_ARCH_I086 1 -+# define LZO_INFO_ARCH "i086" -+#elif defined(__aarch64__) -+# define LZO_ARCH_ARM64 1 -+# define LZO_INFO_ARCH "arm64" -+#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA) -+# define LZO_ARCH_ALPHA 1 -+# define LZO_INFO_ARCH "alpha" -+#elif (LZO_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E)) -+# define LZO_ARCH_ALPHA 1 -+# define LZO_INFO_ARCH "alpha" -+#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64) -+# define LZO_ARCH_AMD64 1 -+# define LZO_INFO_ARCH "amd64" -+#elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB)) -+# define LZO_ARCH_ARM 1 -+# define LZO_ARCH_ARM_THUMB 1 -+# define LZO_INFO_ARCH "arm_thumb" -+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__) -+# define LZO_ARCH_ARM 1 -+# if defined(__CPU_MODE__) && ((__CPU_MODE__-0) == 1) -+# define LZO_ARCH_ARM_THUMB 1 -+# define LZO_INFO_ARCH "arm_thumb" -+# elif defined(__CPU_MODE__) && ((__CPU_MODE__-0) == 2) -+# define LZO_INFO_ARCH "arm" -+# else -+# define LZO_INFO_ARCH "arm" -+# endif -+#elif defined(__arm__) || defined(_M_ARM) -+# define LZO_ARCH_ARM 1 -+# define LZO_INFO_ARCH "arm" -+#elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__) -+# define LZO_ARCH_AVR 1 -+# define LZO_INFO_ARCH "avr" -+#elif defined(__avr32__) || defined(__AVR32__) -+# define LZO_ARCH_AVR32 1 -+# define LZO_INFO_ARCH "avr32" -+#elif defined(__bfin__) -+# define LZO_ARCH_BLACKFIN 1 -+# define LZO_INFO_ARCH "blackfin" -+#elif (UINT_MAX == LZO_0xffffL) && defined(__C166__) -+# define LZO_ARCH_C166 1 -+# define LZO_INFO_ARCH "c166" -+#elif defined(__cris__) -+# define LZO_ARCH_CRIS 1 -+# define LZO_INFO_ARCH "cris" -+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__) -+# define LZO_ARCH_EZ80 1 -+# define LZO_INFO_ARCH "ez80" -+#elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) -+# define LZO_ARCH_H8300 1 -+# define LZO_INFO_ARCH "h8300" -+#elif defined(__hppa__) || defined(__hppa) -+# define LZO_ARCH_HPPA 1 -+# define LZO_INFO_ARCH "hppa" -+#elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386) -+# define LZO_ARCH_I386 1 -+# define LZO_ARCH_IA32 1 -+# define LZO_INFO_ARCH "i386" -+#elif (LZO_CC_ZORTECHC && defined(__I86__)) -+# define LZO_ARCH_I386 1 -+# define LZO_ARCH_IA32 1 -+# define LZO_INFO_ARCH "i386" -+#elif (LZO_OS_DOS32 && LZO_CC_HIGHC) && defined(_I386) -+# define LZO_ARCH_I386 1 -+# define LZO_ARCH_IA32 1 -+# define LZO_INFO_ARCH "i386" -+#elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64) -+# define LZO_ARCH_IA64 1 -+# define LZO_INFO_ARCH "ia64" -+#elif (UINT_MAX == LZO_0xffffL) && defined(__m32c__) -+# define LZO_ARCH_M16C 1 -+# define LZO_INFO_ARCH "m16c" -+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__) -+# define LZO_ARCH_M16C 1 -+# define LZO_INFO_ARCH "m16c" -+#elif defined(__m32r__) -+# define LZO_ARCH_M32R 1 -+# define LZO_INFO_ARCH "m32r" -+#elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K) -+# define LZO_ARCH_M68K 1 -+# define LZO_INFO_ARCH "m68k" -+#elif (UINT_MAX == LZO_0xffffL) && defined(__C251__) -+# define LZO_ARCH_MCS251 1 -+# define LZO_INFO_ARCH "mcs251" -+#elif (UINT_MAX == LZO_0xffffL) && defined(__C51__) -+# define LZO_ARCH_MCS51 1 -+# define LZO_INFO_ARCH "mcs51" -+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__) -+# define LZO_ARCH_MCS51 1 -+# define LZO_INFO_ARCH "mcs51" -+#elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000) -+# define LZO_ARCH_MIPS 1 -+# define LZO_INFO_ARCH "mips" -+#elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__) -+# define LZO_ARCH_MSP430 1 -+# define LZO_INFO_ARCH "msp430" -+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__) -+# define LZO_ARCH_MSP430 1 -+# define LZO_INFO_ARCH "msp430" -+#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR) -+# define LZO_ARCH_POWERPC 1 -+# define LZO_INFO_ARCH "powerpc" -+#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x) -+# define LZO_ARCH_S390 1 -+# define LZO_INFO_ARCH "s390" -+#elif defined(__sh__) || defined(_M_SH) -+# define LZO_ARCH_SH 1 -+# define LZO_INFO_ARCH "sh" -+#elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8) -+# define LZO_ARCH_SPARC 1 -+# define LZO_INFO_ARCH "sparc" -+#elif defined(__SPU__) -+# define LZO_ARCH_SPU 1 -+# define LZO_INFO_ARCH "spu" -+#elif (UINT_MAX == LZO_0xffffL) && defined(__z80) -+# define LZO_ARCH_Z80 1 -+# define LZO_INFO_ARCH "z80" -+#elif (LZO_ARCH_CRAY_PVP) -+# if defined(_CRAYSV1) -+# define LZO_ARCH_CRAY_SV1 1 -+# define LZO_INFO_ARCH "cray_sv1" -+# elif (_ADDR64) -+# define LZO_ARCH_CRAY_T90 1 -+# define LZO_INFO_ARCH "cray_t90" -+# elif (_ADDR32) -+# define LZO_ARCH_CRAY_YMP 1 -+# define LZO_INFO_ARCH "cray_ymp" -+# else -+# define LZO_ARCH_CRAY_XMP 1 -+# define LZO_INFO_ARCH "cray_xmp" -+# endif -+#else -+# define LZO_ARCH_UNKNOWN 1 -+# define LZO_INFO_ARCH "unknown" -+#endif -+#endif -+#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2) -+# error "FIXME - missing define for CPU architecture" -+#endif -+#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32) -+# error "FIXME - missing LZO_OS_WIN32 define for CPU architecture" -+#endif -+#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64) -+# error "FIXME - missing LZO_OS_WIN64 define for CPU architecture" -+#endif -+#if (LZO_OS_OS216 || LZO_OS_WIN16) -+# define LZO_ARCH_I086PM 1 -+#elif 1 && (LZO_OS_DOS16 && defined(BLX286)) -+# define LZO_ARCH_I086PM 1 -+#elif 1 && (LZO_OS_DOS16 && defined(DOSX286)) -+# define LZO_ARCH_I086PM 1 -+#elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__)) -+# define LZO_ARCH_I086PM 1 -+#endif -+#if (LZO_ARCH_AMD64 && !LZO_ARCH_X64) -+# define LZO_ARCH_X64 1 -+#elif (!LZO_ARCH_AMD64 && LZO_ARCH_X64) && defined(__LZO_ARCH_OVERRIDE) -+# define LZO_ARCH_AMD64 1 -+#endif -+#if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64) -+# define LZO_ARCH_AARCH64 1 -+#elif (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64) && defined(__LZO_ARCH_OVERRIDE) -+# define LZO_ARCH_ARM64 1 -+#endif -+#if (LZO_ARCH_I386 && !LZO_ARCH_X86) -+# define LZO_ARCH_X86 1 -+#elif (!LZO_ARCH_I386 && LZO_ARCH_X86) && defined(__LZO_ARCH_OVERRIDE) -+# define LZO_ARCH_I386 1 -+#endif -+#if (LZO_ARCH_AMD64 && !LZO_ARCH_X64) || (!LZO_ARCH_AMD64 && LZO_ARCH_X64) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64) || (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_I386 && !LZO_ARCH_X86) || (!LZO_ARCH_I386 && LZO_ARCH_X86) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_ARM_THUMB && !LZO_ARCH_ARM) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_ARM_THUMB1 && !LZO_ARCH_ARM_THUMB) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_ARM_THUMB2 && !LZO_ARCH_ARM_THUMB) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_ARM_THUMB1 && LZO_ARCH_ARM_THUMB2) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_I086PM && !LZO_ARCH_I086) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_I086) -+# if (UINT_MAX != LZO_0xffffL) -+# error "unexpected configuration - check your compiler defines" -+# endif -+# if (ULONG_MAX != LZO_0xffffffffL) -+# error "unexpected configuration - check your compiler defines" -+# endif -+#endif -+#if (LZO_ARCH_I386) -+# if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__) -+# error "unexpected configuration - check your compiler defines" -+# endif -+# if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__) -+# error "unexpected configuration - check your compiler defines" -+# endif -+# if (ULONG_MAX != LZO_0xffffffffL) -+# error "unexpected configuration - check your compiler defines" -+# endif -+#endif -+#if (LZO_ARCH_AMD64 || LZO_ARCH_I386) -+# if !defined(LZO_TARGET_FEATURE_SSE2) -+# if defined(__SSE2__) -+# define LZO_TARGET_FEATURE_SSE2 1 -+# elif defined(_MSC_VER) && ((defined(_M_IX86_FP) && ((_M_IX86_FP)+0 >= 2)) || defined(_M_AMD64)) -+# define LZO_TARGET_FEATURE_SSE2 1 -+# endif -+# endif -+# if !defined(LZO_TARGET_FEATURE_SSSE3) -+# if (LZO_TARGET_FEATURE_SSE2) -+# if defined(__SSSE3__) -+# define LZO_TARGET_FEATURE_SSSE3 1 -+# elif defined(_MSC_VER) && defined(__AVX__) -+# define LZO_TARGET_FEATURE_SSSE3 1 -+# endif -+# endif -+# endif -+# if !defined(LZO_TARGET_FEATURE_SSE4_2) -+# if (LZO_TARGET_FEATURE_SSSE3) -+# if defined(__SSE4_2__) -+# define LZO_TARGET_FEATURE_SSE4_2 1 -+# endif -+# endif -+# endif -+# if !defined(LZO_TARGET_FEATURE_AVX) -+# if (LZO_TARGET_FEATURE_SSSE3) -+# if defined(__AVX__) -+# define LZO_TARGET_FEATURE_AVX 1 -+# endif -+# endif -+# endif -+# if !defined(LZO_TARGET_FEATURE_AVX2) -+# if (LZO_TARGET_FEATURE_AVX) -+# if defined(__AVX2__) -+# define LZO_TARGET_FEATURE_AVX2 1 -+# endif -+# endif -+# endif -+#endif -+#if (LZO_TARGET_FEATURE_SSSE3 && !(LZO_TARGET_FEATURE_SSE2)) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_TARGET_FEATURE_SSE4_2 && !(LZO_TARGET_FEATURE_SSSE3)) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_TARGET_FEATURE_AVX && !(LZO_TARGET_FEATURE_SSSE3)) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_TARGET_FEATURE_AVX2 && !(LZO_TARGET_FEATURE_AVX)) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_ARM) -+# if !defined(LZO_TARGET_FEATURE_NEON) -+# if defined(__ARM_NEON__) -+# define LZO_TARGET_FEATURE_NEON 1 -+# endif -+# endif -+#elif (LZO_ARCH_ARM64) -+# if !defined(LZO_TARGET_FEATURE_NEON) -+# if 1 -+# define LZO_TARGET_FEATURE_NEON 1 -+# endif -+# endif -+#endif -+#if 0 -+#elif !defined(__LZO_MM_OVERRIDE) -+#if (LZO_ARCH_I086) -+#if (UINT_MAX != LZO_0xffffL) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM) -+# define LZO_MM_TINY 1 -+#elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM) -+# define LZO_MM_HUGE 1 -+#elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL) -+# define LZO_MM_SMALL 1 -+#elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM) -+# define LZO_MM_MEDIUM 1 -+#elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM) -+# define LZO_MM_COMPACT 1 -+#elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL) -+# define LZO_MM_LARGE 1 -+#elif (LZO_CC_AZTECC) -+# if defined(_LARGE_CODE) && defined(_LARGE_DATA) -+# define LZO_MM_LARGE 1 -+# elif defined(_LARGE_CODE) -+# define LZO_MM_MEDIUM 1 -+# elif defined(_LARGE_DATA) -+# define LZO_MM_COMPACT 1 -+# else -+# define LZO_MM_SMALL 1 -+# endif -+#elif (LZO_CC_ZORTECHC && defined(__VCM__)) -+# define LZO_MM_LARGE 1 -+#else -+# error "unknown LZO_ARCH_I086 memory model" -+#endif -+#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) -+#define LZO_HAVE_MM_HUGE_PTR 1 -+#define LZO_HAVE_MM_HUGE_ARRAY 1 -+#if (LZO_MM_TINY) -+# undef LZO_HAVE_MM_HUGE_ARRAY -+#endif -+#if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC) -+# undef LZO_HAVE_MM_HUGE_PTR -+# undef LZO_HAVE_MM_HUGE_ARRAY -+#elif (LZO_CC_DMC || LZO_CC_SYMANTECC) -+# undef LZO_HAVE_MM_HUGE_ARRAY -+#elif (LZO_CC_MSC && defined(_QC)) -+# undef LZO_HAVE_MM_HUGE_ARRAY -+# if (_MSC_VER < 600) -+# undef LZO_HAVE_MM_HUGE_PTR -+# endif -+#elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295)) -+# undef LZO_HAVE_MM_HUGE_ARRAY -+#endif -+#if (LZO_ARCH_I086PM) && !(LZO_HAVE_MM_HUGE_PTR) -+# if (LZO_OS_DOS16) -+# error "unexpected configuration - check your compiler defines" -+# elif (LZO_CC_ZORTECHC) -+# else -+# error "unexpected configuration - check your compiler defines" -+# endif -+#endif -+#ifdef __cplusplus -+extern "C" { -+#endif -+#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200)) -+ extern void __near __cdecl _AHSHIFT(void); -+# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) -+#elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) -+ extern void __near __cdecl _AHSHIFT(void); -+# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) -+#elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC) -+ extern void __near __cdecl _AHSHIFT(void); -+# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) -+#elif (LZO_CC_TURBOC && (__TURBOC__ >= 0x0295)) -+ extern void __near __cdecl _AHSHIFT(void); -+# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) -+#elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16) -+# define LZO_MM_AHSHIFT 12 -+#elif (LZO_CC_WATCOMC) -+ extern unsigned char _HShift; -+# define LZO_MM_AHSHIFT ((unsigned) _HShift) -+#else -+# error "FIXME - implement LZO_MM_AHSHIFT" -+#endif -+#ifdef __cplusplus -+} -+#endif -+#endif -+#elif (LZO_ARCH_C166) -+#if !defined(__MODEL__) -+# error "FIXME - LZO_ARCH_C166 __MODEL__" -+#elif ((__MODEL__) == 0) -+# define LZO_MM_SMALL 1 -+#elif ((__MODEL__) == 1) -+# define LZO_MM_SMALL 1 -+#elif ((__MODEL__) == 2) -+# define LZO_MM_LARGE 1 -+#elif ((__MODEL__) == 3) -+# define LZO_MM_TINY 1 -+#elif ((__MODEL__) == 4) -+# define LZO_MM_XTINY 1 -+#elif ((__MODEL__) == 5) -+# define LZO_MM_XSMALL 1 -+#else -+# error "FIXME - LZO_ARCH_C166 __MODEL__" -+#endif -+#elif (LZO_ARCH_MCS251) -+#if !defined(__MODEL__) -+# error "FIXME - LZO_ARCH_MCS251 __MODEL__" -+#elif ((__MODEL__) == 0) -+# define LZO_MM_SMALL 1 -+#elif ((__MODEL__) == 2) -+# define LZO_MM_LARGE 1 -+#elif ((__MODEL__) == 3) -+# define LZO_MM_TINY 1 -+#elif ((__MODEL__) == 4) -+# define LZO_MM_XTINY 1 -+#elif ((__MODEL__) == 5) -+# define LZO_MM_XSMALL 1 -+#else -+# error "FIXME - LZO_ARCH_MCS251 __MODEL__" -+#endif -+#elif (LZO_ARCH_MCS51) -+#if !defined(__MODEL__) -+# error "FIXME - LZO_ARCH_MCS51 __MODEL__" -+#elif ((__MODEL__) == 1) -+# define LZO_MM_SMALL 1 -+#elif ((__MODEL__) == 2) -+# define LZO_MM_LARGE 1 -+#elif ((__MODEL__) == 3) -+# define LZO_MM_TINY 1 -+#elif ((__MODEL__) == 4) -+# define LZO_MM_XTINY 1 -+#elif ((__MODEL__) == 5) -+# define LZO_MM_XSMALL 1 -+#else -+# error "FIXME - LZO_ARCH_MCS51 __MODEL__" -+#endif -+#elif (LZO_ARCH_CRAY_PVP) -+# define LZO_MM_PVP 1 -+#else -+# define LZO_MM_FLAT 1 -+#endif -+#if (LZO_MM_COMPACT) -+# define LZO_INFO_MM "compact" -+#elif (LZO_MM_FLAT) -+# define LZO_INFO_MM "flat" -+#elif (LZO_MM_HUGE) -+# define LZO_INFO_MM "huge" -+#elif (LZO_MM_LARGE) -+# define LZO_INFO_MM "large" -+#elif (LZO_MM_MEDIUM) -+# define LZO_INFO_MM "medium" -+#elif (LZO_MM_PVP) -+# define LZO_INFO_MM "pvp" -+#elif (LZO_MM_SMALL) -+# define LZO_INFO_MM "small" -+#elif (LZO_MM_TINY) -+# define LZO_INFO_MM "tiny" -+#else -+# error "unknown memory model" -+#endif -+#endif -+#if !defined(__lzo_gnuc_extension__) -+#if (LZO_CC_GNUC >= 0x020800ul) -+# define __lzo_gnuc_extension__ __extension__ -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_gnuc_extension__ __extension__ -+#elif (LZO_CC_IBMC >= 600) -+# define __lzo_gnuc_extension__ __extension__ -+#else -+#endif -+#endif -+#if !defined(__lzo_gnuc_extension__) -+# define __lzo_gnuc_extension__ /*empty*/ -+#endif -+#if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) && defined(__cplusplus) && 0 -+# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) -+# define LZO_CFG_USE_NEW_STYLE_CASTS 0 -+# elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1200)) -+# define LZO_CFG_USE_NEW_STYLE_CASTS 0 -+# else -+# define LZO_CFG_USE_NEW_STYLE_CASTS 1 -+# endif -+#endif -+#if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) -+# define LZO_CFG_USE_NEW_STYLE_CASTS 0 -+#endif -+#if !defined(__cplusplus) -+# if defined(LZO_CFG_USE_NEW_STYLE_CASTS) -+# undef LZO_CFG_USE_NEW_STYLE_CASTS -+# endif -+# define LZO_CFG_USE_NEW_STYLE_CASTS 0 -+#endif -+#if !defined(LZO_REINTERPRET_CAST) -+# if (LZO_CFG_USE_NEW_STYLE_CASTS) -+# define LZO_REINTERPRET_CAST(t,e) (reinterpret_cast (e)) -+# endif -+#endif -+#if !defined(LZO_REINTERPRET_CAST) -+# define LZO_REINTERPRET_CAST(t,e) ((t) (e)) -+#endif -+#if !defined(LZO_STATIC_CAST) -+# if (LZO_CFG_USE_NEW_STYLE_CASTS) -+# define LZO_STATIC_CAST(t,e) (static_cast (e)) -+# endif -+#endif -+#if !defined(LZO_STATIC_CAST) -+# define LZO_STATIC_CAST(t,e) ((t) (e)) -+#endif -+#if !defined(LZO_STATIC_CAST2) -+# define LZO_STATIC_CAST2(t1,t2,e) LZO_STATIC_CAST(t1, LZO_STATIC_CAST(t2, e)) -+#endif -+#if !defined(LZO_UNCONST_CAST) -+# if (LZO_CFG_USE_NEW_STYLE_CASTS) -+# define LZO_UNCONST_CAST(t,e) (const_cast (e)) -+# elif (LZO_HAVE_MM_HUGE_PTR) -+# define LZO_UNCONST_CAST(t,e) ((t) (e)) -+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((const void *) (e))))) -+# endif -+#endif -+#if !defined(LZO_UNCONST_CAST) -+# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((const void *) (e)))) -+#endif -+#if !defined(LZO_UNCONST_VOLATILE_CAST) -+# if (LZO_CFG_USE_NEW_STYLE_CASTS) -+# define LZO_UNCONST_VOLATILE_CAST(t,e) (const_cast (e)) -+# elif (LZO_HAVE_MM_HUGE_PTR) -+# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) (e)) -+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((lzo_uintptr_t) ((volatile const void *) (e))))) -+# endif -+#endif -+#if !defined(LZO_UNCONST_VOLATILE_CAST) -+# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((volatile const void *) (e)))) -+#endif -+#if !defined(LZO_UNVOLATILE_CAST) -+# if (LZO_CFG_USE_NEW_STYLE_CASTS) -+# define LZO_UNVOLATILE_CAST(t,e) (const_cast (e)) -+# elif (LZO_HAVE_MM_HUGE_PTR) -+# define LZO_UNVOLATILE_CAST(t,e) ((t) (e)) -+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((volatile void *) (e))))) -+# endif -+#endif -+#if !defined(LZO_UNVOLATILE_CAST) -+# define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((volatile void *) (e)))) -+#endif -+#if !defined(LZO_UNVOLATILE_CONST_CAST) -+# if (LZO_CFG_USE_NEW_STYLE_CASTS) -+# define LZO_UNVOLATILE_CONST_CAST(t,e) (const_cast (e)) -+# elif (LZO_HAVE_MM_HUGE_PTR) -+# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) (e)) -+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((lzo_uintptr_t) ((volatile const void *) (e))))) -+# endif -+#endif -+#if !defined(LZO_UNVOLATILE_CONST_CAST) -+# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((volatile const void *) (e)))) -+#endif -+#if !defined(LZO_PCAST) -+# if (LZO_HAVE_MM_HUGE_PTR) -+# define LZO_PCAST(t,e) ((t) (e)) -+# endif -+#endif -+#if !defined(LZO_PCAST) -+# define LZO_PCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(void *, e)) -+#endif -+#if !defined(LZO_CCAST) -+# if (LZO_HAVE_MM_HUGE_PTR) -+# define LZO_CCAST(t,e) ((t) (e)) -+# endif -+#endif -+#if !defined(LZO_CCAST) -+# define LZO_CCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(const void *, e)) -+#endif -+#if !defined(LZO_ICONV) -+# define LZO_ICONV(t,e) LZO_STATIC_CAST(t, e) -+#endif -+#if !defined(LZO_ICAST) -+# define LZO_ICAST(t,e) LZO_STATIC_CAST(t, e) -+#endif -+#if !defined(LZO_ITRUNC) -+# define LZO_ITRUNC(t,e) LZO_STATIC_CAST(t, e) -+#endif -+#if !defined(__lzo_cte) -+# if (LZO_CC_MSC || LZO_CC_WATCOMC) -+# define __lzo_cte(e) ((void)0,(e)) -+# elif 1 -+# define __lzo_cte(e) ((void)0,(e)) -+# endif -+#endif -+#if !defined(__lzo_cte) -+# define __lzo_cte(e) (e) -+#endif -+#if !defined(LZO_BLOCK_BEGIN) -+# define LZO_BLOCK_BEGIN do { -+# define LZO_BLOCK_END } while __lzo_cte(0) -+#endif -+#if !defined(LZO_UNUSED) -+# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) -+# define LZO_UNUSED(var) ((void) &var) -+# elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC) -+# define LZO_UNUSED(var) if (&var) ; else -+# elif (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030200ul)) -+# define LZO_UNUSED(var) ((void) &var) -+# elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define LZO_UNUSED(var) ((void) var) -+# elif (LZO_CC_MSC && (_MSC_VER < 900)) -+# define LZO_UNUSED(var) if (&var) ; else -+# elif (LZO_CC_KEILC) -+# define LZO_UNUSED(var) {LZO_EXTERN_C int lzo_unused__[1-2*!(sizeof(var)>0)];} -+# elif (LZO_CC_PACIFICC) -+# define LZO_UNUSED(var) ((void) sizeof(var)) -+# elif (LZO_CC_WATCOMC) && defined(__cplusplus) -+# define LZO_UNUSED(var) ((void) var) -+# else -+# define LZO_UNUSED(var) ((void) &var) -+# endif -+#endif -+#if !defined(LZO_UNUSED_FUNC) -+# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) -+# define LZO_UNUSED_FUNC(func) ((void) func) -+# elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC) -+# define LZO_UNUSED_FUNC(func) if (func) ; else -+# elif (LZO_CC_CLANG || LZO_CC_LLVM) -+# define LZO_UNUSED_FUNC(func) ((void) &func) -+# elif (LZO_CC_MSC && (_MSC_VER < 900)) -+# define LZO_UNUSED_FUNC(func) if (func) ; else -+# elif (LZO_CC_MSC) -+# define LZO_UNUSED_FUNC(func) ((void) &func) -+# elif (LZO_CC_KEILC || LZO_CC_PELLESC) -+# define LZO_UNUSED_FUNC(func) {LZO_EXTERN_C int lzo_unused_func__[1-2*!(sizeof((int)func)>0)];} -+# else -+# define LZO_UNUSED_FUNC(func) ((void) func) -+# endif -+#endif -+#if !defined(LZO_UNUSED_LABEL) -+# if (LZO_CC_CLANG >= 0x020800ul) -+# define LZO_UNUSED_LABEL(l) (__lzo_gnuc_extension__ ((void) ((const void *) &&l))) -+# elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_INTELC || LZO_CC_WATCOMC) -+# define LZO_UNUSED_LABEL(l) if __lzo_cte(0) goto l -+# else -+# define LZO_UNUSED_LABEL(l) switch (0) case 1:goto l -+# endif -+#endif -+#if !defined(LZO_DEFINE_UNINITIALIZED_VAR) -+# if 0 -+# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var -+# elif 0 && (LZO_CC_GNUC) -+# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var -+# else -+# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init -+# endif -+#endif -+#if !defined(__lzo_inline) -+#if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295)) -+#elif defined(__cplusplus) -+# define __lzo_inline inline -+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L) -+# define __lzo_inline inline -+#elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550)) -+# define __lzo_inline __inline -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) -+# define __lzo_inline __inline__ -+#elif (LZO_CC_DMC) -+# define __lzo_inline __inline -+#elif (LZO_CC_GHS) -+# define __lzo_inline __inline__ -+#elif (LZO_CC_IBMC >= 600) -+# define __lzo_inline __inline__ -+#elif (LZO_CC_INTELC) -+# define __lzo_inline __inline -+#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405)) -+# define __lzo_inline __inline -+#elif (LZO_CC_MSC && (_MSC_VER >= 900)) -+# define __lzo_inline __inline -+#elif (LZO_CC_SUNPROC >= 0x5100) -+# define __lzo_inline __inline__ -+#endif -+#endif -+#if defined(__lzo_inline) -+# ifndef __lzo_HAVE_inline -+# define __lzo_HAVE_inline 1 -+# endif -+#else -+# define __lzo_inline /*empty*/ -+#endif -+#if !defined(__lzo_forceinline) -+#if (LZO_CC_GNUC >= 0x030200ul) -+# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) -+#elif (LZO_CC_IBMC >= 700) -+# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) -+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) -+# define __lzo_forceinline __forceinline -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) -+# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) -+#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) -+# define __lzo_forceinline __forceinline -+#elif (LZO_CC_PGI >= 0x0d0a00ul) -+# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) -+#elif (LZO_CC_SUNPROC >= 0x5100) -+# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) -+#endif -+#endif -+#if defined(__lzo_forceinline) -+# ifndef __lzo_HAVE_forceinline -+# define __lzo_HAVE_forceinline 1 -+# endif -+#else -+# define __lzo_forceinline __lzo_inline -+#endif -+#if !defined(__lzo_noinline) -+#if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x040003ul) -+# define __lzo_noinline __attribute__((__noinline__,__used__)) -+#elif (LZO_CC_GNUC >= 0x030200ul) -+# define __lzo_noinline __attribute__((__noinline__)) -+#elif (LZO_CC_IBMC >= 700) -+# define __lzo_noinline __attribute__((__noinline__)) -+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600)) -+# define __lzo_noinline __declspec(noinline) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) -+# define __lzo_noinline __attribute__((__noinline__)) -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_noinline __attribute__((__noinline__)) -+#elif (LZO_CC_MSC && (_MSC_VER >= 1300)) -+# define __lzo_noinline __declspec(noinline) -+#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64)) -+# if defined(__cplusplus) -+# else -+# define __lzo_noinline __declspec(noinline) -+# endif -+#elif (LZO_CC_PGI >= 0x0d0a00ul) -+# define __lzo_noinline __attribute__((__noinline__)) -+#elif (LZO_CC_SUNPROC >= 0x5100) -+# define __lzo_noinline __attribute__((__noinline__)) -+#endif -+#endif -+#if defined(__lzo_noinline) -+# ifndef __lzo_HAVE_noinline -+# define __lzo_HAVE_noinline 1 -+# endif -+#else -+# define __lzo_noinline /*empty*/ -+#endif -+#if (__lzo_HAVE_forceinline || __lzo_HAVE_noinline) && !(__lzo_HAVE_inline) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if !defined(__lzo_static_inline) -+#if (LZO_CC_IBMC) -+# define __lzo_static_inline __lzo_gnuc_extension__ static __lzo_inline -+#endif -+#endif -+#if !defined(__lzo_static_inline) -+# define __lzo_static_inline static __lzo_inline -+#endif -+#if !defined(__lzo_static_forceinline) -+#if (LZO_CC_IBMC) -+# define __lzo_static_forceinline __lzo_gnuc_extension__ static __lzo_forceinline -+#endif -+#endif -+#if !defined(__lzo_static_forceinline) -+# define __lzo_static_forceinline static __lzo_forceinline -+#endif -+#if !defined(__lzo_static_noinline) -+#if (LZO_CC_IBMC) -+# define __lzo_static_noinline __lzo_gnuc_extension__ static __lzo_noinline -+#endif -+#endif -+#if !defined(__lzo_static_noinline) -+# define __lzo_static_noinline static __lzo_noinline -+#endif -+#if !defined(__lzo_c99_extern_inline) -+#if defined(__GNUC_GNU_INLINE__) -+# define __lzo_c99_extern_inline __lzo_inline -+#elif defined(__GNUC_STDC_INLINE__) -+# define __lzo_c99_extern_inline extern __lzo_inline -+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L) -+# define __lzo_c99_extern_inline extern __lzo_inline -+#endif -+#if !defined(__lzo_c99_extern_inline) && (__lzo_HAVE_inline) -+# define __lzo_c99_extern_inline __lzo_inline -+#endif -+#endif -+#if defined(__lzo_c99_extern_inline) -+# ifndef __lzo_HAVE_c99_extern_inline -+# define __lzo_HAVE_c99_extern_inline 1 -+# endif -+#else -+# define __lzo_c99_extern_inline /*empty*/ -+#endif -+#if !defined(__lzo_may_alias) -+#if (LZO_CC_GNUC >= 0x030400ul) -+# define __lzo_may_alias __attribute__((__may_alias__)) -+#elif (LZO_CC_CLANG >= 0x020900ul) -+# define __lzo_may_alias __attribute__((__may_alias__)) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1210)) && 0 -+# define __lzo_may_alias __attribute__((__may_alias__)) -+#elif (LZO_CC_PGI >= 0x0d0a00ul) && 0 -+# define __lzo_may_alias __attribute__((__may_alias__)) -+#endif -+#endif -+#if defined(__lzo_may_alias) -+# ifndef __lzo_HAVE_may_alias -+# define __lzo_HAVE_may_alias 1 -+# endif -+#else -+# define __lzo_may_alias /*empty*/ -+#endif -+#if !defined(__lzo_noreturn) -+#if (LZO_CC_GNUC >= 0x020700ul) -+# define __lzo_noreturn __attribute__((__noreturn__)) -+#elif (LZO_CC_IBMC >= 700) -+# define __lzo_noreturn __attribute__((__noreturn__)) -+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) -+# define __lzo_noreturn __declspec(noreturn) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600)) -+# define __lzo_noreturn __attribute__((__noreturn__)) -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_noreturn __attribute__((__noreturn__)) -+#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) -+# define __lzo_noreturn __declspec(noreturn) -+#elif (LZO_CC_PGI >= 0x0d0a00ul) -+# define __lzo_noreturn __attribute__((__noreturn__)) -+#endif -+#endif -+#if defined(__lzo_noreturn) -+# ifndef __lzo_HAVE_noreturn -+# define __lzo_HAVE_noreturn 1 -+# endif -+#else -+# define __lzo_noreturn /*empty*/ -+#endif -+#if !defined(__lzo_nothrow) -+#if (LZO_CC_GNUC >= 0x030300ul) -+# define __lzo_nothrow __attribute__((__nothrow__)) -+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) && defined(__cplusplus) -+# define __lzo_nothrow __declspec(nothrow) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 900)) -+# define __lzo_nothrow __attribute__((__nothrow__)) -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_nothrow __attribute__((__nothrow__)) -+#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus) -+# define __lzo_nothrow __declspec(nothrow) -+#endif -+#endif -+#if defined(__lzo_nothrow) -+# ifndef __lzo_HAVE_nothrow -+# define __lzo_HAVE_nothrow 1 -+# endif -+#else -+# define __lzo_nothrow /*empty*/ -+#endif -+#if !defined(__lzo_restrict) -+#if (LZO_CC_GNUC >= 0x030400ul) -+# define __lzo_restrict __restrict__ -+#elif (LZO_CC_IBMC >= 800) && !defined(__cplusplus) -+# define __lzo_restrict __restrict__ -+#elif (LZO_CC_IBMC >= 1210) -+# define __lzo_restrict __restrict__ -+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600)) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600)) -+# define __lzo_restrict __restrict__ -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM) -+# define __lzo_restrict __restrict__ -+#elif (LZO_CC_MSC && (_MSC_VER >= 1400)) -+# define __lzo_restrict __restrict -+#elif (LZO_CC_PGI >= 0x0d0a00ul) -+# define __lzo_restrict __restrict__ -+#endif -+#endif -+#if defined(__lzo_restrict) -+# ifndef __lzo_HAVE_restrict -+# define __lzo_HAVE_restrict 1 -+# endif -+#else -+# define __lzo_restrict /*empty*/ -+#endif -+#if !defined(__lzo_alignof) -+#if (LZO_CC_ARMCC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) -+# define __lzo_alignof(e) __alignof__(e) -+#elif (LZO_CC_GHS) && !defined(__cplusplus) -+# define __lzo_alignof(e) __alignof__(e) -+#elif (LZO_CC_IBMC >= 600) -+# define __lzo_alignof(e) (__lzo_gnuc_extension__ __alignof__(e)) -+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700)) -+# define __lzo_alignof(e) __alignof__(e) -+#elif (LZO_CC_MSC && (_MSC_VER >= 1300)) -+# define __lzo_alignof(e) __alignof(e) -+#elif (LZO_CC_SUNPROC >= 0x5100) -+# define __lzo_alignof(e) __alignof__(e) -+#endif -+#endif -+#if defined(__lzo_alignof) -+# ifndef __lzo_HAVE_alignof -+# define __lzo_HAVE_alignof 1 -+# endif -+#endif -+#if !defined(__lzo_struct_packed) -+#if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) -+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul)) -+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus) -+#elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul)) -+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus) -+#elif (LZO_CC_GNUC >= 0x030400ul) && !(LZO_CC_PCC_GNUC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) -+# define __lzo_struct_packed(s) struct s { -+# define __lzo_struct_packed_end() } __attribute__((__gcc_struct__,__packed__)); -+# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__gcc_struct__,__packed__)); -+#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || (LZO_CC_PGI >= 0x0d0a00ul) || (LZO_CC_SUNPROC >= 0x5100)) -+# define __lzo_struct_packed(s) struct s { -+# define __lzo_struct_packed_end() } __attribute__((__packed__)); -+# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packed__)); -+#elif (LZO_CC_IBMC >= 700) -+# define __lzo_struct_packed(s) __lzo_gnuc_extension__ struct s { -+# define __lzo_struct_packed_end() } __attribute__((__packed__)); -+# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packed__)); -+#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) -+# define __lzo_struct_packed(s) __pragma(pack(push,1)) struct s { -+# define __lzo_struct_packed_end() } __pragma(pack(pop)); -+#elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900)) -+# define __lzo_struct_packed(s) _Packed struct s { -+# define __lzo_struct_packed_end() }; -+#endif -+#endif -+#if defined(__lzo_struct_packed) && !defined(__lzo_struct_packed_ma) -+# define __lzo_struct_packed_ma(s) __lzo_struct_packed(s) -+#endif -+#if defined(__lzo_struct_packed_end) && !defined(__lzo_struct_packed_ma_end) -+# define __lzo_struct_packed_ma_end() __lzo_struct_packed_end() -+#endif -+#if !defined(__lzo_byte_struct) -+#if defined(__lzo_struct_packed) -+# define __lzo_byte_struct(s,n) __lzo_struct_packed(s) unsigned char a[n]; __lzo_struct_packed_end() -+# define __lzo_byte_struct_ma(s,n) __lzo_struct_packed_ma(s) unsigned char a[n]; __lzo_struct_packed_ma_end() -+#elif (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_PGI || (LZO_CC_SUNPROC >= 0x5100)) -+# define __lzo_byte_struct(s,n) struct s { unsigned char a[n]; } __attribute__((__packed__)); -+# define __lzo_byte_struct_ma(s,n) struct s { unsigned char a[n]; } __lzo_may_alias __attribute__((__packed__)); -+#endif -+#endif -+#if defined(__lzo_byte_struct) && !defined(__lzo_byte_struct_ma) -+# define __lzo_byte_struct_ma(s,n) __lzo_byte_struct(s,n) -+#endif -+#if !defined(__lzo_struct_align16) && (__lzo_HAVE_alignof) -+#if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x030000ul)) -+#elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) -+#elif (LZO_CC_CILLY || LZO_CC_PCC) -+#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) -+# define __lzo_struct_align16(s) struct __declspec(align(16)) s { -+# define __lzo_struct_align16_end() }; -+# define __lzo_struct_align32(s) struct __declspec(align(32)) s { -+# define __lzo_struct_align32_end() }; -+# define __lzo_struct_align64(s) struct __declspec(align(64)) s { -+# define __lzo_struct_align64_end() }; -+#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || (LZO_CC_IBMC >= 700) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_struct_align16(s) struct s { -+# define __lzo_struct_align16_end() } __attribute__((__aligned__(16))); -+# define __lzo_struct_align32(s) struct s { -+# define __lzo_struct_align32_end() } __attribute__((__aligned__(32))); -+# define __lzo_struct_align64(s) struct s { -+# define __lzo_struct_align64_end() } __attribute__((__aligned__(64))); -+#endif -+#endif -+#if !defined(__lzo_union_um) -+#if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) -+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul)) -+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER < 810)) -+#elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul)) -+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus) -+#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || (LZO_CC_PGI >= 0x0d0a00ul) || (LZO_CC_SUNPROC >= 0x5100)) -+# define __lzo_union_am(s) union s { -+# define __lzo_union_am_end() } __lzo_may_alias; -+# define __lzo_union_um(s) union s { -+# define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packed__)); -+#elif (LZO_CC_IBMC >= 700) -+# define __lzo_union_am(s) __lzo_gnuc_extension__ union s { -+# define __lzo_union_am_end() } __lzo_may_alias; -+# define __lzo_union_um(s) __lzo_gnuc_extension__ union s { -+# define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packed__)); -+#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) -+# define __lzo_union_um(s) __pragma(pack(push,1)) union s { -+# define __lzo_union_um_end() } __pragma(pack(pop)); -+#elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900)) -+# define __lzo_union_um(s) _Packed union s { -+# define __lzo_union_um_end() }; -+#endif -+#endif -+#if !defined(__lzo_union_am) -+# define __lzo_union_am(s) union s { -+# define __lzo_union_am_end() }; -+#endif -+#if !defined(__lzo_constructor) -+#if (LZO_CC_GNUC >= 0x030400ul) -+# define __lzo_constructor __attribute__((__constructor__,__used__)) -+#elif (LZO_CC_GNUC >= 0x020700ul) -+# define __lzo_constructor __attribute__((__constructor__)) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) -+# define __lzo_constructor __attribute__((__constructor__,__used__)) -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_constructor __attribute__((__constructor__)) -+#endif -+#endif -+#if defined(__lzo_constructor) -+# ifndef __lzo_HAVE_constructor -+# define __lzo_HAVE_constructor 1 -+# endif -+#endif -+#if !defined(__lzo_destructor) -+#if (LZO_CC_GNUC >= 0x030400ul) -+# define __lzo_destructor __attribute__((__destructor__,__used__)) -+#elif (LZO_CC_GNUC >= 0x020700ul) -+# define __lzo_destructor __attribute__((__destructor__)) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) -+# define __lzo_destructor __attribute__((__destructor__,__used__)) -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_destructor __attribute__((__destructor__)) -+#endif -+#endif -+#if defined(__lzo_destructor) -+# ifndef __lzo_HAVE_destructor -+# define __lzo_HAVE_destructor 1 -+# endif -+#endif -+#if (__lzo_HAVE_destructor) && !(__lzo_HAVE_constructor) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if !defined(__lzo_likely) && !defined(__lzo_unlikely) -+#if (LZO_CC_GNUC >= 0x030200ul) -+# define __lzo_likely(e) (__builtin_expect(!!(e),1)) -+# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) -+#elif (LZO_CC_IBMC >= 1010) -+# define __lzo_likely(e) (__builtin_expect(!!(e),1)) -+# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) -+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800)) -+# define __lzo_likely(e) (__builtin_expect(!!(e),1)) -+# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_likely(e) (__builtin_expect(!!(e),1)) -+# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) -+#endif -+#endif -+#if defined(__lzo_likely) -+# ifndef __lzo_HAVE_likely -+# define __lzo_HAVE_likely 1 -+# endif -+#else -+# define __lzo_likely(e) (e) -+#endif -+#if defined(__lzo_unlikely) -+# ifndef __lzo_HAVE_unlikely -+# define __lzo_HAVE_unlikely 1 -+# endif -+#else -+# define __lzo_unlikely(e) (e) -+#endif -+#if !defined(__lzo_static_unused_void_func) -+# if 1 && (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) -+# define __lzo_static_unused_void_func(f) static void __attribute__((__unused__)) f(void) -+# else -+# define __lzo_static_unused_void_func(f) static __lzo_inline void f(void) -+# endif -+#endif -+#if !defined(__lzo_loop_forever) -+# if (LZO_CC_IBMC) -+# define __lzo_loop_forever() LZO_BLOCK_BEGIN for (;;) { ; } LZO_BLOCK_END -+# else -+# define __lzo_loop_forever() do { ; } while __lzo_cte(1) -+# endif -+#endif -+#if !defined(__lzo_unreachable) -+#if (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x020800ul)) -+# define __lzo_unreachable() __builtin_unreachable(); -+#elif (LZO_CC_GNUC >= 0x040500ul) -+# define __lzo_unreachable() __builtin_unreachable(); -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1300)) && 1 -+# define __lzo_unreachable() __builtin_unreachable(); -+#endif -+#endif -+#if defined(__lzo_unreachable) -+# ifndef __lzo_HAVE_unreachable -+# define __lzo_HAVE_unreachable 1 -+# endif -+#else -+# if 0 -+# define __lzo_unreachable() ((void)0); -+# else -+# define __lzo_unreachable() __lzo_loop_forever(); -+# endif -+#endif -+#ifndef __LZO_CTA_NAME -+#if (LZO_CFG_USE_COUNTER) -+# define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__COUNTER__) -+#else -+# define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__LINE__) -+#endif -+#endif -+#if !defined(LZO_COMPILE_TIME_ASSERT_HEADER) -+# if (LZO_CC_AZTECC || LZO_CC_ZORTECHC) -+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END -+# elif (LZO_CC_DMC || LZO_CC_SYMANTECC) -+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1u-2*!(e)]; LZO_EXTERN_C_END -+# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) -+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END -+# elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020900ul)) && defined(__cplusplus) -+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN int __LZO_CTA_NAME(lzo_cta_f__)(int [1-2*!(e)]); LZO_EXTERN_C_END -+# elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__) -+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN enum {__LZO_CTA_NAME(lzo_cta_e__)=1/!!(e)} __attribute__((__unused__)); LZO_EXTERN_C_END -+# else -+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-2*!(e)]; LZO_EXTERN_C_END -+# endif -+#endif -+#if !defined(LZO_COMPILE_TIME_ASSERT) -+# if (LZO_CC_AZTECC) -+# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-!(e)];} -+# elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) -+# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; -+# elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__) -+# define LZO_COMPILE_TIME_ASSERT(e) {(void) (0/!!(e));} -+# elif (LZO_CC_GNUC >= 0x040700ul) && (LZO_CFG_USE_COUNTER) && defined(__cplusplus) -+# define LZO_COMPILE_TIME_ASSERT(e) {enum {__LZO_CTA_NAME(lzo_cta_e__)=1/!!(e)} __attribute__((__unused__));} -+# elif (LZO_CC_GNUC >= 0x040700ul) -+# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)] __attribute__((__unused__));} -+# elif (LZO_CC_MSC && (_MSC_VER < 900)) -+# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; -+# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) -+# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; -+# else -+# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)];} -+# endif -+#endif -+LZO_COMPILE_TIME_ASSERT_HEADER(1 == 1) -+#if defined(__cplusplus) -+extern "C" { LZO_COMPILE_TIME_ASSERT_HEADER(2 == 2) } -+#endif -+LZO_COMPILE_TIME_ASSERT_HEADER(3 == 3) -+#if (LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64) -+# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC) -+# elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) -+# define __lzo_cdecl __cdecl -+# define __lzo_cdecl_atexit /*empty*/ -+# define __lzo_cdecl_main __cdecl -+# if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) -+# define __lzo_cdecl_qsort __pascal -+# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) -+# define __lzo_cdecl_qsort _stdcall -+# else -+# define __lzo_cdecl_qsort __cdecl -+# endif -+# elif (LZO_CC_WATCOMC) -+# define __lzo_cdecl __cdecl -+# else -+# define __lzo_cdecl __cdecl -+# define __lzo_cdecl_atexit __cdecl -+# define __lzo_cdecl_main __cdecl -+# define __lzo_cdecl_qsort __cdecl -+# endif -+# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC) -+# elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) -+# define __lzo_cdecl_sighandler __pascal -+# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) -+# define __lzo_cdecl_sighandler _stdcall -+# elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE) -+# define __lzo_cdecl_sighandler __clrcall -+# elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700)) -+# if defined(_DLL) -+# define __lzo_cdecl_sighandler _far _cdecl _loadds -+# elif defined(_MT) -+# define __lzo_cdecl_sighandler _far _cdecl -+# else -+# define __lzo_cdecl_sighandler _cdecl -+# endif -+# else -+# define __lzo_cdecl_sighandler __cdecl -+# endif -+#elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC) -+# define __lzo_cdecl __cdecl -+#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC)) -+# define __lzo_cdecl cdecl -+#endif -+#if !defined(__lzo_cdecl) -+# define __lzo_cdecl /*empty*/ -+#endif -+#if !defined(__lzo_cdecl_atexit) -+# define __lzo_cdecl_atexit /*empty*/ -+#endif -+#if !defined(__lzo_cdecl_main) -+# define __lzo_cdecl_main /*empty*/ -+#endif -+#if !defined(__lzo_cdecl_qsort) -+# define __lzo_cdecl_qsort /*empty*/ -+#endif -+#if !defined(__lzo_cdecl_sighandler) -+# define __lzo_cdecl_sighandler /*empty*/ -+#endif -+#if !defined(__lzo_cdecl_va) -+# define __lzo_cdecl_va __lzo_cdecl -+#endif -+#if !(LZO_CFG_NO_WINDOWS_H) -+#if !defined(LZO_HAVE_WINDOWS_H) -+#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64) -+# if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000)) -+# elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__) -+# elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul))) -+# else -+# define LZO_HAVE_WINDOWS_H 1 -+# endif -+#endif -+#endif -+#endif -+#ifndef LZO_SIZEOF_SHORT -+#if defined(SIZEOF_SHORT) -+# define LZO_SIZEOF_SHORT (SIZEOF_SHORT) -+#elif defined(__SIZEOF_SHORT__) -+# define LZO_SIZEOF_SHORT (__SIZEOF_SHORT__) -+#endif -+#endif -+#ifndef LZO_SIZEOF_INT -+#if defined(SIZEOF_INT) -+# define LZO_SIZEOF_INT (SIZEOF_INT) -+#elif defined(__SIZEOF_INT__) -+# define LZO_SIZEOF_INT (__SIZEOF_INT__) -+#endif -+#endif -+#ifndef LZO_SIZEOF_LONG -+#if defined(SIZEOF_LONG) -+# define LZO_SIZEOF_LONG (SIZEOF_LONG) -+#elif defined(__SIZEOF_LONG__) -+# define LZO_SIZEOF_LONG (__SIZEOF_LONG__) -+#endif -+#endif -+#ifndef LZO_SIZEOF_LONG_LONG -+#if defined(SIZEOF_LONG_LONG) -+# define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG) -+#elif defined(__SIZEOF_LONG_LONG__) -+# define LZO_SIZEOF_LONG_LONG (__SIZEOF_LONG_LONG__) -+#endif -+#endif -+#ifndef LZO_SIZEOF___INT16 -+#if defined(SIZEOF___INT16) -+# define LZO_SIZEOF___INT16 (SIZEOF___INT16) -+#endif -+#endif -+#ifndef LZO_SIZEOF___INT32 -+#if defined(SIZEOF___INT32) -+# define LZO_SIZEOF___INT32 (SIZEOF___INT32) -+#endif -+#endif -+#ifndef LZO_SIZEOF___INT64 -+#if defined(SIZEOF___INT64) -+# define LZO_SIZEOF___INT64 (SIZEOF___INT64) -+#endif -+#endif -+#ifndef LZO_SIZEOF_VOID_P -+#if defined(SIZEOF_VOID_P) -+# define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P) -+#elif defined(__SIZEOF_POINTER__) -+# define LZO_SIZEOF_VOID_P (__SIZEOF_POINTER__) -+#endif -+#endif -+#ifndef LZO_SIZEOF_SIZE_T -+#if defined(SIZEOF_SIZE_T) -+# define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T) -+#elif defined(__SIZEOF_SIZE_T__) -+# define LZO_SIZEOF_SIZE_T (__SIZEOF_SIZE_T__) -+#endif -+#endif -+#ifndef LZO_SIZEOF_PTRDIFF_T -+#if defined(SIZEOF_PTRDIFF_T) -+# define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T) -+#elif defined(__SIZEOF_PTRDIFF_T__) -+# define LZO_SIZEOF_PTRDIFF_T (__SIZEOF_PTRDIFF_T__) -+#endif -+#endif -+#define __LZO_LSR(x,b) (((x)+0ul) >> (b)) -+#if !defined(LZO_SIZEOF_SHORT) -+# if (LZO_ARCH_CRAY_PVP) -+# define LZO_SIZEOF_SHORT 8 -+# elif (USHRT_MAX == LZO_0xffffL) -+# define LZO_SIZEOF_SHORT 2 -+# elif (__LZO_LSR(USHRT_MAX,7) == 1) -+# define LZO_SIZEOF_SHORT 1 -+# elif (__LZO_LSR(USHRT_MAX,15) == 1) -+# define LZO_SIZEOF_SHORT 2 -+# elif (__LZO_LSR(USHRT_MAX,31) == 1) -+# define LZO_SIZEOF_SHORT 4 -+# elif (__LZO_LSR(USHRT_MAX,63) == 1) -+# define LZO_SIZEOF_SHORT 8 -+# elif (__LZO_LSR(USHRT_MAX,127) == 1) -+# define LZO_SIZEOF_SHORT 16 -+# else -+# error "LZO_SIZEOF_SHORT" -+# endif -+#endif -+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_SHORT == sizeof(short)) -+#if !defined(LZO_SIZEOF_INT) -+# if (LZO_ARCH_CRAY_PVP) -+# define LZO_SIZEOF_INT 8 -+# elif (UINT_MAX == LZO_0xffffL) -+# define LZO_SIZEOF_INT 2 -+# elif (UINT_MAX == LZO_0xffffffffL) -+# define LZO_SIZEOF_INT 4 -+# elif (__LZO_LSR(UINT_MAX,7) == 1) -+# define LZO_SIZEOF_INT 1 -+# elif (__LZO_LSR(UINT_MAX,15) == 1) -+# define LZO_SIZEOF_INT 2 -+# elif (__LZO_LSR(UINT_MAX,31) == 1) -+# define LZO_SIZEOF_INT 4 -+# elif (__LZO_LSR(UINT_MAX,63) == 1) -+# define LZO_SIZEOF_INT 8 -+# elif (__LZO_LSR(UINT_MAX,127) == 1) -+# define LZO_SIZEOF_INT 16 -+# else -+# error "LZO_SIZEOF_INT" -+# endif -+#endif -+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_INT == sizeof(int)) -+#if !defined(LZO_SIZEOF_LONG) -+# if (ULONG_MAX == LZO_0xffffffffL) -+# define LZO_SIZEOF_LONG 4 -+# elif (__LZO_LSR(ULONG_MAX,7) == 1) -+# define LZO_SIZEOF_LONG 1 -+# elif (__LZO_LSR(ULONG_MAX,15) == 1) -+# define LZO_SIZEOF_LONG 2 -+# elif (__LZO_LSR(ULONG_MAX,31) == 1) -+# define LZO_SIZEOF_LONG 4 -+# elif (__LZO_LSR(ULONG_MAX,39) == 1) -+# define LZO_SIZEOF_LONG 5 -+# elif (__LZO_LSR(ULONG_MAX,63) == 1) -+# define LZO_SIZEOF_LONG 8 -+# elif (__LZO_LSR(ULONG_MAX,127) == 1) -+# define LZO_SIZEOF_LONG 16 -+# else -+# error "LZO_SIZEOF_LONG" -+# endif -+#endif -+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_LONG == sizeof(long)) -+#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) -+#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) -+# if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__) -+# if (LZO_CC_GNUC >= 0x030300ul) -+# if ((__LONG_MAX__-0) == (__LONG_LONG_MAX__-0)) -+# define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG -+# elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1) -+# define LZO_SIZEOF_LONG_LONG 4 -+# endif -+# endif -+# endif -+#endif -+#endif -+#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) -+#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) -+#if (LZO_ARCH_I086 && LZO_CC_DMC) -+#elif (LZO_CC_CILLY) && defined(__GNUC__) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400)) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_OS_WIN64 || defined(_WIN64)) -+# define LZO_SIZEOF___INT64 8 -+#elif (LZO_ARCH_I386 && (LZO_CC_DMC)) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700))) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__))) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC)) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC)) -+# define LZO_SIZEOF___INT64 8 -+#elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC)) -+# define LZO_SIZEOF___INT64 8 -+#elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520))) -+# define LZO_SIZEOF___INT64 8 -+#elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100))) -+# define LZO_SIZEOF___INT64 8 -+#elif (LZO_CC_GHS && defined(__LLONG_BIT) && ((__LLONG_BIT-0) == 64)) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && ((_INTEGRAL_MAX_BITS-0) == 64)) -+# define LZO_SIZEOF___INT64 8 -+#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (defined(__vms) || defined(__VMS)) && ((__INITIAL_POINTER_SIZE-0) == 64) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2) -+#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) -+# define LZO_SIZEOF_LONG_LONG 8 -+#endif -+#endif -+#endif -+#if defined(__cplusplus) && (LZO_CC_GNUC) -+# if (LZO_CC_GNUC < 0x020800ul) -+# undef LZO_SIZEOF_LONG_LONG -+# endif -+#endif -+#if (LZO_CFG_NO_LONG_LONG) -+# undef LZO_SIZEOF_LONG_LONG -+#elif defined(__NO_LONG_LONG) -+# undef LZO_SIZEOF_LONG_LONG -+#elif defined(_NO_LONGLONG) -+# undef LZO_SIZEOF_LONG_LONG -+#endif -+#if !defined(LZO_WORDSIZE) -+#if (LZO_ARCH_ALPHA) -+# define LZO_WORDSIZE 8 -+#elif (LZO_ARCH_AMD64) -+# define LZO_WORDSIZE 8 -+#elif (LZO_ARCH_AVR) -+# define LZO_WORDSIZE 1 -+#elif (LZO_ARCH_H8300) -+# if defined(__NORMAL_MODE__) -+# define LZO_WORDSIZE 4 -+# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) -+# define LZO_WORDSIZE 4 -+# else -+# define LZO_WORDSIZE 2 -+# endif -+#elif (LZO_ARCH_I086) -+# define LZO_WORDSIZE 2 -+#elif (LZO_ARCH_IA64) -+# define LZO_WORDSIZE 8 -+#elif (LZO_ARCH_M16C) -+# define LZO_WORDSIZE 2 -+#elif (LZO_ARCH_SPU) -+# define LZO_WORDSIZE 4 -+#elif (LZO_ARCH_Z80) -+# define LZO_WORDSIZE 1 -+#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) -+# define LZO_WORDSIZE 8 -+#elif (LZO_OS_OS400 || defined(__OS400__)) -+# define LZO_WORDSIZE 8 -+#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) -+# define LZO_WORDSIZE 8 -+#endif -+#endif -+#if !defined(LZO_SIZEOF_VOID_P) -+#if defined(__ILP32__) || defined(__ILP32) || defined(_ILP32) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) == 4) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4) -+# define LZO_SIZEOF_VOID_P 4 -+#elif defined(__ILP64__) || defined(__ILP64) || defined(_ILP64) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) == 8) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8) -+# define LZO_SIZEOF_VOID_P 8 -+#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4) -+# define LZO_SIZEOF_VOID_P 8 -+#elif defined(__LP64__) || defined(__LP64) || defined(_LP64) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8) -+# define LZO_SIZEOF_VOID_P 8 -+#elif (LZO_ARCH_AVR) -+# define LZO_SIZEOF_VOID_P 2 -+#elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430) -+# define LZO_SIZEOF_VOID_P 2 -+#elif (LZO_ARCH_H8300) -+# if defined(__NORMAL_MODE__) -+# define LZO_SIZEOF_VOID_P 2 -+# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) -+# define LZO_SIZEOF_VOID_P 4 -+# else -+# define LZO_SIZEOF_VOID_P 2 -+# endif -+# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4) -+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT -+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT -+# endif -+#elif (LZO_ARCH_I086) -+# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM) -+# define LZO_SIZEOF_VOID_P 2 -+# elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE) -+# define LZO_SIZEOF_VOID_P 4 -+# else -+# error "invalid LZO_ARCH_I086 memory model" -+# endif -+#elif (LZO_ARCH_M16C) -+# if defined(__m32c_cpu__) || defined(__m32cm_cpu__) -+# define LZO_SIZEOF_VOID_P 4 -+# else -+# define LZO_SIZEOF_VOID_P 2 -+# endif -+#elif (LZO_ARCH_SPU) -+# define LZO_SIZEOF_VOID_P 4 -+#elif (LZO_ARCH_Z80) -+# define LZO_SIZEOF_VOID_P 2 -+#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) -+# define LZO_SIZEOF_VOID_P 4 -+#elif (LZO_OS_OS400 || defined(__OS400__)) -+# if defined(__LLP64_IFC__) -+# define LZO_SIZEOF_VOID_P 8 -+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG -+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG -+# else -+# define LZO_SIZEOF_VOID_P 16 -+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG -+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG -+# endif -+#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) -+# define LZO_SIZEOF_VOID_P 8 -+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG -+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG -+#endif -+#endif -+#if !defined(LZO_SIZEOF_VOID_P) -+# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG -+#endif -+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_VOID_P == sizeof(void *)) -+#if !defined(LZO_SIZEOF_SIZE_T) -+#if (LZO_ARCH_I086 || LZO_ARCH_M16C) -+# define LZO_SIZEOF_SIZE_T 2 -+#endif -+#endif -+#if !defined(LZO_SIZEOF_SIZE_T) -+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P -+#endif -+#if defined(offsetof) -+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_SIZE_T == sizeof(size_t)) -+#endif -+#if !defined(LZO_SIZEOF_PTRDIFF_T) -+#if (LZO_ARCH_I086) -+# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE) -+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P -+# elif (LZO_MM_COMPACT || LZO_MM_LARGE) -+# if (LZO_CC_BORLANDC || LZO_CC_TURBOC) -+# define LZO_SIZEOF_PTRDIFF_T 4 -+# else -+# define LZO_SIZEOF_PTRDIFF_T 2 -+# endif -+# else -+# error "invalid LZO_ARCH_I086 memory model" -+# endif -+#endif -+#endif -+#if !defined(LZO_SIZEOF_PTRDIFF_T) -+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T -+#endif -+#if defined(offsetof) -+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t)) -+#endif -+#if !defined(LZO_WORDSIZE) -+# define LZO_WORDSIZE LZO_SIZEOF_VOID_P -+#endif -+#if (LZO_ABI_NEUTRAL_ENDIAN) -+# undef LZO_ABI_BIG_ENDIAN -+# undef LZO_ABI_LITTLE_ENDIAN -+#elif !(LZO_ABI_BIG_ENDIAN) && !(LZO_ABI_LITTLE_ENDIAN) -+#if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP) -+# define LZO_ABI_BIG_ENDIAN 1 -+#elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64) -+# define LZO_ABI_LITTLE_ENDIAN 1 -+#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430) -+# define LZO_ABI_LITTLE_ENDIAN 1 -+#elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390 || LZO_ARCH_SPU) -+# define LZO_ABI_BIG_ENDIAN 1 -+#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__) -+# if (__LITTLE_ENDIAN__ == 1) -+# define LZO_ABI_LITTLE_ENDIAN 1 -+# else -+# define LZO_ABI_BIG_ENDIAN 1 -+# endif -+#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) -+# define LZO_ABI_BIG_ENDIAN 1 -+#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) -+# define LZO_ABI_LITTLE_ENDIAN 1 -+#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__) -+# define LZO_ABI_BIG_ENDIAN 1 -+#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__) -+# define LZO_ABI_LITTLE_ENDIAN 1 -+#elif 1 && (LZO_ARCH_ARM && LZO_CC_ARMCC_ARMCC) -+# if defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN) -+# error "unexpected configuration - check your compiler defines" -+# elif defined(__BIG_ENDIAN) -+# define LZO_ABI_BIG_ENDIAN 1 -+# else -+# define LZO_ABI_LITTLE_ENDIAN 1 -+# endif -+# define LZO_ABI_LITTLE_ENDIAN 1 -+#elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EB__) && !defined(__AARCH64EL__) -+# define LZO_ABI_BIG_ENDIAN 1 -+#elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EL__) && !defined(__AARCH64EB__) -+# define LZO_ABI_LITTLE_ENDIAN 1 -+#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__) -+# define LZO_ABI_BIG_ENDIAN 1 -+#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__) -+# define LZO_ABI_LITTLE_ENDIAN 1 -+#endif -+#endif -+#if (LZO_ABI_BIG_ENDIAN) && (LZO_ABI_LITTLE_ENDIAN) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ABI_BIG_ENDIAN) -+# define LZO_INFO_ABI_ENDIAN "be" -+#elif (LZO_ABI_LITTLE_ENDIAN) -+# define LZO_INFO_ABI_ENDIAN "le" -+#elif (LZO_ABI_NEUTRAL_ENDIAN) -+# define LZO_INFO_ABI_ENDIAN "neutral" -+#endif -+#if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) -+# define LZO_ABI_I8LP16 1 -+# define LZO_INFO_ABI_PM "i8lp16" -+#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) -+# define LZO_ABI_ILP16 1 -+# define LZO_INFO_ABI_PM "ilp16" -+#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4) -+# define LZO_ABI_LP32 1 -+# define LZO_INFO_ABI_PM "lp32" -+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4) -+# define LZO_ABI_ILP32 1 -+# define LZO_INFO_ABI_PM "ilp32" -+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8) -+# define LZO_ABI_LLP64 1 -+# define LZO_INFO_ABI_PM "llp64" -+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) -+# define LZO_ABI_LP64 1 -+# define LZO_INFO_ABI_PM "lp64" -+#elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) -+# define LZO_ABI_ILP64 1 -+# define LZO_INFO_ABI_PM "ilp64" -+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4) -+# define LZO_ABI_IP32L64 1 -+# define LZO_INFO_ABI_PM "ip32l64" -+#endif -+#if 0 -+#elif !defined(__LZO_LIBC_OVERRIDE) -+#if (LZO_LIBC_NAKED) -+# define LZO_INFO_LIBC "naked" -+#elif (LZO_LIBC_FREESTANDING) -+# define LZO_INFO_LIBC "freestanding" -+#elif (LZO_LIBC_MOSTLY_FREESTANDING) -+# define LZO_INFO_LIBC "mfreestanding" -+#elif (LZO_LIBC_ISOC90) -+# define LZO_INFO_LIBC "isoc90" -+#elif (LZO_LIBC_ISOC99) -+# define LZO_INFO_LIBC "isoc99" -+#elif (LZO_CC_ARMCC_ARMCC) && defined(__ARMCLIB_VERSION) -+# define LZO_LIBC_ISOC90 1 -+# define LZO_INFO_LIBC "isoc90" -+#elif defined(__dietlibc__) -+# define LZO_LIBC_DIETLIBC 1 -+# define LZO_INFO_LIBC "dietlibc" -+#elif defined(_NEWLIB_VERSION) -+# define LZO_LIBC_NEWLIB 1 -+# define LZO_INFO_LIBC "newlib" -+#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__) -+# if defined(__UCLIBC_SUBLEVEL__) -+# define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + (__UCLIBC_MINOR__-0) * 0x100 + (__UCLIBC_SUBLEVEL__-0)) -+# else -+# define LZO_LIBC_UCLIBC 0x00090bL -+# endif -+# define LZO_INFO_LIBC "uc" "libc" -+#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__) -+# define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + (__GLIBC_MINOR__-0) * 0x100) -+# define LZO_INFO_LIBC "glibc" -+#elif (LZO_CC_MWERKS) && defined(__MSL__) -+# define LZO_LIBC_MSL __MSL__ -+# define LZO_INFO_LIBC "msl" -+#elif 1 && defined(__IAR_SYSTEMS_ICC__) -+# define LZO_LIBC_ISOC90 1 -+# define LZO_INFO_LIBC "isoc90" -+#else -+# define LZO_LIBC_DEFAULT 1 -+# define LZO_INFO_LIBC "default" -+#endif -+#endif -+#if (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) -+# define LZO_ASM_SYNTAX_MSC 1 -+#elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) -+#elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC == 0x011f00ul)) -+#elif (LZO_ARCH_I386 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) -+# define LZO_ASM_SYNTAX_GNUC 1 -+#elif (LZO_ARCH_AMD64 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) -+# define LZO_ASM_SYNTAX_GNUC 1 -+#elif (LZO_CC_GNUC) -+# define LZO_ASM_SYNTAX_GNUC 1 -+#endif -+#if (LZO_ASM_SYNTAX_GNUC) -+#if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul)) -+# define __LZO_ASM_CLOBBER "ax" -+# define __LZO_ASM_CLOBBER_LIST_CC /*empty*/ -+# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY /*empty*/ -+# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/ -+#elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1000)) -+# define __LZO_ASM_CLOBBER "memory" -+# define __LZO_ASM_CLOBBER_LIST_CC /*empty*/ -+# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "memory" -+# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/ -+#else -+# define __LZO_ASM_CLOBBER "cc", "memory" -+# define __LZO_ASM_CLOBBER_LIST_CC : "cc" -+# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "cc", "memory" -+# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/ -+#endif -+#endif -+#if (LZO_ARCH_ALPHA) -+# define LZO_OPT_AVOID_UINT_INDEX 1 -+#elif (LZO_ARCH_AMD64) -+# define LZO_OPT_AVOID_INT_INDEX 1 -+# define LZO_OPT_AVOID_UINT_INDEX 1 -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED64 -+# define LZO_OPT_UNALIGNED64 1 -+# endif -+#elif (LZO_ARCH_ARM) -+# if defined(__ARM_FEATURE_UNALIGNED) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# elif defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM+0) >= 7) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# elif defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM+0) >= 6) && !defined(__TARGET_PROFILE_M) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# endif -+#elif (LZO_ARCH_ARM64) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED64 -+# define LZO_OPT_UNALIGNED64 1 -+# endif -+#elif (LZO_ARCH_CRIS) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+#elif (LZO_ARCH_I386) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+#elif (LZO_ARCH_IA64) -+# define LZO_OPT_AVOID_INT_INDEX 1 -+# define LZO_OPT_AVOID_UINT_INDEX 1 -+# define LZO_OPT_PREFER_POSTINC 1 -+#elif (LZO_ARCH_M68K) -+# define LZO_OPT_PREFER_POSTINC 1 -+# define LZO_OPT_PREFER_PREDEC 1 -+# if defined(__mc68020__) && !defined(__mcoldfire__) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# endif -+#elif (LZO_ARCH_MIPS) -+# define LZO_OPT_AVOID_UINT_INDEX 1 -+#elif (LZO_ARCH_POWERPC) -+# define LZO_OPT_PREFER_PREINC 1 -+# define LZO_OPT_PREFER_PREDEC 1 -+# if (LZO_ABI_BIG_ENDIAN) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# if (LZO_WORDSIZE == 8) -+# ifndef LZO_OPT_UNALIGNED64 -+# define LZO_OPT_UNALIGNED64 1 -+# endif -+# endif -+# endif -+#elif (LZO_ARCH_S390) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# if (LZO_WORDSIZE == 8) -+# ifndef LZO_OPT_UNALIGNED64 -+# define LZO_OPT_UNALIGNED64 1 -+# endif -+# endif -+#elif (LZO_ARCH_SH) -+# define LZO_OPT_PREFER_POSTINC 1 -+# define LZO_OPT_PREFER_PREDEC 1 -+#endif -+#ifndef LZO_CFG_NO_INLINE_ASM -+#if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC) -+# define LZO_CFG_NO_INLINE_ASM 1 -+#elif (LZO_CC_LLVM) -+# define LZO_CFG_NO_INLINE_ASM 1 -+#endif -+#endif -+#if (LZO_CFG_NO_INLINE_ASM) -+# undef LZO_ASM_SYNTAX_MSC -+# undef LZO_ASM_SYNTAX_GNUC -+# undef __LZO_ASM_CLOBBER -+# undef __LZO_ASM_CLOBBER_LIST_CC -+# undef __LZO_ASM_CLOBBER_LIST_CC_MEMORY -+# undef __LZO_ASM_CLOBBER_LIST_EMPTY -+#endif -+#ifndef LZO_CFG_NO_UNALIGNED -+#if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC) -+# define LZO_CFG_NO_UNALIGNED 1 -+#endif -+#endif -+#if (LZO_CFG_NO_UNALIGNED) -+# undef LZO_OPT_UNALIGNED16 -+# undef LZO_OPT_UNALIGNED32 -+# undef LZO_OPT_UNALIGNED64 -+#endif -+#if defined(__LZO_INFOSTR_MM) -+#elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM)) -+# define __LZO_INFOSTR_MM "" -+#elif defined(LZO_INFO_MM) -+# define __LZO_INFOSTR_MM "." LZO_INFO_MM -+#else -+# define __LZO_INFOSTR_MM "" -+#endif -+#if defined(__LZO_INFOSTR_PM) -+#elif defined(LZO_INFO_ABI_PM) -+# define __LZO_INFOSTR_PM "." LZO_INFO_ABI_PM -+#else -+# define __LZO_INFOSTR_PM "" -+#endif -+#if defined(__LZO_INFOSTR_ENDIAN) -+#elif defined(LZO_INFO_ABI_ENDIAN) -+# define __LZO_INFOSTR_ENDIAN "." LZO_INFO_ABI_ENDIAN -+#else -+# define __LZO_INFOSTR_ENDIAN "" -+#endif -+#if defined(__LZO_INFOSTR_OSNAME) -+#elif defined(LZO_INFO_OS_CONSOLE) -+# define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_CONSOLE -+#elif defined(LZO_INFO_OS_POSIX) -+# define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_POSIX -+#else -+# define __LZO_INFOSTR_OSNAME LZO_INFO_OS -+#endif -+#if defined(__LZO_INFOSTR_LIBC) -+#elif defined(LZO_INFO_LIBC) -+# define __LZO_INFOSTR_LIBC "." LZO_INFO_LIBC -+#else -+# define __LZO_INFOSTR_LIBC "" -+#endif -+#if defined(__LZO_INFOSTR_CCVER) -+#elif defined(LZO_INFO_CCVER) -+# define __LZO_INFOSTR_CCVER " " LZO_INFO_CCVER -+#else -+# define __LZO_INFOSTR_CCVER "" -+#endif -+#define LZO_INFO_STRING \ -+ LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \ -+ " " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER -+#if !(LZO_CFG_SKIP_LZO_TYPES) -+#if (!(LZO_SIZEOF_SHORT+0 > 0 && LZO_SIZEOF_INT+0 > 0 && LZO_SIZEOF_LONG+0 > 0)) -+# error "missing defines for sizes" -+#endif -+#if (!(LZO_SIZEOF_PTRDIFF_T+0 > 0 && LZO_SIZEOF_SIZE_T+0 > 0 && LZO_SIZEOF_VOID_P+0 > 0)) -+# error "missing defines for sizes" -+#endif -+#if !defined(lzo_llong_t) -+#if (LZO_SIZEOF_LONG_LONG+0 > 0) -+__lzo_gnuc_extension__ typedef long long lzo_llong_t__; -+__lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__; -+# define lzo_llong_t lzo_llong_t__ -+# define lzo_ullong_t lzo_ullong_t__ -+#endif -+#endif -+#if !defined(lzo_int16e_t) -+#if (LZO_SIZEOF_LONG == 2) -+# define lzo_int16e_t long -+# define lzo_uint16e_t unsigned long -+#elif (LZO_SIZEOF_INT == 2) -+# define lzo_int16e_t int -+# define lzo_uint16e_t unsigned int -+#elif (LZO_SIZEOF_SHORT == 2) -+# define lzo_int16e_t short int -+# define lzo_uint16e_t unsigned short int -+#elif 1 && !(LZO_CFG_TYPE_NO_MODE_HI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM) -+ typedef int lzo_int16e_hi_t__ __attribute__((__mode__(__HI__))); -+ typedef unsigned int lzo_uint16e_hi_t__ __attribute__((__mode__(__HI__))); -+# define lzo_int16e_t lzo_int16e_hi_t__ -+# define lzo_uint16e_t lzo_uint16e_hi_t__ -+#elif (LZO_SIZEOF___INT16 == 2) -+# define lzo_int16e_t __int16 -+# define lzo_uint16e_t unsigned __int16 -+#else -+#endif -+#endif -+#if defined(lzo_int16e_t) -+# define LZO_SIZEOF_LZO_INT16E_T 2 -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == 2) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == LZO_SIZEOF_LZO_INT16E_T) -+#endif -+#if !defined(lzo_int32e_t) -+#if (LZO_SIZEOF_LONG == 4) -+# define lzo_int32e_t long int -+# define lzo_uint32e_t unsigned long int -+#elif (LZO_SIZEOF_INT == 4) -+# define lzo_int32e_t int -+# define lzo_uint32e_t unsigned int -+#elif (LZO_SIZEOF_SHORT == 4) -+# define lzo_int32e_t short int -+# define lzo_uint32e_t unsigned short int -+#elif (LZO_SIZEOF_LONG_LONG == 4) -+# define lzo_int32e_t lzo_llong_t -+# define lzo_uint32e_t lzo_ullong_t -+#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM) && (__INT_MAX__+0 > 2147483647L) -+ typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__))); -+ typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__))); -+# define lzo_int32e_t lzo_int32e_si_t__ -+# define lzo_uint32e_t lzo_uint32e_si_t__ -+#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L) -+ typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__))); -+ typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__))); -+# define lzo_int32e_t lzo_int32e_si_t__ -+# define lzo_uint32e_t lzo_uint32e_si_t__ -+# define LZO_INT32_C(c) (c##LL) -+# define LZO_UINT32_C(c) (c##ULL) -+#elif (LZO_SIZEOF___INT32 == 4) -+# define lzo_int32e_t __int32 -+# define lzo_uint32e_t unsigned __int32 -+#else -+#endif -+#endif -+#if defined(lzo_int32e_t) -+# define LZO_SIZEOF_LZO_INT32E_T 4 -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32e_t) == 4) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32e_t) == LZO_SIZEOF_LZO_INT32E_T) -+#endif -+#if !defined(lzo_int64e_t) -+#if (LZO_SIZEOF___INT64 == 8) -+# if (LZO_CC_BORLANDC) && !(LZO_CFG_TYPE_PREFER___INT64) -+# define LZO_CFG_TYPE_PREFER___INT64 1 -+# endif -+#endif -+#if (LZO_SIZEOF_INT == 8) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) -+# define lzo_int64e_t int -+# define lzo_uint64e_t unsigned int -+# define LZO_SIZEOF_LZO_INT64E_T LZO_SIZEOF_INT -+#elif (LZO_SIZEOF_LONG == 8) -+# define lzo_int64e_t long int -+# define lzo_uint64e_t unsigned long int -+# define LZO_SIZEOF_LZO_INT64E_T LZO_SIZEOF_LONG -+#elif (LZO_SIZEOF_LONG_LONG == 8) && !(LZO_CFG_TYPE_PREFER___INT64) -+# define lzo_int64e_t lzo_llong_t -+# define lzo_uint64e_t lzo_ullong_t -+# if (LZO_CC_BORLANDC) -+# define LZO_INT64_C(c) ((c) + 0ll) -+# define LZO_UINT64_C(c) ((c) + 0ull) -+# elif 0 -+# define LZO_INT64_C(c) (__lzo_gnuc_extension__ (c##LL)) -+# define LZO_UINT64_C(c) (__lzo_gnuc_extension__ (c##ULL)) -+# else -+# define LZO_INT64_C(c) (c##LL) -+# define LZO_UINT64_C(c) (c##ULL) -+# endif -+# define LZO_SIZEOF_LZO_INT64E_T LZO_SIZEOF_LONG_LONG -+#elif (LZO_SIZEOF___INT64 == 8) -+# define lzo_int64e_t __int64 -+# define lzo_uint64e_t unsigned __int64 -+# if (LZO_CC_BORLANDC) -+# define LZO_INT64_C(c) ((c) + 0i64) -+# define LZO_UINT64_C(c) ((c) + 0ui64) -+# else -+# define LZO_INT64_C(c) (c##i64) -+# define LZO_UINT64_C(c) (c##ui64) -+# endif -+# define LZO_SIZEOF_LZO_INT64E_T LZO_SIZEOF___INT64 -+#else -+#endif -+#endif -+#if defined(lzo_int64e_t) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64e_t) == 8) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64e_t) == LZO_SIZEOF_LZO_INT64E_T) -+#endif -+#if !defined(lzo_int32l_t) -+#if defined(lzo_int32e_t) -+# define lzo_int32l_t lzo_int32e_t -+# define lzo_uint32l_t lzo_uint32e_t -+# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LZO_INT32E_T -+#elif (LZO_SIZEOF_INT >= 4) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) -+# define lzo_int32l_t int -+# define lzo_uint32l_t unsigned int -+# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_INT -+#elif (LZO_SIZEOF_LONG >= 4) -+# define lzo_int32l_t long int -+# define lzo_uint32l_t unsigned long int -+# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LONG -+#else -+# error "lzo_int32l_t" -+#endif -+#endif -+#if 1 -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32l_t) >= 4) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32l_t) == LZO_SIZEOF_LZO_INT32L_T) -+#endif -+#if !defined(lzo_int64l_t) -+#if defined(lzo_int64e_t) -+# define lzo_int64l_t lzo_int64e_t -+# define lzo_uint64l_t lzo_uint64e_t -+# define LZO_SIZEOF_LZO_INT64L_T LZO_SIZEOF_LZO_INT64E_T -+#else -+#endif -+#endif -+#if defined(lzo_int64l_t) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64l_t) >= 8) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64l_t) == LZO_SIZEOF_LZO_INT64L_T) -+#endif -+#if !defined(lzo_int32f_t) -+#if (LZO_SIZEOF_SIZE_T >= 8) -+# define lzo_int32f_t lzo_int64l_t -+# define lzo_uint32f_t lzo_uint64l_t -+# define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT64L_T -+#else -+# define lzo_int32f_t lzo_int32l_t -+# define lzo_uint32f_t lzo_uint32l_t -+# define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT32L_T -+#endif -+#endif -+#if 1 -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32f_t) >= 4) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32f_t) == LZO_SIZEOF_LZO_INT32F_T) -+#endif -+#if !defined(lzo_int64f_t) -+#if defined(lzo_int64l_t) -+# define lzo_int64f_t lzo_int64l_t -+# define lzo_uint64f_t lzo_uint64l_t -+# define LZO_SIZEOF_LZO_INT64F_T LZO_SIZEOF_LZO_INT64L_T -+#else -+#endif -+#endif -+#if defined(lzo_int64f_t) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64f_t) >= 8) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64f_t) == LZO_SIZEOF_LZO_INT64F_T) -+#endif -+#if !defined(lzo_intptr_t) -+#if 1 && (LZO_OS_OS400 && (LZO_SIZEOF_VOID_P == 16)) -+# define __LZO_INTPTR_T_IS_POINTER 1 -+ typedef char* lzo_intptr_t; -+ typedef char* lzo_uintptr_t; -+# define lzo_intptr_t lzo_intptr_t -+# define lzo_uintptr_t lzo_uintptr_t -+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_VOID_P -+#elif (LZO_CC_MSC && (_MSC_VER >= 1300) && (LZO_SIZEOF_VOID_P == 4) && (LZO_SIZEOF_INT == 4)) -+ typedef __w64 int lzo_intptr_t; -+ typedef __w64 unsigned int lzo_uintptr_t; -+# define lzo_intptr_t lzo_intptr_t -+# define lzo_uintptr_t lzo_uintptr_t -+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT -+#elif (LZO_SIZEOF_SHORT == LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT > LZO_SIZEOF_VOID_P) -+# define lzo_intptr_t short -+# define lzo_uintptr_t unsigned short -+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_SHORT -+#elif (LZO_SIZEOF_INT >= LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) -+# define lzo_intptr_t int -+# define lzo_uintptr_t unsigned int -+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT -+#elif (LZO_SIZEOF_LONG >= LZO_SIZEOF_VOID_P) -+# define lzo_intptr_t long -+# define lzo_uintptr_t unsigned long -+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LONG -+#elif (LZO_SIZEOF_LZO_INT64L_T >= LZO_SIZEOF_VOID_P) -+# define lzo_intptr_t lzo_int64l_t -+# define lzo_uintptr_t lzo_uint64l_t -+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LZO_INT64L_T -+#else -+# error "lzo_intptr_t" -+#endif -+#endif -+#if 1 -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_intptr_t) >= sizeof(void *)) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_intptr_t) == sizeof(lzo_uintptr_t)) -+#endif -+#if !defined(lzo_word_t) -+#if defined(LZO_WORDSIZE) && (LZO_WORDSIZE+0 > 0) -+#if (LZO_WORDSIZE == LZO_SIZEOF_LZO_INTPTR_T) && !(__LZO_INTPTR_T_IS_POINTER) -+# define lzo_word_t lzo_uintptr_t -+# define lzo_sword_t lzo_intptr_t -+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INTPTR_T -+#elif (LZO_WORDSIZE == LZO_SIZEOF_LONG) -+# define lzo_word_t unsigned long -+# define lzo_sword_t long -+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LONG -+#elif (LZO_WORDSIZE == LZO_SIZEOF_INT) -+# define lzo_word_t unsigned int -+# define lzo_sword_t int -+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_INT -+#elif (LZO_WORDSIZE == LZO_SIZEOF_SHORT) -+# define lzo_word_t unsigned short -+# define lzo_sword_t short -+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_SHORT -+#elif (LZO_WORDSIZE == 1) -+# define lzo_word_t unsigned char -+# define lzo_sword_t signed char -+# define LZO_SIZEOF_LZO_WORD_T 1 -+#elif (LZO_WORDSIZE == LZO_SIZEOF_LZO_INT64L_T) -+# define lzo_word_t lzo_uint64l_t -+# define lzo_sword_t lzo_int64l_t -+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T -+#elif (LZO_ARCH_SPU) && (LZO_CC_GNUC) -+#if 0 -+ typedef unsigned lzo_word_t __attribute__((__mode__(__V16QI__))); -+ typedef int lzo_sword_t __attribute__((__mode__(__V16QI__))); -+# define lzo_word_t lzo_word_t -+# define lzo_sword_t lzo_sword_t -+# define LZO_SIZEOF_LZO_WORD_T 16 -+#endif -+#else -+# error "lzo_word_t" -+#endif -+#endif -+#endif -+#if 1 && defined(lzo_word_t) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_word_t) == LZO_WORDSIZE) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_sword_t) == LZO_WORDSIZE) -+#endif -+#if 1 -+#define lzo_int8_t signed char -+#define lzo_uint8_t unsigned char -+#define LZO_SIZEOF_LZO_INT8_T 1 -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == 1) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == sizeof(lzo_uint8_t)) -+#endif -+#if defined(lzo_int16e_t) -+#define lzo_int16_t lzo_int16e_t -+#define lzo_uint16_t lzo_uint16e_t -+#define LZO_SIZEOF_LZO_INT16_T LZO_SIZEOF_LZO_INT16E_T -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == 2) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == sizeof(lzo_uint16_t)) -+#endif -+#if defined(lzo_int32e_t) -+#define lzo_int32_t lzo_int32e_t -+#define lzo_uint32_t lzo_uint32e_t -+#define LZO_SIZEOF_LZO_INT32_T LZO_SIZEOF_LZO_INT32E_T -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == 4) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == sizeof(lzo_uint32_t)) -+#endif -+#if defined(lzo_int64e_t) -+#define lzo_int64_t lzo_int64e_t -+#define lzo_uint64_t lzo_uint64e_t -+#define LZO_SIZEOF_LZO_INT64_T LZO_SIZEOF_LZO_INT64E_T -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == 8) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == sizeof(lzo_uint64_t)) -+#endif -+#if 1 -+#define lzo_int_least32_t lzo_int32l_t -+#define lzo_uint_least32_t lzo_uint32l_t -+#define LZO_SIZEOF_LZO_INT_LEAST32_T LZO_SIZEOF_LZO_INT32L_T -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least32_t) >= 4) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least32_t) == sizeof(lzo_uint_least32_t)) -+#endif -+#if defined(lzo_int64l_t) -+#define lzo_int_least64_t lzo_int64l_t -+#define lzo_uint_least64_t lzo_uint64l_t -+#define LZO_SIZEOF_LZO_INT_LEAST64_T LZO_SIZEOF_LZO_INT64L_T -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least64_t) >= 8) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least64_t) == sizeof(lzo_uint_least64_t)) -+#endif -+#if 1 -+#define lzo_int_fast32_t lzo_int32f_t -+#define lzo_uint_fast32_t lzo_uint32f_t -+#define LZO_SIZEOF_LZO_INT_FAST32_T LZO_SIZEOF_LZO_INT32F_T -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast32_t) >= 4) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast32_t) == sizeof(lzo_uint_fast32_t)) -+#endif -+#if defined(lzo_int64f_t) -+#define lzo_int_fast64_t lzo_int64f_t -+#define lzo_uint_fast64_t lzo_uint64f_t -+#define LZO_SIZEOF_LZO_INT_FAST64_T LZO_SIZEOF_LZO_INT64F_T -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) >= 8) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) == sizeof(lzo_uint_fast64_t)) -+#endif -+#if !defined(LZO_INT16_C) -+# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 2) -+# define LZO_INT16_C(c) ((c) + 0) -+# define LZO_UINT16_C(c) ((c) + 0U) -+# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 2) -+# define LZO_INT16_C(c) ((c) + 0L) -+# define LZO_UINT16_C(c) ((c) + 0UL) -+# elif (LZO_SIZEOF_INT >= 2) -+# define LZO_INT16_C(c) (c) -+# define LZO_UINT16_C(c) (c##U) -+# elif (LZO_SIZEOF_LONG >= 2) -+# define LZO_INT16_C(c) (c##L) -+# define LZO_UINT16_C(c) (c##UL) -+# else -+# error "LZO_INT16_C" -+# endif -+#endif -+#if !defined(LZO_INT32_C) -+# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 4) -+# define LZO_INT32_C(c) ((c) + 0) -+# define LZO_UINT32_C(c) ((c) + 0U) -+# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 4) -+# define LZO_INT32_C(c) ((c) + 0L) -+# define LZO_UINT32_C(c) ((c) + 0UL) -+# elif (LZO_SIZEOF_INT >= 4) -+# define LZO_INT32_C(c) (c) -+# define LZO_UINT32_C(c) (c##U) -+# elif (LZO_SIZEOF_LONG >= 4) -+# define LZO_INT32_C(c) (c##L) -+# define LZO_UINT32_C(c) (c##UL) -+# elif (LZO_SIZEOF_LONG_LONG >= 4) -+# define LZO_INT32_C(c) (c##LL) -+# define LZO_UINT32_C(c) (c##ULL) -+# else -+# error "LZO_INT32_C" -+# endif -+#endif -+#if !defined(LZO_INT64_C) && defined(lzo_int64l_t) -+# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 8) -+# define LZO_INT64_C(c) ((c) + 0) -+# define LZO_UINT64_C(c) ((c) + 0U) -+# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 8) -+# define LZO_INT64_C(c) ((c) + 0L) -+# define LZO_UINT64_C(c) ((c) + 0UL) -+# elif (LZO_SIZEOF_INT >= 8) -+# define LZO_INT64_C(c) (c) -+# define LZO_UINT64_C(c) (c##U) -+# elif (LZO_SIZEOF_LONG >= 8) -+# define LZO_INT64_C(c) (c##L) -+# define LZO_UINT64_C(c) (c##UL) -+# else -+# error "LZO_INT64_C" -+# endif -+#endif -+#endif -+ -+#endif /* already included */ -+ -+/* vim:set ts=4 sw=4 et: */ -diff --git a/lzo/minilzo.c b/lzo/minilzo.c -index 85771eb..ab2be5f 100644 ---- a/lzo/minilzo.c -+++ b/lzo/minilzo.c -@@ -2,13 +2,7 @@ - - This file is part of the LZO real-time data compression library. - -- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer -+ Copyright (C) 1996-2014 Markus Franz Xaver Johannes Oberhumer - All Rights Reserved. - - The LZO library is free software; you can redistribute it and/or -@@ -24,7 +18,7 @@ - You should have received a copy of the GNU General Public License - along with the LZO library; see the file COPYING. - If not, write to the Free Software Foundation, Inc., -- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - Markus F.X.J. Oberhumer - -@@ -37,374 +31,3763 @@ - * http://www.oberhumer.com/opensource/lzo/ - */ - --#define __LZO_IN_MINILZO --#define LZO_BUILD -+#define __LZO_IN_MINILZO 1 -+ -+#if defined(LZO_CFG_FREESTANDING) -+# undef MINILZO_HAVE_CONFIG_H -+# define LZO_LIBC_FREESTANDING 1 -+# define LZO_OS_FREESTANDING 1 -+#endif - - #ifdef MINILZO_HAVE_CONFIG_H - # include - #endif -+#include -+#include -+#if defined(MINILZO_CFG_USE_INTERNAL_LZODEFS) -+ -+#ifndef __LZODEFS_H_INCLUDED -+#define __LZODEFS_H_INCLUDED 1 -+ -+#if defined(__CYGWIN32__) && !defined(__CYGWIN__) -+# define __CYGWIN__ __CYGWIN32__ -+#endif -+#if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE) -+# define _ALL_SOURCE 1 -+#endif -+#if defined(__mips__) && defined(__R5900__) -+# if !defined(__LONG_MAX__) -+# define __LONG_MAX__ 9223372036854775807L -+# endif -+#endif -+#if !defined(LZO_CFG_NO_DISABLE_WUNDEF) -+#if defined(__ARMCC_VERSION) -+# pragma diag_suppress 193 -+#elif defined(__clang__) && defined(__clang_minor__) -+# pragma clang diagnostic ignored "-Wundef" -+#elif defined(__INTEL_COMPILER) -+# pragma warning(disable: 193) -+#elif defined(__KEIL__) && defined(__C166__) -+# pragma warning disable = 322 -+#elif defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__PATHSCALE__) -+# if ((__GNUC__-0) >= 5 || ((__GNUC__-0) == 4 && (__GNUC_MINOR__-0) >= 2)) -+# pragma GCC diagnostic ignored "-Wundef" -+# endif -+#elif defined(_MSC_VER) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__) -+# if ((_MSC_VER-0) >= 1300) -+# pragma warning(disable: 4668) -+# endif -+#endif -+#endif -+#if 0 && defined(__POCC__) && defined(_WIN32) -+# if (__POCC__ >= 400) -+# pragma warn(disable: 2216) -+# endif -+#endif -+#if 0 && defined(__WATCOMC__) -+# if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060) -+# pragma warning 203 9 -+# endif -+#endif -+#if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__) -+# pragma option -h -+#endif -+#if !(LZO_CFG_NO_DISABLE_WCRTNONSTDC) -+#ifndef _CRT_NONSTDC_NO_DEPRECATE -+#define _CRT_NONSTDC_NO_DEPRECATE 1 -+#endif -+#ifndef _CRT_NONSTDC_NO_WARNINGS -+#define _CRT_NONSTDC_NO_WARNINGS 1 -+#endif -+#ifndef _CRT_SECURE_NO_DEPRECATE -+#define _CRT_SECURE_NO_DEPRECATE 1 -+#endif -+#ifndef _CRT_SECURE_NO_WARNINGS -+#define _CRT_SECURE_NO_WARNINGS 1 -+#endif -+#endif -+#if 0 -+#define LZO_0xffffUL 0xfffful -+#define LZO_0xffffffffUL 0xfffffffful -+#else -+#define LZO_0xffffUL 65535ul -+#define LZO_0xffffffffUL 4294967295ul -+#endif -+#define LZO_0xffffL LZO_0xffffUL -+#define LZO_0xffffffffL LZO_0xffffffffUL -+#if (LZO_0xffffL == LZO_0xffffffffL) -+# error "your preprocessor is broken 1" -+#endif -+#if (16ul * 16384ul != 262144ul) -+# error "your preprocessor is broken 2" -+#endif -+#if 0 -+#if (32767 >= 4294967295ul) -+# error "your preprocessor is broken 3" -+#endif -+#if (65535u >= 4294967295ul) -+# error "your preprocessor is broken 4" -+#endif -+#endif -+#if defined(__COUNTER__) -+# ifndef LZO_CFG_USE_COUNTER -+# define LZO_CFG_USE_COUNTER 1 -+# endif -+#else -+# undef LZO_CFG_USE_COUNTER -+#endif -+#if (UINT_MAX == LZO_0xffffL) -+#if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__) -+# if !defined(MSDOS) -+# define MSDOS 1 -+# endif -+# if !defined(_MSDOS) -+# define _MSDOS 1 -+# endif -+#elif 0 && defined(__VERSION) && defined(MB_LEN_MAX) -+# if (__VERSION == 520) && (MB_LEN_MAX == 1) -+# if !defined(__AZTEC_C__) -+# define __AZTEC_C__ __VERSION -+# endif -+# if !defined(__DOS__) -+# define __DOS__ 1 -+# endif -+# endif -+#endif -+#endif -+#if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL) -+# define ptrdiff_t long -+# define _PTRDIFF_T_DEFINED 1 -+#endif -+#if (UINT_MAX == LZO_0xffffL) -+# undef __LZO_RENAME_A -+# undef __LZO_RENAME_B -+# if defined(__AZTEC_C__) && defined(__DOS__) -+# define __LZO_RENAME_A 1 -+# elif defined(_MSC_VER) && defined(MSDOS) -+# if (_MSC_VER < 600) -+# define __LZO_RENAME_A 1 -+# elif (_MSC_VER < 700) -+# define __LZO_RENAME_B 1 -+# endif -+# elif defined(__TSC__) && defined(__OS2__) -+# define __LZO_RENAME_A 1 -+# elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410) -+# define __LZO_RENAME_A 1 -+# elif defined(__PACIFIC__) && defined(DOS) -+# if !defined(__far) -+# define __far far -+# endif -+# if !defined(__near) -+# define __near near -+# endif -+# endif -+# if defined(__LZO_RENAME_A) -+# if !defined(__cdecl) -+# define __cdecl cdecl -+# endif -+# if !defined(__far) -+# define __far far -+# endif -+# if !defined(__huge) -+# define __huge huge -+# endif -+# if !defined(__near) -+# define __near near -+# endif -+# if !defined(__pascal) -+# define __pascal pascal -+# endif -+# if !defined(__huge) -+# define __huge huge -+# endif -+# elif defined(__LZO_RENAME_B) -+# if !defined(__cdecl) -+# define __cdecl _cdecl -+# endif -+# if !defined(__far) -+# define __far _far -+# endif -+# if !defined(__huge) -+# define __huge _huge -+# endif -+# if !defined(__near) -+# define __near _near -+# endif -+# if !defined(__pascal) -+# define __pascal _pascal -+# endif -+# elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) -+# if !defined(__cdecl) -+# define __cdecl cdecl -+# endif -+# if !defined(__pascal) -+# define __pascal pascal -+# endif -+# endif -+# undef __LZO_RENAME_A -+# undef __LZO_RENAME_B -+#endif -+#if (UINT_MAX == LZO_0xffffL) -+#if defined(__AZTEC_C__) && defined(__DOS__) -+# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 -+#elif defined(_MSC_VER) && defined(MSDOS) -+# if (_MSC_VER < 600) -+# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 -+# endif -+# if (_MSC_VER < 700) -+# define LZO_BROKEN_INTEGRAL_PROMOTION 1 -+# define LZO_BROKEN_SIZEOF 1 -+# endif -+#elif defined(__PACIFIC__) && defined(DOS) -+# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 -+#elif defined(__TURBOC__) && defined(__MSDOS__) -+# if (__TURBOC__ < 0x0150) -+# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 -+# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 -+# define LZO_BROKEN_INTEGRAL_PROMOTION 1 -+# endif -+# if (__TURBOC__ < 0x0200) -+# define LZO_BROKEN_SIZEOF 1 -+# endif -+# if (__TURBOC__ < 0x0400) && defined(__cplusplus) -+# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 -+# endif -+#elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) -+# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 -+# define LZO_BROKEN_SIZEOF 1 -+#endif -+#endif -+#if defined(__WATCOMC__) && (__WATCOMC__ < 900) -+# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 -+#endif -+#if defined(_CRAY) && defined(_CRAY1) -+# define LZO_BROKEN_SIGNED_RIGHT_SHIFT 1 -+#endif -+#define LZO_PP_STRINGIZE(x) #x -+#define LZO_PP_MACRO_EXPAND(x) LZO_PP_STRINGIZE(x) -+#define LZO_PP_CONCAT0() /*empty*/ -+#define LZO_PP_CONCAT1(a) a -+#define LZO_PP_CONCAT2(a,b) a ## b -+#define LZO_PP_CONCAT3(a,b,c) a ## b ## c -+#define LZO_PP_CONCAT4(a,b,c,d) a ## b ## c ## d -+#define LZO_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e -+#define LZO_PP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f -+#define LZO_PP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g -+#define LZO_PP_ECONCAT0() LZO_PP_CONCAT0() -+#define LZO_PP_ECONCAT1(a) LZO_PP_CONCAT1(a) -+#define LZO_PP_ECONCAT2(a,b) LZO_PP_CONCAT2(a,b) -+#define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c) -+#define LZO_PP_ECONCAT4(a,b,c,d) LZO_PP_CONCAT4(a,b,c,d) -+#define LZO_PP_ECONCAT5(a,b,c,d,e) LZO_PP_CONCAT5(a,b,c,d,e) -+#define LZO_PP_ECONCAT6(a,b,c,d,e,f) LZO_PP_CONCAT6(a,b,c,d,e,f) -+#define LZO_PP_ECONCAT7(a,b,c,d,e,f,g) LZO_PP_CONCAT7(a,b,c,d,e,f,g) -+#define LZO_PP_EMPTY /*empty*/ -+#define LZO_PP_EMPTY0() /*empty*/ -+#define LZO_PP_EMPTY1(a) /*empty*/ -+#define LZO_PP_EMPTY2(a,b) /*empty*/ -+#define LZO_PP_EMPTY3(a,b,c) /*empty*/ -+#define LZO_PP_EMPTY4(a,b,c,d) /*empty*/ -+#define LZO_PP_EMPTY5(a,b,c,d,e) /*empty*/ -+#define LZO_PP_EMPTY6(a,b,c,d,e,f) /*empty*/ -+#define LZO_PP_EMPTY7(a,b,c,d,e,f,g) /*empty*/ -+#if 1 -+#define LZO_CPP_STRINGIZE(x) #x -+#define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x) -+#define LZO_CPP_CONCAT2(a,b) a ## b -+#define LZO_CPP_CONCAT3(a,b,c) a ## b ## c -+#define LZO_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d -+#define LZO_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e -+#define LZO_CPP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f -+#define LZO_CPP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g -+#define LZO_CPP_ECONCAT2(a,b) LZO_CPP_CONCAT2(a,b) -+#define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c) -+#define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d) -+#define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e) -+#define LZO_CPP_ECONCAT6(a,b,c,d,e,f) LZO_CPP_CONCAT6(a,b,c,d,e,f) -+#define LZO_CPP_ECONCAT7(a,b,c,d,e,f,g) LZO_CPP_CONCAT7(a,b,c,d,e,f,g) -+#endif -+#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-!!(b))) - (o)) << 1) + (o)*!!(b)) -+#if 1 && defined(__cplusplus) -+# if !defined(__STDC_CONSTANT_MACROS) -+# define __STDC_CONSTANT_MACROS 1 -+# endif -+# if !defined(__STDC_LIMIT_MACROS) -+# define __STDC_LIMIT_MACROS 1 -+# endif -+#endif -+#if defined(__cplusplus) -+# define LZO_EXTERN_C extern "C" -+# define LZO_EXTERN_C_BEGIN extern "C" { -+# define LZO_EXTERN_C_END } -+#else -+# define LZO_EXTERN_C extern -+# define LZO_EXTERN_C_BEGIN /*empty*/ -+# define LZO_EXTERN_C_END /*empty*/ -+#endif -+#if !defined(__LZO_OS_OVERRIDE) -+#if (LZO_OS_FREESTANDING) -+# define LZO_INFO_OS "freestanding" -+#elif (LZO_OS_EMBEDDED) -+# define LZO_INFO_OS "embedded" -+#elif 1 && defined(__IAR_SYSTEMS_ICC__) -+# define LZO_OS_EMBEDDED 1 -+# define LZO_INFO_OS "embedded" -+#elif defined(__CYGWIN__) && defined(__GNUC__) -+# define LZO_OS_CYGWIN 1 -+# define LZO_INFO_OS "cygwin" -+#elif defined(__EMX__) && defined(__GNUC__) -+# define LZO_OS_EMX 1 -+# define LZO_INFO_OS "emx" -+#elif defined(__BEOS__) -+# define LZO_OS_BEOS 1 -+# define LZO_INFO_OS "beos" -+#elif defined(__Lynx__) -+# define LZO_OS_LYNXOS 1 -+# define LZO_INFO_OS "lynxos" -+#elif defined(__OS400__) -+# define LZO_OS_OS400 1 -+# define LZO_INFO_OS "os400" -+#elif defined(__QNX__) -+# define LZO_OS_QNX 1 -+# define LZO_INFO_OS "qnx" -+#elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460) -+# define LZO_OS_DOS32 1 -+# define LZO_INFO_OS "dos32" -+#elif defined(__BORLANDC__) && defined(__DPMI16__) -+# define LZO_OS_DOS16 1 -+# define LZO_INFO_OS "dos16" -+#elif defined(__ZTC__) && defined(DOS386) -+# define LZO_OS_DOS32 1 -+# define LZO_INFO_OS "dos32" -+#elif defined(__OS2__) || defined(__OS2V2__) -+# if (UINT_MAX == LZO_0xffffL) -+# define LZO_OS_OS216 1 -+# define LZO_INFO_OS "os216" -+# elif (UINT_MAX == LZO_0xffffffffL) -+# define LZO_OS_OS2 1 -+# define LZO_INFO_OS "os2" -+# else -+# error "check your limits.h header" -+# endif -+#elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64) -+# define LZO_OS_WIN64 1 -+# define LZO_INFO_OS "win64" -+#elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__) -+# define LZO_OS_WIN32 1 -+# define LZO_INFO_OS "win32" -+#elif defined(__MWERKS__) && defined(__INTEL__) -+# define LZO_OS_WIN32 1 -+# define LZO_INFO_OS "win32" -+#elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows) -+# if (UINT_MAX == LZO_0xffffL) -+# define LZO_OS_WIN16 1 -+# define LZO_INFO_OS "win16" -+# elif (UINT_MAX == LZO_0xffffffffL) -+# define LZO_OS_WIN32 1 -+# define LZO_INFO_OS "win32" -+# else -+# error "check your limits.h header" -+# endif -+#elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS)) -+# if (UINT_MAX == LZO_0xffffL) -+# define LZO_OS_DOS16 1 -+# define LZO_INFO_OS "dos16" -+# elif (UINT_MAX == LZO_0xffffffffL) -+# define LZO_OS_DOS32 1 -+# define LZO_INFO_OS "dos32" -+# else -+# error "check your limits.h header" -+# endif -+#elif defined(__WATCOMC__) -+# if defined(__NT__) && (UINT_MAX == LZO_0xffffL) -+# define LZO_OS_DOS16 1 -+# define LZO_INFO_OS "dos16" -+# elif defined(__NT__) && (__WATCOMC__ < 1100) -+# define LZO_OS_WIN32 1 -+# define LZO_INFO_OS "win32" -+# elif defined(__linux__) || defined(__LINUX__) -+# define LZO_OS_POSIX 1 -+# define LZO_INFO_OS "posix" -+# else -+# error "please specify a target using the -bt compiler option" -+# endif -+#elif defined(__palmos__) -+# define LZO_OS_PALMOS 1 -+# define LZO_INFO_OS "palmos" -+#elif defined(__TOS__) || defined(__atarist__) -+# define LZO_OS_TOS 1 -+# define LZO_INFO_OS "tos" -+#elif defined(macintosh) && !defined(__ppc__) -+# define LZO_OS_MACCLASSIC 1 -+# define LZO_INFO_OS "macclassic" -+#elif defined(__VMS) -+# define LZO_OS_VMS 1 -+# define LZO_INFO_OS "vms" -+#elif (defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__) -+# define LZO_OS_CONSOLE 1 -+# define LZO_OS_CONSOLE_PS2 1 -+# define LZO_INFO_OS "console" -+# define LZO_INFO_OS_CONSOLE "ps2" -+#elif defined(__mips__) && defined(__psp__) -+# define LZO_OS_CONSOLE 1 -+# define LZO_OS_CONSOLE_PSP 1 -+# define LZO_INFO_OS "console" -+# define LZO_INFO_OS_CONSOLE "psp" -+#else -+# define LZO_OS_POSIX 1 -+# define LZO_INFO_OS "posix" -+#endif -+#if (LZO_OS_POSIX) -+# if defined(_AIX) || defined(__AIX__) || defined(__aix__) -+# define LZO_OS_POSIX_AIX 1 -+# define LZO_INFO_OS_POSIX "aix" -+# elif defined(__FreeBSD__) -+# define LZO_OS_POSIX_FREEBSD 1 -+# define LZO_INFO_OS_POSIX "freebsd" -+# elif defined(__hpux__) || defined(__hpux) -+# define LZO_OS_POSIX_HPUX 1 -+# define LZO_INFO_OS_POSIX "hpux" -+# elif defined(__INTERIX) -+# define LZO_OS_POSIX_INTERIX 1 -+# define LZO_INFO_OS_POSIX "interix" -+# elif defined(__IRIX__) || defined(__irix__) -+# define LZO_OS_POSIX_IRIX 1 -+# define LZO_INFO_OS_POSIX "irix" -+# elif defined(__linux__) || defined(__linux) || defined(__LINUX__) -+# define LZO_OS_POSIX_LINUX 1 -+# define LZO_INFO_OS_POSIX "linux" -+# elif defined(__APPLE__) && defined(__MACH__) -+# if ((__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__-0) >= 20000) -+# define LZO_OS_POSIX_DARWIN 1040 -+# define LZO_INFO_OS_POSIX "darwin_iphone" -+# elif ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) >= 1040) -+# define LZO_OS_POSIX_DARWIN __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ -+# define LZO_INFO_OS_POSIX "darwin" -+# else -+# define LZO_OS_POSIX_DARWIN 1 -+# define LZO_INFO_OS_POSIX "darwin" -+# endif -+# define LZO_OS_POSIX_MACOSX LZO_OS_POSIX_DARWIN -+# elif defined(__minix__) || defined(__minix) -+# define LZO_OS_POSIX_MINIX 1 -+# define LZO_INFO_OS_POSIX "minix" -+# elif defined(__NetBSD__) -+# define LZO_OS_POSIX_NETBSD 1 -+# define LZO_INFO_OS_POSIX "netbsd" -+# elif defined(__OpenBSD__) -+# define LZO_OS_POSIX_OPENBSD 1 -+# define LZO_INFO_OS_POSIX "openbsd" -+# elif defined(__osf__) -+# define LZO_OS_POSIX_OSF 1 -+# define LZO_INFO_OS_POSIX "osf" -+# elif defined(__solaris__) || defined(__sun) -+# if defined(__SVR4) || defined(__svr4__) -+# define LZO_OS_POSIX_SOLARIS 1 -+# define LZO_INFO_OS_POSIX "solaris" -+# else -+# define LZO_OS_POSIX_SUNOS 1 -+# define LZO_INFO_OS_POSIX "sunos" -+# endif -+# elif defined(__ultrix__) || defined(__ultrix) -+# define LZO_OS_POSIX_ULTRIX 1 -+# define LZO_INFO_OS_POSIX "ultrix" -+# elif defined(_UNICOS) -+# define LZO_OS_POSIX_UNICOS 1 -+# define LZO_INFO_OS_POSIX "unicos" -+# else -+# define LZO_OS_POSIX_UNKNOWN 1 -+# define LZO_INFO_OS_POSIX "unknown" -+# endif -+#endif -+#endif -+#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) -+# if (UINT_MAX != LZO_0xffffL) -+# error "unexpected configuration - check your compiler defines" -+# endif -+# if (ULONG_MAX != LZO_0xffffffffL) -+# error "unexpected configuration - check your compiler defines" -+# endif -+#endif -+#if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64) -+# if (UINT_MAX != LZO_0xffffffffL) -+# error "unexpected configuration - check your compiler defines" -+# endif -+# if (ULONG_MAX != LZO_0xffffffffL) -+# error "unexpected configuration - check your compiler defines" -+# endif -+#endif -+#if defined(CIL) && defined(_GNUCC) && defined(__GNUC__) -+# define LZO_CC_CILLY 1 -+# define LZO_INFO_CC "Cilly" -+# if defined(__CILLY__) -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CILLY__) -+# else -+# define LZO_INFO_CCVER "unknown" -+# endif -+#elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__) -+# define LZO_CC_SDCC 1 -+# define LZO_INFO_CC "sdcc" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(SDCC) -+#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__) -+# define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + (__PATHCC_MINOR__-0) * 0x100 + (__PATHCC_PATCHLEVEL__-0)) -+# define LZO_INFO_CC "Pathscale C" -+# define LZO_INFO_CCVER __PATHSCALE__ -+# if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) -+# define LZO_CC_PATHSCALE_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) -+# endif -+#elif defined(__INTEL_COMPILER) && ((__INTEL_COMPILER-0) > 0) -+# define LZO_CC_INTELC __INTEL_COMPILER -+# define LZO_INFO_CC "Intel C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__INTEL_COMPILER) -+# if defined(_MSC_VER) && ((_MSC_VER-0) > 0) -+# define LZO_CC_INTELC_MSC _MSC_VER -+# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) -+# define LZO_CC_INTELC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) -+# endif -+#elif defined(__POCC__) && defined(_WIN32) -+# define LZO_CC_PELLESC 1 -+# define LZO_INFO_CC "Pelles C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__POCC__) -+#elif defined(__ARMCC_VERSION) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) -+# if defined(__GNUC_PATCHLEVEL__) -+# define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) -+# else -+# define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) -+# endif -+# define LZO_CC_ARMCC __ARMCC_VERSION -+# define LZO_INFO_CC "ARM C Compiler" -+# define LZO_INFO_CCVER __VERSION__ -+#elif defined(__clang__) && defined(__llvm__) && defined(__VERSION__) -+# if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__) -+# define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0)) -+# else -+# define LZO_CC_CLANG 0x010000L -+# endif -+# if defined(_MSC_VER) && ((_MSC_VER-0) > 0) -+# define LZO_CC_CLANG_MSC _MSC_VER -+# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) -+# define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) -+# endif -+# define LZO_INFO_CC "clang" -+# define LZO_INFO_CCVER __VERSION__ -+#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) -+# if defined(__GNUC_PATCHLEVEL__) -+# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) -+# else -+# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) -+# endif -+# define LZO_CC_LLVM LZO_CC_LLVM_GNUC -+# define LZO_INFO_CC "llvm-gcc" -+# define LZO_INFO_CCVER __VERSION__ -+#elif defined(__ACK__) && defined(_ACK) -+# define LZO_CC_ACK 1 -+# define LZO_INFO_CC "Amsterdam Compiler Kit C" -+# define LZO_INFO_CCVER "unknown" -+#elif defined(__ARMCC_VERSION) && !defined(__GNUC__) -+# define LZO_CC_ARMCC __ARMCC_VERSION -+# define LZO_CC_ARMCC_ARMCC __ARMCC_VERSION -+# define LZO_INFO_CC "ARM C Compiler" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ARMCC_VERSION) -+#elif defined(__AZTEC_C__) -+# define LZO_CC_AZTECC 1 -+# define LZO_INFO_CC "Aztec C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__AZTEC_C__) -+#elif defined(__CODEGEARC__) -+# define LZO_CC_CODEGEARC 1 -+# define LZO_INFO_CC "CodeGear C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CODEGEARC__) -+#elif defined(__BORLANDC__) -+# define LZO_CC_BORLANDC 1 -+# define LZO_INFO_CC "Borland C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__BORLANDC__) -+#elif defined(_CRAYC) && defined(_RELEASE) -+# define LZO_CC_CRAYC 1 -+# define LZO_INFO_CC "Cray C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_RELEASE) -+#elif defined(__DMC__) && defined(__SC__) -+# define LZO_CC_DMC 1 -+# define LZO_INFO_CC "Digital Mars C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DMC__) -+#elif defined(__DECC) -+# define LZO_CC_DECC 1 -+# define LZO_INFO_CC "DEC C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DECC) -+#elif (defined(__ghs) || defined(__ghs__)) && defined(__GHS_VERSION_NUMBER) && ((__GHS_VERSION_NUMBER-0) > 0) -+# define LZO_CC_GHS 1 -+# define LZO_INFO_CC "Green Hills C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__GHS_VERSION_NUMBER) -+# if defined(_MSC_VER) && ((_MSC_VER-0) > 0) -+# define LZO_CC_GHS_MSC _MSC_VER -+# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) -+# define LZO_CC_GHS_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) -+# endif -+#elif defined(__HIGHC__) -+# define LZO_CC_HIGHC 1 -+# define LZO_INFO_CC "MetaWare High C" -+# define LZO_INFO_CCVER "unknown" -+#elif defined(__HP_aCC) && ((__HP_aCC-0) > 0) -+# define LZO_CC_HPACC __HP_aCC -+# define LZO_INFO_CC "HP aCC" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__HP_aCC) -+#elif defined(__IAR_SYSTEMS_ICC__) -+# define LZO_CC_IARC 1 -+# define LZO_INFO_CC "IAR C" -+# if defined(__VER__) -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__VER__) -+# else -+# define LZO_INFO_CCVER "unknown" -+# endif -+#elif defined(__IBMC__) && ((__IBMC__-0) > 0) -+# define LZO_CC_IBMC __IBMC__ -+# define LZO_INFO_CC "IBM C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMC__) -+#elif defined(__IBMCPP__) && ((__IBMCPP__-0) > 0) -+# define LZO_CC_IBMC __IBMCPP__ -+# define LZO_INFO_CC "IBM C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMCPP__) -+#elif defined(__KEIL__) && defined(__C166__) -+# define LZO_CC_KEILC 1 -+# define LZO_INFO_CC "Keil C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__C166__) -+#elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL) -+# define LZO_CC_LCCWIN32 1 -+# define LZO_INFO_CC "lcc-win32" -+# define LZO_INFO_CCVER "unknown" -+#elif defined(__LCC__) -+# define LZO_CC_LCC 1 -+# define LZO_INFO_CC "lcc" -+# if defined(__LCC_VERSION__) -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__LCC_VERSION__) -+# else -+# define LZO_INFO_CCVER "unknown" -+# endif -+#elif defined(__MWERKS__) && ((__MWERKS__-0) > 0) -+# define LZO_CC_MWERKS __MWERKS__ -+# define LZO_INFO_CC "Metrowerks C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__MWERKS__) -+#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386) -+# define LZO_CC_NDPC 1 -+# define LZO_INFO_CC "Microway NDP C" -+# define LZO_INFO_CCVER "unknown" -+#elif defined(__PACIFIC__) -+# define LZO_CC_PACIFICC 1 -+# define LZO_INFO_CC "Pacific C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PACIFIC__) -+#elif defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) -+# if defined(__PGIC_PATCHLEVEL__) -+# define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100 + (__PGIC_PATCHLEVEL__-0)) -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_EXPAND(__PGIC_MINOR__) "." LZO_PP_MACRO_EXPAND(__PGIC_PATCHLEVEL__) -+# else -+# define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100) -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_EXPAND(__PGIC_MINOR__) ".0" -+# endif -+# define LZO_INFO_CC "Portland Group PGI C" -+#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__)) -+# define LZO_CC_PGI 1 -+# define LZO_INFO_CC "Portland Group PGI C" -+# define LZO_INFO_CCVER "unknown" -+#elif defined(__PUREC__) && defined(__TOS__) -+# define LZO_CC_PUREC 1 -+# define LZO_INFO_CC "Pure C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PUREC__) -+#elif defined(__SC__) && defined(__ZTC__) -+# define LZO_CC_SYMANTECC 1 -+# define LZO_INFO_CC "Symantec C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SC__) -+#elif defined(__SUNPRO_C) -+# define LZO_INFO_CC "SunPro C" -+# if ((__SUNPRO_C-0) > 0) -+# define LZO_CC_SUNPROC __SUNPRO_C -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_C) -+# else -+# define LZO_CC_SUNPROC 1 -+# define LZO_INFO_CCVER "unknown" -+# endif -+#elif defined(__SUNPRO_CC) -+# define LZO_INFO_CC "SunPro C" -+# if ((__SUNPRO_CC-0) > 0) -+# define LZO_CC_SUNPROC __SUNPRO_CC -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_CC) -+# else -+# define LZO_CC_SUNPROC 1 -+# define LZO_INFO_CCVER "unknown" -+# endif -+#elif defined(__TINYC__) -+# define LZO_CC_TINYC 1 -+# define LZO_INFO_CC "Tiny C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TINYC__) -+#elif defined(__TSC__) -+# define LZO_CC_TOPSPEEDC 1 -+# define LZO_INFO_CC "TopSpeed C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TSC__) -+#elif defined(__WATCOMC__) -+# define LZO_CC_WATCOMC 1 -+# define LZO_INFO_CC "Watcom C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__WATCOMC__) -+#elif defined(__TURBOC__) -+# define LZO_CC_TURBOC 1 -+# define LZO_INFO_CC "Turbo C" -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TURBOC__) -+#elif defined(__ZTC__) -+# define LZO_CC_ZORTECHC 1 -+# define LZO_INFO_CC "Zortech C" -+# if ((__ZTC__-0) == 0x310) -+# define LZO_INFO_CCVER "0x310" -+# else -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ZTC__) -+# endif -+#elif defined(__GNUC__) && defined(__VERSION__) -+# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) -+# define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) -+# elif defined(__GNUC_MINOR__) -+# define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) -+# else -+# define LZO_CC_GNUC (__GNUC__ * 0x10000L) -+# endif -+# define LZO_INFO_CC "gcc" -+# define LZO_INFO_CCVER __VERSION__ -+#elif defined(_MSC_VER) && ((_MSC_VER-0) > 0) -+# define LZO_CC_MSC _MSC_VER -+# define LZO_INFO_CC "Microsoft C" -+# if defined(_MSC_FULL_VER) -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER) -+# else -+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) -+# endif -+#else -+# define LZO_CC_UNKNOWN 1 -+# define LZO_INFO_CC "unknown" -+# define LZO_INFO_CCVER "unknown" -+#endif -+#if (LZO_CC_GNUC) && defined(__OPEN64__) -+# if defined(__OPENCC__) && defined(__OPENCC_MINOR__) && defined(__OPENCC_PATCHLEVEL__) -+# define LZO_CC_OPEN64 (__OPENCC__ * 0x10000L + (__OPENCC_MINOR__-0) * 0x100 + (__OPENCC_PATCHLEVEL__-0)) -+# define LZO_CC_OPEN64_GNUC LZO_CC_GNUC -+# endif -+#endif -+#if (LZO_CC_GNUC) && defined(__PCC__) -+# if defined(__PCC__) && defined(__PCC_MINOR__) && defined(__PCC_MINORMINOR__) -+# define LZO_CC_PCC (__PCC__ * 0x10000L + (__PCC_MINOR__-0) * 0x100 + (__PCC_MINORMINOR__-0)) -+# define LZO_CC_PCC_GNUC LZO_CC_GNUC -+# endif -+#endif -+#if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER) -+# error "LZO_CC_MSC: _MSC_FULL_VER is not defined" -+#endif -+#if !defined(__LZO_ARCH_OVERRIDE) && !(LZO_ARCH_GENERIC) && defined(_CRAY) -+# if (UINT_MAX > LZO_0xffffffffL) && defined(_CRAY) -+# if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E) -+# define LZO_ARCH_CRAY_MPP 1 -+# elif defined(_CRAY1) -+# define LZO_ARCH_CRAY_PVP 1 -+# endif -+# endif -+#endif -+#if !defined(__LZO_ARCH_OVERRIDE) -+#if (LZO_ARCH_GENERIC) -+# define LZO_INFO_ARCH "generic" -+#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) -+# define LZO_ARCH_I086 1 -+# define LZO_INFO_ARCH "i086" -+#elif defined(__aarch64__) -+# define LZO_ARCH_ARM64 1 -+# define LZO_INFO_ARCH "arm64" -+#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA) -+# define LZO_ARCH_ALPHA 1 -+# define LZO_INFO_ARCH "alpha" -+#elif (LZO_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E)) -+# define LZO_ARCH_ALPHA 1 -+# define LZO_INFO_ARCH "alpha" -+#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64) -+# define LZO_ARCH_AMD64 1 -+# define LZO_INFO_ARCH "amd64" -+#elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB)) -+# define LZO_ARCH_ARM 1 -+# define LZO_ARCH_ARM_THUMB 1 -+# define LZO_INFO_ARCH "arm_thumb" -+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__) -+# define LZO_ARCH_ARM 1 -+# if defined(__CPU_MODE__) && ((__CPU_MODE__-0) == 1) -+# define LZO_ARCH_ARM_THUMB 1 -+# define LZO_INFO_ARCH "arm_thumb" -+# elif defined(__CPU_MODE__) && ((__CPU_MODE__-0) == 2) -+# define LZO_INFO_ARCH "arm" -+# else -+# define LZO_INFO_ARCH "arm" -+# endif -+#elif defined(__arm__) || defined(_M_ARM) -+# define LZO_ARCH_ARM 1 -+# define LZO_INFO_ARCH "arm" -+#elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__) -+# define LZO_ARCH_AVR 1 -+# define LZO_INFO_ARCH "avr" -+#elif defined(__avr32__) || defined(__AVR32__) -+# define LZO_ARCH_AVR32 1 -+# define LZO_INFO_ARCH "avr32" -+#elif defined(__bfin__) -+# define LZO_ARCH_BLACKFIN 1 -+# define LZO_INFO_ARCH "blackfin" -+#elif (UINT_MAX == LZO_0xffffL) && defined(__C166__) -+# define LZO_ARCH_C166 1 -+# define LZO_INFO_ARCH "c166" -+#elif defined(__cris__) -+# define LZO_ARCH_CRIS 1 -+# define LZO_INFO_ARCH "cris" -+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__) -+# define LZO_ARCH_EZ80 1 -+# define LZO_INFO_ARCH "ez80" -+#elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) -+# define LZO_ARCH_H8300 1 -+# define LZO_INFO_ARCH "h8300" -+#elif defined(__hppa__) || defined(__hppa) -+# define LZO_ARCH_HPPA 1 -+# define LZO_INFO_ARCH "hppa" -+#elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386) -+# define LZO_ARCH_I386 1 -+# define LZO_ARCH_IA32 1 -+# define LZO_INFO_ARCH "i386" -+#elif (LZO_CC_ZORTECHC && defined(__I86__)) -+# define LZO_ARCH_I386 1 -+# define LZO_ARCH_IA32 1 -+# define LZO_INFO_ARCH "i386" -+#elif (LZO_OS_DOS32 && LZO_CC_HIGHC) && defined(_I386) -+# define LZO_ARCH_I386 1 -+# define LZO_ARCH_IA32 1 -+# define LZO_INFO_ARCH "i386" -+#elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64) -+# define LZO_ARCH_IA64 1 -+# define LZO_INFO_ARCH "ia64" -+#elif (UINT_MAX == LZO_0xffffL) && defined(__m32c__) -+# define LZO_ARCH_M16C 1 -+# define LZO_INFO_ARCH "m16c" -+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__) -+# define LZO_ARCH_M16C 1 -+# define LZO_INFO_ARCH "m16c" -+#elif defined(__m32r__) -+# define LZO_ARCH_M32R 1 -+# define LZO_INFO_ARCH "m32r" -+#elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K) -+# define LZO_ARCH_M68K 1 -+# define LZO_INFO_ARCH "m68k" -+#elif (UINT_MAX == LZO_0xffffL) && defined(__C251__) -+# define LZO_ARCH_MCS251 1 -+# define LZO_INFO_ARCH "mcs251" -+#elif (UINT_MAX == LZO_0xffffL) && defined(__C51__) -+# define LZO_ARCH_MCS51 1 -+# define LZO_INFO_ARCH "mcs51" -+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__) -+# define LZO_ARCH_MCS51 1 -+# define LZO_INFO_ARCH "mcs51" -+#elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000) -+# define LZO_ARCH_MIPS 1 -+# define LZO_INFO_ARCH "mips" -+#elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__) -+# define LZO_ARCH_MSP430 1 -+# define LZO_INFO_ARCH "msp430" -+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__) -+# define LZO_ARCH_MSP430 1 -+# define LZO_INFO_ARCH "msp430" -+#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR) -+# define LZO_ARCH_POWERPC 1 -+# define LZO_INFO_ARCH "powerpc" -+#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x) -+# define LZO_ARCH_S390 1 -+# define LZO_INFO_ARCH "s390" -+#elif defined(__sh__) || defined(_M_SH) -+# define LZO_ARCH_SH 1 -+# define LZO_INFO_ARCH "sh" -+#elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8) -+# define LZO_ARCH_SPARC 1 -+# define LZO_INFO_ARCH "sparc" -+#elif defined(__SPU__) -+# define LZO_ARCH_SPU 1 -+# define LZO_INFO_ARCH "spu" -+#elif (UINT_MAX == LZO_0xffffL) && defined(__z80) -+# define LZO_ARCH_Z80 1 -+# define LZO_INFO_ARCH "z80" -+#elif (LZO_ARCH_CRAY_PVP) -+# if defined(_CRAYSV1) -+# define LZO_ARCH_CRAY_SV1 1 -+# define LZO_INFO_ARCH "cray_sv1" -+# elif (_ADDR64) -+# define LZO_ARCH_CRAY_T90 1 -+# define LZO_INFO_ARCH "cray_t90" -+# elif (_ADDR32) -+# define LZO_ARCH_CRAY_YMP 1 -+# define LZO_INFO_ARCH "cray_ymp" -+# else -+# define LZO_ARCH_CRAY_XMP 1 -+# define LZO_INFO_ARCH "cray_xmp" -+# endif -+#else -+# define LZO_ARCH_UNKNOWN 1 -+# define LZO_INFO_ARCH "unknown" -+#endif -+#endif -+#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2) -+# error "FIXME - missing define for CPU architecture" -+#endif -+#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32) -+# error "FIXME - missing LZO_OS_WIN32 define for CPU architecture" -+#endif -+#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64) -+# error "FIXME - missing LZO_OS_WIN64 define for CPU architecture" -+#endif -+#if (LZO_OS_OS216 || LZO_OS_WIN16) -+# define LZO_ARCH_I086PM 1 -+#elif 1 && (LZO_OS_DOS16 && defined(BLX286)) -+# define LZO_ARCH_I086PM 1 -+#elif 1 && (LZO_OS_DOS16 && defined(DOSX286)) -+# define LZO_ARCH_I086PM 1 -+#elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__)) -+# define LZO_ARCH_I086PM 1 -+#endif -+#if (LZO_ARCH_AMD64 && !LZO_ARCH_X64) -+# define LZO_ARCH_X64 1 -+#elif (!LZO_ARCH_AMD64 && LZO_ARCH_X64) && defined(__LZO_ARCH_OVERRIDE) -+# define LZO_ARCH_AMD64 1 -+#endif -+#if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64) -+# define LZO_ARCH_AARCH64 1 -+#elif (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64) && defined(__LZO_ARCH_OVERRIDE) -+# define LZO_ARCH_ARM64 1 -+#endif -+#if (LZO_ARCH_I386 && !LZO_ARCH_X86) -+# define LZO_ARCH_X86 1 -+#elif (!LZO_ARCH_I386 && LZO_ARCH_X86) && defined(__LZO_ARCH_OVERRIDE) -+# define LZO_ARCH_I386 1 -+#endif -+#if (LZO_ARCH_AMD64 && !LZO_ARCH_X64) || (!LZO_ARCH_AMD64 && LZO_ARCH_X64) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64) || (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_I386 && !LZO_ARCH_X86) || (!LZO_ARCH_I386 && LZO_ARCH_X86) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_ARM_THUMB && !LZO_ARCH_ARM) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_ARM_THUMB1 && !LZO_ARCH_ARM_THUMB) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_ARM_THUMB2 && !LZO_ARCH_ARM_THUMB) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_ARM_THUMB1 && LZO_ARCH_ARM_THUMB2) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_I086PM && !LZO_ARCH_I086) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_I086) -+# if (UINT_MAX != LZO_0xffffL) -+# error "unexpected configuration - check your compiler defines" -+# endif -+# if (ULONG_MAX != LZO_0xffffffffL) -+# error "unexpected configuration - check your compiler defines" -+# endif -+#endif -+#if (LZO_ARCH_I386) -+# if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__) -+# error "unexpected configuration - check your compiler defines" -+# endif -+# if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__) -+# error "unexpected configuration - check your compiler defines" -+# endif -+# if (ULONG_MAX != LZO_0xffffffffL) -+# error "unexpected configuration - check your compiler defines" -+# endif -+#endif -+#if (LZO_ARCH_AMD64 || LZO_ARCH_I386) -+# if !defined(LZO_TARGET_FEATURE_SSE2) -+# if defined(__SSE2__) -+# define LZO_TARGET_FEATURE_SSE2 1 -+# elif defined(_MSC_VER) && ((defined(_M_IX86_FP) && ((_M_IX86_FP)+0 >= 2)) || defined(_M_AMD64)) -+# define LZO_TARGET_FEATURE_SSE2 1 -+# endif -+# endif -+# if !defined(LZO_TARGET_FEATURE_SSSE3) -+# if (LZO_TARGET_FEATURE_SSE2) -+# if defined(__SSSE3__) -+# define LZO_TARGET_FEATURE_SSSE3 1 -+# elif defined(_MSC_VER) && defined(__AVX__) -+# define LZO_TARGET_FEATURE_SSSE3 1 -+# endif -+# endif -+# endif -+# if !defined(LZO_TARGET_FEATURE_SSE4_2) -+# if (LZO_TARGET_FEATURE_SSSE3) -+# if defined(__SSE4_2__) -+# define LZO_TARGET_FEATURE_SSE4_2 1 -+# endif -+# endif -+# endif -+# if !defined(LZO_TARGET_FEATURE_AVX) -+# if (LZO_TARGET_FEATURE_SSSE3) -+# if defined(__AVX__) -+# define LZO_TARGET_FEATURE_AVX 1 -+# endif -+# endif -+# endif -+# if !defined(LZO_TARGET_FEATURE_AVX2) -+# if (LZO_TARGET_FEATURE_AVX) -+# if defined(__AVX2__) -+# define LZO_TARGET_FEATURE_AVX2 1 -+# endif -+# endif -+# endif -+#endif -+#if (LZO_TARGET_FEATURE_SSSE3 && !(LZO_TARGET_FEATURE_SSE2)) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_TARGET_FEATURE_SSE4_2 && !(LZO_TARGET_FEATURE_SSSE3)) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_TARGET_FEATURE_AVX && !(LZO_TARGET_FEATURE_SSSE3)) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_TARGET_FEATURE_AVX2 && !(LZO_TARGET_FEATURE_AVX)) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ARCH_ARM) -+# if !defined(LZO_TARGET_FEATURE_NEON) -+# if defined(__ARM_NEON__) -+# define LZO_TARGET_FEATURE_NEON 1 -+# endif -+# endif -+#elif (LZO_ARCH_ARM64) -+# if !defined(LZO_TARGET_FEATURE_NEON) -+# if 1 -+# define LZO_TARGET_FEATURE_NEON 1 -+# endif -+# endif -+#endif -+#if 0 -+#elif !defined(__LZO_MM_OVERRIDE) -+#if (LZO_ARCH_I086) -+#if (UINT_MAX != LZO_0xffffL) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM) -+# define LZO_MM_TINY 1 -+#elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM) -+# define LZO_MM_HUGE 1 -+#elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL) -+# define LZO_MM_SMALL 1 -+#elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM) -+# define LZO_MM_MEDIUM 1 -+#elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM) -+# define LZO_MM_COMPACT 1 -+#elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL) -+# define LZO_MM_LARGE 1 -+#elif (LZO_CC_AZTECC) -+# if defined(_LARGE_CODE) && defined(_LARGE_DATA) -+# define LZO_MM_LARGE 1 -+# elif defined(_LARGE_CODE) -+# define LZO_MM_MEDIUM 1 -+# elif defined(_LARGE_DATA) -+# define LZO_MM_COMPACT 1 -+# else -+# define LZO_MM_SMALL 1 -+# endif -+#elif (LZO_CC_ZORTECHC && defined(__VCM__)) -+# define LZO_MM_LARGE 1 -+#else -+# error "unknown LZO_ARCH_I086 memory model" -+#endif -+#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) -+#define LZO_HAVE_MM_HUGE_PTR 1 -+#define LZO_HAVE_MM_HUGE_ARRAY 1 -+#if (LZO_MM_TINY) -+# undef LZO_HAVE_MM_HUGE_ARRAY -+#endif -+#if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC) -+# undef LZO_HAVE_MM_HUGE_PTR -+# undef LZO_HAVE_MM_HUGE_ARRAY -+#elif (LZO_CC_DMC || LZO_CC_SYMANTECC) -+# undef LZO_HAVE_MM_HUGE_ARRAY -+#elif (LZO_CC_MSC && defined(_QC)) -+# undef LZO_HAVE_MM_HUGE_ARRAY -+# if (_MSC_VER < 600) -+# undef LZO_HAVE_MM_HUGE_PTR -+# endif -+#elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295)) -+# undef LZO_HAVE_MM_HUGE_ARRAY -+#endif -+#if (LZO_ARCH_I086PM) && !(LZO_HAVE_MM_HUGE_PTR) -+# if (LZO_OS_DOS16) -+# error "unexpected configuration - check your compiler defines" -+# elif (LZO_CC_ZORTECHC) -+# else -+# error "unexpected configuration - check your compiler defines" -+# endif -+#endif -+#ifdef __cplusplus -+extern "C" { -+#endif -+#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200)) -+ extern void __near __cdecl _AHSHIFT(void); -+# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) -+#elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) -+ extern void __near __cdecl _AHSHIFT(void); -+# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) -+#elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC) -+ extern void __near __cdecl _AHSHIFT(void); -+# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) -+#elif (LZO_CC_TURBOC && (__TURBOC__ >= 0x0295)) -+ extern void __near __cdecl _AHSHIFT(void); -+# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) -+#elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16) -+# define LZO_MM_AHSHIFT 12 -+#elif (LZO_CC_WATCOMC) -+ extern unsigned char _HShift; -+# define LZO_MM_AHSHIFT ((unsigned) _HShift) -+#else -+# error "FIXME - implement LZO_MM_AHSHIFT" -+#endif -+#ifdef __cplusplus -+} -+#endif -+#endif -+#elif (LZO_ARCH_C166) -+#if !defined(__MODEL__) -+# error "FIXME - LZO_ARCH_C166 __MODEL__" -+#elif ((__MODEL__) == 0) -+# define LZO_MM_SMALL 1 -+#elif ((__MODEL__) == 1) -+# define LZO_MM_SMALL 1 -+#elif ((__MODEL__) == 2) -+# define LZO_MM_LARGE 1 -+#elif ((__MODEL__) == 3) -+# define LZO_MM_TINY 1 -+#elif ((__MODEL__) == 4) -+# define LZO_MM_XTINY 1 -+#elif ((__MODEL__) == 5) -+# define LZO_MM_XSMALL 1 -+#else -+# error "FIXME - LZO_ARCH_C166 __MODEL__" -+#endif -+#elif (LZO_ARCH_MCS251) -+#if !defined(__MODEL__) -+# error "FIXME - LZO_ARCH_MCS251 __MODEL__" -+#elif ((__MODEL__) == 0) -+# define LZO_MM_SMALL 1 -+#elif ((__MODEL__) == 2) -+# define LZO_MM_LARGE 1 -+#elif ((__MODEL__) == 3) -+# define LZO_MM_TINY 1 -+#elif ((__MODEL__) == 4) -+# define LZO_MM_XTINY 1 -+#elif ((__MODEL__) == 5) -+# define LZO_MM_XSMALL 1 -+#else -+# error "FIXME - LZO_ARCH_MCS251 __MODEL__" -+#endif -+#elif (LZO_ARCH_MCS51) -+#if !defined(__MODEL__) -+# error "FIXME - LZO_ARCH_MCS51 __MODEL__" -+#elif ((__MODEL__) == 1) -+# define LZO_MM_SMALL 1 -+#elif ((__MODEL__) == 2) -+# define LZO_MM_LARGE 1 -+#elif ((__MODEL__) == 3) -+# define LZO_MM_TINY 1 -+#elif ((__MODEL__) == 4) -+# define LZO_MM_XTINY 1 -+#elif ((__MODEL__) == 5) -+# define LZO_MM_XSMALL 1 -+#else -+# error "FIXME - LZO_ARCH_MCS51 __MODEL__" -+#endif -+#elif (LZO_ARCH_CRAY_PVP) -+# define LZO_MM_PVP 1 -+#else -+# define LZO_MM_FLAT 1 -+#endif -+#if (LZO_MM_COMPACT) -+# define LZO_INFO_MM "compact" -+#elif (LZO_MM_FLAT) -+# define LZO_INFO_MM "flat" -+#elif (LZO_MM_HUGE) -+# define LZO_INFO_MM "huge" -+#elif (LZO_MM_LARGE) -+# define LZO_INFO_MM "large" -+#elif (LZO_MM_MEDIUM) -+# define LZO_INFO_MM "medium" -+#elif (LZO_MM_PVP) -+# define LZO_INFO_MM "pvp" -+#elif (LZO_MM_SMALL) -+# define LZO_INFO_MM "small" -+#elif (LZO_MM_TINY) -+# define LZO_INFO_MM "tiny" -+#else -+# error "unknown memory model" -+#endif -+#endif -+#if !defined(__lzo_gnuc_extension__) -+#if (LZO_CC_GNUC >= 0x020800ul) -+# define __lzo_gnuc_extension__ __extension__ -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_gnuc_extension__ __extension__ -+#elif (LZO_CC_IBMC >= 600) -+# define __lzo_gnuc_extension__ __extension__ -+#else -+#endif -+#endif -+#if !defined(__lzo_gnuc_extension__) -+# define __lzo_gnuc_extension__ /*empty*/ -+#endif -+#if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) && defined(__cplusplus) && 0 -+# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) -+# define LZO_CFG_USE_NEW_STYLE_CASTS 0 -+# elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1200)) -+# define LZO_CFG_USE_NEW_STYLE_CASTS 0 -+# else -+# define LZO_CFG_USE_NEW_STYLE_CASTS 1 -+# endif -+#endif -+#if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) -+# define LZO_CFG_USE_NEW_STYLE_CASTS 0 -+#endif -+#if !defined(__cplusplus) -+# if defined(LZO_CFG_USE_NEW_STYLE_CASTS) -+# undef LZO_CFG_USE_NEW_STYLE_CASTS -+# endif -+# define LZO_CFG_USE_NEW_STYLE_CASTS 0 -+#endif -+#if !defined(LZO_REINTERPRET_CAST) -+# if (LZO_CFG_USE_NEW_STYLE_CASTS) -+# define LZO_REINTERPRET_CAST(t,e) (reinterpret_cast (e)) -+# endif -+#endif -+#if !defined(LZO_REINTERPRET_CAST) -+# define LZO_REINTERPRET_CAST(t,e) ((t) (e)) -+#endif -+#if !defined(LZO_STATIC_CAST) -+# if (LZO_CFG_USE_NEW_STYLE_CASTS) -+# define LZO_STATIC_CAST(t,e) (static_cast (e)) -+# endif -+#endif -+#if !defined(LZO_STATIC_CAST) -+# define LZO_STATIC_CAST(t,e) ((t) (e)) -+#endif -+#if !defined(LZO_STATIC_CAST2) -+# define LZO_STATIC_CAST2(t1,t2,e) LZO_STATIC_CAST(t1, LZO_STATIC_CAST(t2, e)) -+#endif -+#if !defined(LZO_UNCONST_CAST) -+# if (LZO_CFG_USE_NEW_STYLE_CASTS) -+# define LZO_UNCONST_CAST(t,e) (const_cast (e)) -+# elif (LZO_HAVE_MM_HUGE_PTR) -+# define LZO_UNCONST_CAST(t,e) ((t) (e)) -+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((const void *) (e))))) -+# endif -+#endif -+#if !defined(LZO_UNCONST_CAST) -+# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((const void *) (e)))) -+#endif -+#if !defined(LZO_UNCONST_VOLATILE_CAST) -+# if (LZO_CFG_USE_NEW_STYLE_CASTS) -+# define LZO_UNCONST_VOLATILE_CAST(t,e) (const_cast (e)) -+# elif (LZO_HAVE_MM_HUGE_PTR) -+# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) (e)) -+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((lzo_uintptr_t) ((volatile const void *) (e))))) -+# endif -+#endif -+#if !defined(LZO_UNCONST_VOLATILE_CAST) -+# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((volatile const void *) (e)))) -+#endif -+#if !defined(LZO_UNVOLATILE_CAST) -+# if (LZO_CFG_USE_NEW_STYLE_CASTS) -+# define LZO_UNVOLATILE_CAST(t,e) (const_cast (e)) -+# elif (LZO_HAVE_MM_HUGE_PTR) -+# define LZO_UNVOLATILE_CAST(t,e) ((t) (e)) -+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((volatile void *) (e))))) -+# endif -+#endif -+#if !defined(LZO_UNVOLATILE_CAST) -+# define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((volatile void *) (e)))) -+#endif -+#if !defined(LZO_UNVOLATILE_CONST_CAST) -+# if (LZO_CFG_USE_NEW_STYLE_CASTS) -+# define LZO_UNVOLATILE_CONST_CAST(t,e) (const_cast (e)) -+# elif (LZO_HAVE_MM_HUGE_PTR) -+# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) (e)) -+# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((lzo_uintptr_t) ((volatile const void *) (e))))) -+# endif -+#endif -+#if !defined(LZO_UNVOLATILE_CONST_CAST) -+# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((volatile const void *) (e)))) -+#endif -+#if !defined(LZO_PCAST) -+# if (LZO_HAVE_MM_HUGE_PTR) -+# define LZO_PCAST(t,e) ((t) (e)) -+# endif -+#endif -+#if !defined(LZO_PCAST) -+# define LZO_PCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(void *, e)) -+#endif -+#if !defined(LZO_CCAST) -+# if (LZO_HAVE_MM_HUGE_PTR) -+# define LZO_CCAST(t,e) ((t) (e)) -+# endif -+#endif -+#if !defined(LZO_CCAST) -+# define LZO_CCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(const void *, e)) -+#endif -+#if !defined(LZO_ICONV) -+# define LZO_ICONV(t,e) LZO_STATIC_CAST(t, e) -+#endif -+#if !defined(LZO_ICAST) -+# define LZO_ICAST(t,e) LZO_STATIC_CAST(t, e) -+#endif -+#if !defined(LZO_ITRUNC) -+# define LZO_ITRUNC(t,e) LZO_STATIC_CAST(t, e) -+#endif -+#if !defined(__lzo_cte) -+# if (LZO_CC_MSC || LZO_CC_WATCOMC) -+# define __lzo_cte(e) ((void)0,(e)) -+# elif 1 -+# define __lzo_cte(e) ((void)0,(e)) -+# endif -+#endif -+#if !defined(__lzo_cte) -+# define __lzo_cte(e) (e) -+#endif -+#if !defined(LZO_BLOCK_BEGIN) -+# define LZO_BLOCK_BEGIN do { -+# define LZO_BLOCK_END } while __lzo_cte(0) -+#endif -+#if !defined(LZO_UNUSED) -+# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) -+# define LZO_UNUSED(var) ((void) &var) -+# elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC) -+# define LZO_UNUSED(var) if (&var) ; else -+# elif (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030200ul)) -+# define LZO_UNUSED(var) ((void) &var) -+# elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define LZO_UNUSED(var) ((void) var) -+# elif (LZO_CC_MSC && (_MSC_VER < 900)) -+# define LZO_UNUSED(var) if (&var) ; else -+# elif (LZO_CC_KEILC) -+# define LZO_UNUSED(var) {LZO_EXTERN_C int lzo_unused__[1-2*!(sizeof(var)>0)];} -+# elif (LZO_CC_PACIFICC) -+# define LZO_UNUSED(var) ((void) sizeof(var)) -+# elif (LZO_CC_WATCOMC) && defined(__cplusplus) -+# define LZO_UNUSED(var) ((void) var) -+# else -+# define LZO_UNUSED(var) ((void) &var) -+# endif -+#endif -+#if !defined(LZO_UNUSED_FUNC) -+# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) -+# define LZO_UNUSED_FUNC(func) ((void) func) -+# elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC) -+# define LZO_UNUSED_FUNC(func) if (func) ; else -+# elif (LZO_CC_CLANG || LZO_CC_LLVM) -+# define LZO_UNUSED_FUNC(func) ((void) &func) -+# elif (LZO_CC_MSC && (_MSC_VER < 900)) -+# define LZO_UNUSED_FUNC(func) if (func) ; else -+# elif (LZO_CC_MSC) -+# define LZO_UNUSED_FUNC(func) ((void) &func) -+# elif (LZO_CC_KEILC || LZO_CC_PELLESC) -+# define LZO_UNUSED_FUNC(func) {LZO_EXTERN_C int lzo_unused_func__[1-2*!(sizeof((int)func)>0)];} -+# else -+# define LZO_UNUSED_FUNC(func) ((void) func) -+# endif -+#endif -+#if !defined(LZO_UNUSED_LABEL) -+# if (LZO_CC_CLANG >= 0x020800ul) -+# define LZO_UNUSED_LABEL(l) (__lzo_gnuc_extension__ ((void) ((const void *) &&l))) -+# elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_INTELC || LZO_CC_WATCOMC) -+# define LZO_UNUSED_LABEL(l) if __lzo_cte(0) goto l -+# else -+# define LZO_UNUSED_LABEL(l) switch (0) case 1:goto l -+# endif -+#endif -+#if !defined(LZO_DEFINE_UNINITIALIZED_VAR) -+# if 0 -+# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var -+# elif 0 && (LZO_CC_GNUC) -+# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var -+# else -+# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init -+# endif -+#endif -+#if !defined(__lzo_inline) -+#if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295)) -+#elif defined(__cplusplus) -+# define __lzo_inline inline -+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L) -+# define __lzo_inline inline -+#elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550)) -+# define __lzo_inline __inline -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) -+# define __lzo_inline __inline__ -+#elif (LZO_CC_DMC) -+# define __lzo_inline __inline -+#elif (LZO_CC_GHS) -+# define __lzo_inline __inline__ -+#elif (LZO_CC_IBMC >= 600) -+# define __lzo_inline __inline__ -+#elif (LZO_CC_INTELC) -+# define __lzo_inline __inline -+#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405)) -+# define __lzo_inline __inline -+#elif (LZO_CC_MSC && (_MSC_VER >= 900)) -+# define __lzo_inline __inline -+#elif (LZO_CC_SUNPROC >= 0x5100) -+# define __lzo_inline __inline__ -+#endif -+#endif -+#if defined(__lzo_inline) -+# ifndef __lzo_HAVE_inline -+# define __lzo_HAVE_inline 1 -+# endif -+#else -+# define __lzo_inline /*empty*/ -+#endif -+#if !defined(__lzo_forceinline) -+#if (LZO_CC_GNUC >= 0x030200ul) -+# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) -+#elif (LZO_CC_IBMC >= 700) -+# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) -+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) -+# define __lzo_forceinline __forceinline -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) -+# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) -+#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) -+# define __lzo_forceinline __forceinline -+#elif (LZO_CC_PGI >= 0x0d0a00ul) -+# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) -+#elif (LZO_CC_SUNPROC >= 0x5100) -+# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) -+#endif -+#endif -+#if defined(__lzo_forceinline) -+# ifndef __lzo_HAVE_forceinline -+# define __lzo_HAVE_forceinline 1 -+# endif -+#else -+# define __lzo_forceinline __lzo_inline -+#endif -+#if !defined(__lzo_noinline) -+#if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x040003ul) -+# define __lzo_noinline __attribute__((__noinline__,__used__)) -+#elif (LZO_CC_GNUC >= 0x030200ul) -+# define __lzo_noinline __attribute__((__noinline__)) -+#elif (LZO_CC_IBMC >= 700) -+# define __lzo_noinline __attribute__((__noinline__)) -+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600)) -+# define __lzo_noinline __declspec(noinline) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) -+# define __lzo_noinline __attribute__((__noinline__)) -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_noinline __attribute__((__noinline__)) -+#elif (LZO_CC_MSC && (_MSC_VER >= 1300)) -+# define __lzo_noinline __declspec(noinline) -+#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64)) -+# if defined(__cplusplus) -+# else -+# define __lzo_noinline __declspec(noinline) -+# endif -+#elif (LZO_CC_PGI >= 0x0d0a00ul) -+# define __lzo_noinline __attribute__((__noinline__)) -+#elif (LZO_CC_SUNPROC >= 0x5100) -+# define __lzo_noinline __attribute__((__noinline__)) -+#endif -+#endif -+#if defined(__lzo_noinline) -+# ifndef __lzo_HAVE_noinline -+# define __lzo_HAVE_noinline 1 -+# endif -+#else -+# define __lzo_noinline /*empty*/ -+#endif -+#if (__lzo_HAVE_forceinline || __lzo_HAVE_noinline) && !(__lzo_HAVE_inline) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if !defined(__lzo_static_inline) -+#if (LZO_CC_IBMC) -+# define __lzo_static_inline __lzo_gnuc_extension__ static __lzo_inline -+#endif -+#endif -+#if !defined(__lzo_static_inline) -+# define __lzo_static_inline static __lzo_inline -+#endif -+#if !defined(__lzo_static_forceinline) -+#if (LZO_CC_IBMC) -+# define __lzo_static_forceinline __lzo_gnuc_extension__ static __lzo_forceinline -+#endif -+#endif -+#if !defined(__lzo_static_forceinline) -+# define __lzo_static_forceinline static __lzo_forceinline -+#endif -+#if !defined(__lzo_static_noinline) -+#if (LZO_CC_IBMC) -+# define __lzo_static_noinline __lzo_gnuc_extension__ static __lzo_noinline -+#endif -+#endif -+#if !defined(__lzo_static_noinline) -+# define __lzo_static_noinline static __lzo_noinline -+#endif -+#if !defined(__lzo_c99_extern_inline) -+#if defined(__GNUC_GNU_INLINE__) -+# define __lzo_c99_extern_inline __lzo_inline -+#elif defined(__GNUC_STDC_INLINE__) -+# define __lzo_c99_extern_inline extern __lzo_inline -+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L) -+# define __lzo_c99_extern_inline extern __lzo_inline -+#endif -+#if !defined(__lzo_c99_extern_inline) && (__lzo_HAVE_inline) -+# define __lzo_c99_extern_inline __lzo_inline -+#endif -+#endif -+#if defined(__lzo_c99_extern_inline) -+# ifndef __lzo_HAVE_c99_extern_inline -+# define __lzo_HAVE_c99_extern_inline 1 -+# endif -+#else -+# define __lzo_c99_extern_inline /*empty*/ -+#endif -+#if !defined(__lzo_may_alias) -+#if (LZO_CC_GNUC >= 0x030400ul) -+# define __lzo_may_alias __attribute__((__may_alias__)) -+#elif (LZO_CC_CLANG >= 0x020900ul) -+# define __lzo_may_alias __attribute__((__may_alias__)) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1210)) && 0 -+# define __lzo_may_alias __attribute__((__may_alias__)) -+#elif (LZO_CC_PGI >= 0x0d0a00ul) && 0 -+# define __lzo_may_alias __attribute__((__may_alias__)) -+#endif -+#endif -+#if defined(__lzo_may_alias) -+# ifndef __lzo_HAVE_may_alias -+# define __lzo_HAVE_may_alias 1 -+# endif -+#else -+# define __lzo_may_alias /*empty*/ -+#endif -+#if !defined(__lzo_noreturn) -+#if (LZO_CC_GNUC >= 0x020700ul) -+# define __lzo_noreturn __attribute__((__noreturn__)) -+#elif (LZO_CC_IBMC >= 700) -+# define __lzo_noreturn __attribute__((__noreturn__)) -+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) -+# define __lzo_noreturn __declspec(noreturn) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600)) -+# define __lzo_noreturn __attribute__((__noreturn__)) -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_noreturn __attribute__((__noreturn__)) -+#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) -+# define __lzo_noreturn __declspec(noreturn) -+#elif (LZO_CC_PGI >= 0x0d0a00ul) -+# define __lzo_noreturn __attribute__((__noreturn__)) -+#endif -+#endif -+#if defined(__lzo_noreturn) -+# ifndef __lzo_HAVE_noreturn -+# define __lzo_HAVE_noreturn 1 -+# endif -+#else -+# define __lzo_noreturn /*empty*/ -+#endif -+#if !defined(__lzo_nothrow) -+#if (LZO_CC_GNUC >= 0x030300ul) -+# define __lzo_nothrow __attribute__((__nothrow__)) -+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) && defined(__cplusplus) -+# define __lzo_nothrow __declspec(nothrow) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 900)) -+# define __lzo_nothrow __attribute__((__nothrow__)) -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_nothrow __attribute__((__nothrow__)) -+#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus) -+# define __lzo_nothrow __declspec(nothrow) -+#endif -+#endif -+#if defined(__lzo_nothrow) -+# ifndef __lzo_HAVE_nothrow -+# define __lzo_HAVE_nothrow 1 -+# endif -+#else -+# define __lzo_nothrow /*empty*/ -+#endif -+#if !defined(__lzo_restrict) -+#if (LZO_CC_GNUC >= 0x030400ul) -+# define __lzo_restrict __restrict__ -+#elif (LZO_CC_IBMC >= 800) && !defined(__cplusplus) -+# define __lzo_restrict __restrict__ -+#elif (LZO_CC_IBMC >= 1210) -+# define __lzo_restrict __restrict__ -+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600)) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600)) -+# define __lzo_restrict __restrict__ -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM) -+# define __lzo_restrict __restrict__ -+#elif (LZO_CC_MSC && (_MSC_VER >= 1400)) -+# define __lzo_restrict __restrict -+#elif (LZO_CC_PGI >= 0x0d0a00ul) -+# define __lzo_restrict __restrict__ -+#endif -+#endif -+#if defined(__lzo_restrict) -+# ifndef __lzo_HAVE_restrict -+# define __lzo_HAVE_restrict 1 -+# endif -+#else -+# define __lzo_restrict /*empty*/ -+#endif -+#if !defined(__lzo_alignof) -+#if (LZO_CC_ARMCC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) -+# define __lzo_alignof(e) __alignof__(e) -+#elif (LZO_CC_GHS) && !defined(__cplusplus) -+# define __lzo_alignof(e) __alignof__(e) -+#elif (LZO_CC_IBMC >= 600) -+# define __lzo_alignof(e) (__lzo_gnuc_extension__ __alignof__(e)) -+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700)) -+# define __lzo_alignof(e) __alignof__(e) -+#elif (LZO_CC_MSC && (_MSC_VER >= 1300)) -+# define __lzo_alignof(e) __alignof(e) -+#elif (LZO_CC_SUNPROC >= 0x5100) -+# define __lzo_alignof(e) __alignof__(e) -+#endif -+#endif -+#if defined(__lzo_alignof) -+# ifndef __lzo_HAVE_alignof -+# define __lzo_HAVE_alignof 1 -+# endif -+#endif -+#if !defined(__lzo_struct_packed) -+#if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) -+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul)) -+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus) -+#elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul)) -+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus) -+#elif (LZO_CC_GNUC >= 0x030400ul) && !(LZO_CC_PCC_GNUC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) -+# define __lzo_struct_packed(s) struct s { -+# define __lzo_struct_packed_end() } __attribute__((__gcc_struct__,__packed__)); -+# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__gcc_struct__,__packed__)); -+#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || (LZO_CC_PGI >= 0x0d0a00ul) || (LZO_CC_SUNPROC >= 0x5100)) -+# define __lzo_struct_packed(s) struct s { -+# define __lzo_struct_packed_end() } __attribute__((__packed__)); -+# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packed__)); -+#elif (LZO_CC_IBMC >= 700) -+# define __lzo_struct_packed(s) __lzo_gnuc_extension__ struct s { -+# define __lzo_struct_packed_end() } __attribute__((__packed__)); -+# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packed__)); -+#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) -+# define __lzo_struct_packed(s) __pragma(pack(push,1)) struct s { -+# define __lzo_struct_packed_end() } __pragma(pack(pop)); -+#elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900)) -+# define __lzo_struct_packed(s) _Packed struct s { -+# define __lzo_struct_packed_end() }; -+#endif -+#endif -+#if defined(__lzo_struct_packed) && !defined(__lzo_struct_packed_ma) -+# define __lzo_struct_packed_ma(s) __lzo_struct_packed(s) -+#endif -+#if defined(__lzo_struct_packed_end) && !defined(__lzo_struct_packed_ma_end) -+# define __lzo_struct_packed_ma_end() __lzo_struct_packed_end() -+#endif -+#if !defined(__lzo_byte_struct) -+#if defined(__lzo_struct_packed) -+# define __lzo_byte_struct(s,n) __lzo_struct_packed(s) unsigned char a[n]; __lzo_struct_packed_end() -+# define __lzo_byte_struct_ma(s,n) __lzo_struct_packed_ma(s) unsigned char a[n]; __lzo_struct_packed_ma_end() -+#elif (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_PGI || (LZO_CC_SUNPROC >= 0x5100)) -+# define __lzo_byte_struct(s,n) struct s { unsigned char a[n]; } __attribute__((__packed__)); -+# define __lzo_byte_struct_ma(s,n) struct s { unsigned char a[n]; } __lzo_may_alias __attribute__((__packed__)); -+#endif -+#endif -+#if defined(__lzo_byte_struct) && !defined(__lzo_byte_struct_ma) -+# define __lzo_byte_struct_ma(s,n) __lzo_byte_struct(s,n) -+#endif -+#if !defined(__lzo_struct_align16) && (__lzo_HAVE_alignof) -+#if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x030000ul)) -+#elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) -+#elif (LZO_CC_CILLY || LZO_CC_PCC) -+#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) -+# define __lzo_struct_align16(s) struct __declspec(align(16)) s { -+# define __lzo_struct_align16_end() }; -+# define __lzo_struct_align32(s) struct __declspec(align(32)) s { -+# define __lzo_struct_align32_end() }; -+# define __lzo_struct_align64(s) struct __declspec(align(64)) s { -+# define __lzo_struct_align64_end() }; -+#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || (LZO_CC_IBMC >= 700) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_struct_align16(s) struct s { -+# define __lzo_struct_align16_end() } __attribute__((__aligned__(16))); -+# define __lzo_struct_align32(s) struct s { -+# define __lzo_struct_align32_end() } __attribute__((__aligned__(32))); -+# define __lzo_struct_align64(s) struct s { -+# define __lzo_struct_align64_end() } __attribute__((__aligned__(64))); -+#endif -+#endif -+#if !defined(__lzo_union_um) -+#if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) -+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul)) -+#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER < 810)) -+#elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul)) -+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus) -+#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || (LZO_CC_PGI >= 0x0d0a00ul) || (LZO_CC_SUNPROC >= 0x5100)) -+# define __lzo_union_am(s) union s { -+# define __lzo_union_am_end() } __lzo_may_alias; -+# define __lzo_union_um(s) union s { -+# define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packed__)); -+#elif (LZO_CC_IBMC >= 700) -+# define __lzo_union_am(s) __lzo_gnuc_extension__ union s { -+# define __lzo_union_am_end() } __lzo_may_alias; -+# define __lzo_union_um(s) __lzo_gnuc_extension__ union s { -+# define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packed__)); -+#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) -+# define __lzo_union_um(s) __pragma(pack(push,1)) union s { -+# define __lzo_union_um_end() } __pragma(pack(pop)); -+#elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900)) -+# define __lzo_union_um(s) _Packed union s { -+# define __lzo_union_um_end() }; -+#endif -+#endif -+#if !defined(__lzo_union_am) -+# define __lzo_union_am(s) union s { -+# define __lzo_union_am_end() }; -+#endif -+#if !defined(__lzo_constructor) -+#if (LZO_CC_GNUC >= 0x030400ul) -+# define __lzo_constructor __attribute__((__constructor__,__used__)) -+#elif (LZO_CC_GNUC >= 0x020700ul) -+# define __lzo_constructor __attribute__((__constructor__)) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) -+# define __lzo_constructor __attribute__((__constructor__,__used__)) -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_constructor __attribute__((__constructor__)) -+#endif -+#endif -+#if defined(__lzo_constructor) -+# ifndef __lzo_HAVE_constructor -+# define __lzo_HAVE_constructor 1 -+# endif -+#endif -+#if !defined(__lzo_destructor) -+#if (LZO_CC_GNUC >= 0x030400ul) -+# define __lzo_destructor __attribute__((__destructor__,__used__)) -+#elif (LZO_CC_GNUC >= 0x020700ul) -+# define __lzo_destructor __attribute__((__destructor__)) -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) -+# define __lzo_destructor __attribute__((__destructor__,__used__)) -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_destructor __attribute__((__destructor__)) -+#endif -+#endif -+#if defined(__lzo_destructor) -+# ifndef __lzo_HAVE_destructor -+# define __lzo_HAVE_destructor 1 -+# endif -+#endif -+#if (__lzo_HAVE_destructor) && !(__lzo_HAVE_constructor) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if !defined(__lzo_likely) && !defined(__lzo_unlikely) -+#if (LZO_CC_GNUC >= 0x030200ul) -+# define __lzo_likely(e) (__builtin_expect(!!(e),1)) -+# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) -+#elif (LZO_CC_IBMC >= 1010) -+# define __lzo_likely(e) (__builtin_expect(!!(e),1)) -+# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) -+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800)) -+# define __lzo_likely(e) (__builtin_expect(!!(e),1)) -+# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define __lzo_likely(e) (__builtin_expect(!!(e),1)) -+# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) -+#endif -+#endif -+#if defined(__lzo_likely) -+# ifndef __lzo_HAVE_likely -+# define __lzo_HAVE_likely 1 -+# endif -+#else -+# define __lzo_likely(e) (e) -+#endif -+#if defined(__lzo_unlikely) -+# ifndef __lzo_HAVE_unlikely -+# define __lzo_HAVE_unlikely 1 -+# endif -+#else -+# define __lzo_unlikely(e) (e) -+#endif -+#if !defined(__lzo_static_unused_void_func) -+# if 1 && (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) -+# define __lzo_static_unused_void_func(f) static void __attribute__((__unused__)) f(void) -+# else -+# define __lzo_static_unused_void_func(f) static __lzo_inline void f(void) -+# endif -+#endif -+#if !defined(__lzo_loop_forever) -+# if (LZO_CC_IBMC) -+# define __lzo_loop_forever() LZO_BLOCK_BEGIN for (;;) { ; } LZO_BLOCK_END -+# else -+# define __lzo_loop_forever() do { ; } while __lzo_cte(1) -+# endif -+#endif -+#if !defined(__lzo_unreachable) -+#if (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x020800ul)) -+# define __lzo_unreachable() __builtin_unreachable(); -+#elif (LZO_CC_GNUC >= 0x040500ul) -+# define __lzo_unreachable() __builtin_unreachable(); -+#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1300)) && 1 -+# define __lzo_unreachable() __builtin_unreachable(); -+#endif -+#endif -+#if defined(__lzo_unreachable) -+# ifndef __lzo_HAVE_unreachable -+# define __lzo_HAVE_unreachable 1 -+# endif -+#else -+# if 0 -+# define __lzo_unreachable() ((void)0); -+# else -+# define __lzo_unreachable() __lzo_loop_forever(); -+# endif -+#endif -+#ifndef __LZO_CTA_NAME -+#if (LZO_CFG_USE_COUNTER) -+# define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__COUNTER__) -+#else -+# define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__LINE__) -+#endif -+#endif -+#if !defined(LZO_COMPILE_TIME_ASSERT_HEADER) -+# if (LZO_CC_AZTECC || LZO_CC_ZORTECHC) -+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END -+# elif (LZO_CC_DMC || LZO_CC_SYMANTECC) -+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1u-2*!(e)]; LZO_EXTERN_C_END -+# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) -+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END -+# elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020900ul)) && defined(__cplusplus) -+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN int __LZO_CTA_NAME(lzo_cta_f__)(int [1-2*!(e)]); LZO_EXTERN_C_END -+# elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__) -+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN enum {__LZO_CTA_NAME(lzo_cta_e__)=1/!!(e)} __attribute__((__unused__)); LZO_EXTERN_C_END -+# else -+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-2*!(e)]; LZO_EXTERN_C_END -+# endif -+#endif -+#if !defined(LZO_COMPILE_TIME_ASSERT) -+# if (LZO_CC_AZTECC) -+# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-!(e)];} -+# elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) -+# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; -+# elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__) -+# define LZO_COMPILE_TIME_ASSERT(e) {(void) (0/!!(e));} -+# elif (LZO_CC_GNUC >= 0x040700ul) && (LZO_CFG_USE_COUNTER) && defined(__cplusplus) -+# define LZO_COMPILE_TIME_ASSERT(e) {enum {__LZO_CTA_NAME(lzo_cta_e__)=1/!!(e)} __attribute__((__unused__));} -+# elif (LZO_CC_GNUC >= 0x040700ul) -+# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)] __attribute__((__unused__));} -+# elif (LZO_CC_MSC && (_MSC_VER < 900)) -+# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; -+# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) -+# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; -+# else -+# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)];} -+# endif -+#endif -+LZO_COMPILE_TIME_ASSERT_HEADER(1 == 1) -+#if defined(__cplusplus) -+extern "C" { LZO_COMPILE_TIME_ASSERT_HEADER(2 == 2) } -+#endif -+LZO_COMPILE_TIME_ASSERT_HEADER(3 == 3) -+#if (LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64) -+# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC) -+# elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) -+# define __lzo_cdecl __cdecl -+# define __lzo_cdecl_atexit /*empty*/ -+# define __lzo_cdecl_main __cdecl -+# if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) -+# define __lzo_cdecl_qsort __pascal -+# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) -+# define __lzo_cdecl_qsort _stdcall -+# else -+# define __lzo_cdecl_qsort __cdecl -+# endif -+# elif (LZO_CC_WATCOMC) -+# define __lzo_cdecl __cdecl -+# else -+# define __lzo_cdecl __cdecl -+# define __lzo_cdecl_atexit __cdecl -+# define __lzo_cdecl_main __cdecl -+# define __lzo_cdecl_qsort __cdecl -+# endif -+# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC) -+# elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) -+# define __lzo_cdecl_sighandler __pascal -+# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) -+# define __lzo_cdecl_sighandler _stdcall -+# elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE) -+# define __lzo_cdecl_sighandler __clrcall -+# elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700)) -+# if defined(_DLL) -+# define __lzo_cdecl_sighandler _far _cdecl _loadds -+# elif defined(_MT) -+# define __lzo_cdecl_sighandler _far _cdecl -+# else -+# define __lzo_cdecl_sighandler _cdecl -+# endif -+# else -+# define __lzo_cdecl_sighandler __cdecl -+# endif -+#elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC) -+# define __lzo_cdecl __cdecl -+#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC)) -+# define __lzo_cdecl cdecl -+#endif -+#if !defined(__lzo_cdecl) -+# define __lzo_cdecl /*empty*/ -+#endif -+#if !defined(__lzo_cdecl_atexit) -+# define __lzo_cdecl_atexit /*empty*/ -+#endif -+#if !defined(__lzo_cdecl_main) -+# define __lzo_cdecl_main /*empty*/ -+#endif -+#if !defined(__lzo_cdecl_qsort) -+# define __lzo_cdecl_qsort /*empty*/ -+#endif -+#if !defined(__lzo_cdecl_sighandler) -+# define __lzo_cdecl_sighandler /*empty*/ -+#endif -+#if !defined(__lzo_cdecl_va) -+# define __lzo_cdecl_va __lzo_cdecl -+#endif -+#if !(LZO_CFG_NO_WINDOWS_H) -+#if !defined(LZO_HAVE_WINDOWS_H) -+#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64) -+# if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000)) -+# elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__) -+# elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul))) -+# else -+# define LZO_HAVE_WINDOWS_H 1 -+# endif -+#endif -+#endif -+#endif -+#ifndef LZO_SIZEOF_SHORT -+#if defined(SIZEOF_SHORT) -+# define LZO_SIZEOF_SHORT (SIZEOF_SHORT) -+#elif defined(__SIZEOF_SHORT__) -+# define LZO_SIZEOF_SHORT (__SIZEOF_SHORT__) -+#endif -+#endif -+#ifndef LZO_SIZEOF_INT -+#if defined(SIZEOF_INT) -+# define LZO_SIZEOF_INT (SIZEOF_INT) -+#elif defined(__SIZEOF_INT__) -+# define LZO_SIZEOF_INT (__SIZEOF_INT__) -+#endif -+#endif -+#ifndef LZO_SIZEOF_LONG -+#if defined(SIZEOF_LONG) -+# define LZO_SIZEOF_LONG (SIZEOF_LONG) -+#elif defined(__SIZEOF_LONG__) -+# define LZO_SIZEOF_LONG (__SIZEOF_LONG__) -+#endif -+#endif -+#ifndef LZO_SIZEOF_LONG_LONG -+#if defined(SIZEOF_LONG_LONG) -+# define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG) -+#elif defined(__SIZEOF_LONG_LONG__) -+# define LZO_SIZEOF_LONG_LONG (__SIZEOF_LONG_LONG__) -+#endif -+#endif -+#ifndef LZO_SIZEOF___INT16 -+#if defined(SIZEOF___INT16) -+# define LZO_SIZEOF___INT16 (SIZEOF___INT16) -+#endif -+#endif -+#ifndef LZO_SIZEOF___INT32 -+#if defined(SIZEOF___INT32) -+# define LZO_SIZEOF___INT32 (SIZEOF___INT32) -+#endif -+#endif -+#ifndef LZO_SIZEOF___INT64 -+#if defined(SIZEOF___INT64) -+# define LZO_SIZEOF___INT64 (SIZEOF___INT64) -+#endif -+#endif -+#ifndef LZO_SIZEOF_VOID_P -+#if defined(SIZEOF_VOID_P) -+# define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P) -+#elif defined(__SIZEOF_POINTER__) -+# define LZO_SIZEOF_VOID_P (__SIZEOF_POINTER__) -+#endif -+#endif -+#ifndef LZO_SIZEOF_SIZE_T -+#if defined(SIZEOF_SIZE_T) -+# define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T) -+#elif defined(__SIZEOF_SIZE_T__) -+# define LZO_SIZEOF_SIZE_T (__SIZEOF_SIZE_T__) -+#endif -+#endif -+#ifndef LZO_SIZEOF_PTRDIFF_T -+#if defined(SIZEOF_PTRDIFF_T) -+# define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T) -+#elif defined(__SIZEOF_PTRDIFF_T__) -+# define LZO_SIZEOF_PTRDIFF_T (__SIZEOF_PTRDIFF_T__) -+#endif -+#endif -+#define __LZO_LSR(x,b) (((x)+0ul) >> (b)) -+#if !defined(LZO_SIZEOF_SHORT) -+# if (LZO_ARCH_CRAY_PVP) -+# define LZO_SIZEOF_SHORT 8 -+# elif (USHRT_MAX == LZO_0xffffL) -+# define LZO_SIZEOF_SHORT 2 -+# elif (__LZO_LSR(USHRT_MAX,7) == 1) -+# define LZO_SIZEOF_SHORT 1 -+# elif (__LZO_LSR(USHRT_MAX,15) == 1) -+# define LZO_SIZEOF_SHORT 2 -+# elif (__LZO_LSR(USHRT_MAX,31) == 1) -+# define LZO_SIZEOF_SHORT 4 -+# elif (__LZO_LSR(USHRT_MAX,63) == 1) -+# define LZO_SIZEOF_SHORT 8 -+# elif (__LZO_LSR(USHRT_MAX,127) == 1) -+# define LZO_SIZEOF_SHORT 16 -+# else -+# error "LZO_SIZEOF_SHORT" -+# endif -+#endif -+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_SHORT == sizeof(short)) -+#if !defined(LZO_SIZEOF_INT) -+# if (LZO_ARCH_CRAY_PVP) -+# define LZO_SIZEOF_INT 8 -+# elif (UINT_MAX == LZO_0xffffL) -+# define LZO_SIZEOF_INT 2 -+# elif (UINT_MAX == LZO_0xffffffffL) -+# define LZO_SIZEOF_INT 4 -+# elif (__LZO_LSR(UINT_MAX,7) == 1) -+# define LZO_SIZEOF_INT 1 -+# elif (__LZO_LSR(UINT_MAX,15) == 1) -+# define LZO_SIZEOF_INT 2 -+# elif (__LZO_LSR(UINT_MAX,31) == 1) -+# define LZO_SIZEOF_INT 4 -+# elif (__LZO_LSR(UINT_MAX,63) == 1) -+# define LZO_SIZEOF_INT 8 -+# elif (__LZO_LSR(UINT_MAX,127) == 1) -+# define LZO_SIZEOF_INT 16 -+# else -+# error "LZO_SIZEOF_INT" -+# endif -+#endif -+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_INT == sizeof(int)) -+#if !defined(LZO_SIZEOF_LONG) -+# if (ULONG_MAX == LZO_0xffffffffL) -+# define LZO_SIZEOF_LONG 4 -+# elif (__LZO_LSR(ULONG_MAX,7) == 1) -+# define LZO_SIZEOF_LONG 1 -+# elif (__LZO_LSR(ULONG_MAX,15) == 1) -+# define LZO_SIZEOF_LONG 2 -+# elif (__LZO_LSR(ULONG_MAX,31) == 1) -+# define LZO_SIZEOF_LONG 4 -+# elif (__LZO_LSR(ULONG_MAX,39) == 1) -+# define LZO_SIZEOF_LONG 5 -+# elif (__LZO_LSR(ULONG_MAX,63) == 1) -+# define LZO_SIZEOF_LONG 8 -+# elif (__LZO_LSR(ULONG_MAX,127) == 1) -+# define LZO_SIZEOF_LONG 16 -+# else -+# error "LZO_SIZEOF_LONG" -+# endif -+#endif -+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_LONG == sizeof(long)) -+#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) -+#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) -+# if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__) -+# if (LZO_CC_GNUC >= 0x030300ul) -+# if ((__LONG_MAX__-0) == (__LONG_LONG_MAX__-0)) -+# define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG -+# elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1) -+# define LZO_SIZEOF_LONG_LONG 4 -+# endif -+# endif -+# endif -+#endif -+#endif -+#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) -+#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) -+#if (LZO_ARCH_I086 && LZO_CC_DMC) -+#elif (LZO_CC_CILLY) && defined(__GNUC__) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400)) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_OS_WIN64 || defined(_WIN64)) -+# define LZO_SIZEOF___INT64 8 -+#elif (LZO_ARCH_I386 && (LZO_CC_DMC)) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700))) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__))) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC)) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC)) -+# define LZO_SIZEOF___INT64 8 -+#elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC)) -+# define LZO_SIZEOF___INT64 8 -+#elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520))) -+# define LZO_SIZEOF___INT64 8 -+#elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100))) -+# define LZO_SIZEOF___INT64 8 -+#elif (LZO_CC_GHS && defined(__LLONG_BIT) && ((__LLONG_BIT-0) == 64)) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && ((_INTEGRAL_MAX_BITS-0) == 64)) -+# define LZO_SIZEOF___INT64 8 -+#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (defined(__vms) || defined(__VMS)) && ((__INITIAL_POINTER_SIZE-0) == 64) -+# define LZO_SIZEOF_LONG_LONG 8 -+#elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2) -+#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) -+# define LZO_SIZEOF_LONG_LONG 8 -+#endif -+#endif -+#endif -+#if defined(__cplusplus) && (LZO_CC_GNUC) -+# if (LZO_CC_GNUC < 0x020800ul) -+# undef LZO_SIZEOF_LONG_LONG -+# endif -+#endif -+#if (LZO_CFG_NO_LONG_LONG) -+# undef LZO_SIZEOF_LONG_LONG -+#elif defined(__NO_LONG_LONG) -+# undef LZO_SIZEOF_LONG_LONG -+#elif defined(_NO_LONGLONG) -+# undef LZO_SIZEOF_LONG_LONG -+#endif -+#if !defined(LZO_WORDSIZE) -+#if (LZO_ARCH_ALPHA) -+# define LZO_WORDSIZE 8 -+#elif (LZO_ARCH_AMD64) -+# define LZO_WORDSIZE 8 -+#elif (LZO_ARCH_AVR) -+# define LZO_WORDSIZE 1 -+#elif (LZO_ARCH_H8300) -+# if defined(__NORMAL_MODE__) -+# define LZO_WORDSIZE 4 -+# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) -+# define LZO_WORDSIZE 4 -+# else -+# define LZO_WORDSIZE 2 -+# endif -+#elif (LZO_ARCH_I086) -+# define LZO_WORDSIZE 2 -+#elif (LZO_ARCH_IA64) -+# define LZO_WORDSIZE 8 -+#elif (LZO_ARCH_M16C) -+# define LZO_WORDSIZE 2 -+#elif (LZO_ARCH_SPU) -+# define LZO_WORDSIZE 4 -+#elif (LZO_ARCH_Z80) -+# define LZO_WORDSIZE 1 -+#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) -+# define LZO_WORDSIZE 8 -+#elif (LZO_OS_OS400 || defined(__OS400__)) -+# define LZO_WORDSIZE 8 -+#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) -+# define LZO_WORDSIZE 8 -+#endif -+#endif -+#if !defined(LZO_SIZEOF_VOID_P) -+#if defined(__ILP32__) || defined(__ILP32) || defined(_ILP32) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) == 4) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4) -+# define LZO_SIZEOF_VOID_P 4 -+#elif defined(__ILP64__) || defined(__ILP64) || defined(_ILP64) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) == 8) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8) -+# define LZO_SIZEOF_VOID_P 8 -+#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4) -+# define LZO_SIZEOF_VOID_P 8 -+#elif defined(__LP64__) || defined(__LP64) || defined(_LP64) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8) -+# define LZO_SIZEOF_VOID_P 8 -+#elif (LZO_ARCH_AVR) -+# define LZO_SIZEOF_VOID_P 2 -+#elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430) -+# define LZO_SIZEOF_VOID_P 2 -+#elif (LZO_ARCH_H8300) -+# if defined(__NORMAL_MODE__) -+# define LZO_SIZEOF_VOID_P 2 -+# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) -+# define LZO_SIZEOF_VOID_P 4 -+# else -+# define LZO_SIZEOF_VOID_P 2 -+# endif -+# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4) -+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT -+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT -+# endif -+#elif (LZO_ARCH_I086) -+# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM) -+# define LZO_SIZEOF_VOID_P 2 -+# elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE) -+# define LZO_SIZEOF_VOID_P 4 -+# else -+# error "invalid LZO_ARCH_I086 memory model" -+# endif -+#elif (LZO_ARCH_M16C) -+# if defined(__m32c_cpu__) || defined(__m32cm_cpu__) -+# define LZO_SIZEOF_VOID_P 4 -+# else -+# define LZO_SIZEOF_VOID_P 2 -+# endif -+#elif (LZO_ARCH_SPU) -+# define LZO_SIZEOF_VOID_P 4 -+#elif (LZO_ARCH_Z80) -+# define LZO_SIZEOF_VOID_P 2 -+#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) -+# define LZO_SIZEOF_VOID_P 4 -+#elif (LZO_OS_OS400 || defined(__OS400__)) -+# if defined(__LLP64_IFC__) -+# define LZO_SIZEOF_VOID_P 8 -+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG -+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG -+# else -+# define LZO_SIZEOF_VOID_P 16 -+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG -+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG -+# endif -+#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) -+# define LZO_SIZEOF_VOID_P 8 -+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG -+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG -+#endif -+#endif -+#if !defined(LZO_SIZEOF_VOID_P) -+# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG -+#endif -+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_VOID_P == sizeof(void *)) -+#if !defined(LZO_SIZEOF_SIZE_T) -+#if (LZO_ARCH_I086 || LZO_ARCH_M16C) -+# define LZO_SIZEOF_SIZE_T 2 -+#endif -+#endif -+#if !defined(LZO_SIZEOF_SIZE_T) -+# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P -+#endif -+#if defined(offsetof) -+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_SIZE_T == sizeof(size_t)) -+#endif -+#if !defined(LZO_SIZEOF_PTRDIFF_T) -+#if (LZO_ARCH_I086) -+# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE) -+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P -+# elif (LZO_MM_COMPACT || LZO_MM_LARGE) -+# if (LZO_CC_BORLANDC || LZO_CC_TURBOC) -+# define LZO_SIZEOF_PTRDIFF_T 4 -+# else -+# define LZO_SIZEOF_PTRDIFF_T 2 -+# endif -+# else -+# error "invalid LZO_ARCH_I086 memory model" -+# endif -+#endif -+#endif -+#if !defined(LZO_SIZEOF_PTRDIFF_T) -+# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T -+#endif -+#if defined(offsetof) -+LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t)) -+#endif -+#if !defined(LZO_WORDSIZE) -+# define LZO_WORDSIZE LZO_SIZEOF_VOID_P -+#endif -+#if (LZO_ABI_NEUTRAL_ENDIAN) -+# undef LZO_ABI_BIG_ENDIAN -+# undef LZO_ABI_LITTLE_ENDIAN -+#elif !(LZO_ABI_BIG_ENDIAN) && !(LZO_ABI_LITTLE_ENDIAN) -+#if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP) -+# define LZO_ABI_BIG_ENDIAN 1 -+#elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64) -+# define LZO_ABI_LITTLE_ENDIAN 1 -+#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430) -+# define LZO_ABI_LITTLE_ENDIAN 1 -+#elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390 || LZO_ARCH_SPU) -+# define LZO_ABI_BIG_ENDIAN 1 -+#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__) -+# if (__LITTLE_ENDIAN__ == 1) -+# define LZO_ABI_LITTLE_ENDIAN 1 -+# else -+# define LZO_ABI_BIG_ENDIAN 1 -+# endif -+#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) -+# define LZO_ABI_BIG_ENDIAN 1 -+#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) -+# define LZO_ABI_LITTLE_ENDIAN 1 -+#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__) -+# define LZO_ABI_BIG_ENDIAN 1 -+#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__) -+# define LZO_ABI_LITTLE_ENDIAN 1 -+#elif 1 && (LZO_ARCH_ARM && LZO_CC_ARMCC_ARMCC) -+# if defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN) -+# error "unexpected configuration - check your compiler defines" -+# elif defined(__BIG_ENDIAN) -+# define LZO_ABI_BIG_ENDIAN 1 -+# else -+# define LZO_ABI_LITTLE_ENDIAN 1 -+# endif -+# define LZO_ABI_LITTLE_ENDIAN 1 -+#elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EB__) && !defined(__AARCH64EL__) -+# define LZO_ABI_BIG_ENDIAN 1 -+#elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EL__) && !defined(__AARCH64EB__) -+# define LZO_ABI_LITTLE_ENDIAN 1 -+#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__) -+# define LZO_ABI_BIG_ENDIAN 1 -+#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__) -+# define LZO_ABI_LITTLE_ENDIAN 1 -+#endif -+#endif -+#if (LZO_ABI_BIG_ENDIAN) && (LZO_ABI_LITTLE_ENDIAN) -+# error "unexpected configuration - check your compiler defines" -+#endif -+#if (LZO_ABI_BIG_ENDIAN) -+# define LZO_INFO_ABI_ENDIAN "be" -+#elif (LZO_ABI_LITTLE_ENDIAN) -+# define LZO_INFO_ABI_ENDIAN "le" -+#elif (LZO_ABI_NEUTRAL_ENDIAN) -+# define LZO_INFO_ABI_ENDIAN "neutral" -+#endif -+#if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) -+# define LZO_ABI_I8LP16 1 -+# define LZO_INFO_ABI_PM "i8lp16" -+#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) -+# define LZO_ABI_ILP16 1 -+# define LZO_INFO_ABI_PM "ilp16" -+#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4) -+# define LZO_ABI_LP32 1 -+# define LZO_INFO_ABI_PM "lp32" -+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4) -+# define LZO_ABI_ILP32 1 -+# define LZO_INFO_ABI_PM "ilp32" -+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8) -+# define LZO_ABI_LLP64 1 -+# define LZO_INFO_ABI_PM "llp64" -+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) -+# define LZO_ABI_LP64 1 -+# define LZO_INFO_ABI_PM "lp64" -+#elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) -+# define LZO_ABI_ILP64 1 -+# define LZO_INFO_ABI_PM "ilp64" -+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4) -+# define LZO_ABI_IP32L64 1 -+# define LZO_INFO_ABI_PM "ip32l64" -+#endif -+#if 0 -+#elif !defined(__LZO_LIBC_OVERRIDE) -+#if (LZO_LIBC_NAKED) -+# define LZO_INFO_LIBC "naked" -+#elif (LZO_LIBC_FREESTANDING) -+# define LZO_INFO_LIBC "freestanding" -+#elif (LZO_LIBC_MOSTLY_FREESTANDING) -+# define LZO_INFO_LIBC "mfreestanding" -+#elif (LZO_LIBC_ISOC90) -+# define LZO_INFO_LIBC "isoc90" -+#elif (LZO_LIBC_ISOC99) -+# define LZO_INFO_LIBC "isoc99" -+#elif (LZO_CC_ARMCC_ARMCC) && defined(__ARMCLIB_VERSION) -+# define LZO_LIBC_ISOC90 1 -+# define LZO_INFO_LIBC "isoc90" -+#elif defined(__dietlibc__) -+# define LZO_LIBC_DIETLIBC 1 -+# define LZO_INFO_LIBC "dietlibc" -+#elif defined(_NEWLIB_VERSION) -+# define LZO_LIBC_NEWLIB 1 -+# define LZO_INFO_LIBC "newlib" -+#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__) -+# if defined(__UCLIBC_SUBLEVEL__) -+# define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + (__UCLIBC_MINOR__-0) * 0x100 + (__UCLIBC_SUBLEVEL__-0)) -+# else -+# define LZO_LIBC_UCLIBC 0x00090bL -+# endif -+# define LZO_INFO_LIBC "uc" "libc" -+#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__) -+# define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + (__GLIBC_MINOR__-0) * 0x100) -+# define LZO_INFO_LIBC "glibc" -+#elif (LZO_CC_MWERKS) && defined(__MSL__) -+# define LZO_LIBC_MSL __MSL__ -+# define LZO_INFO_LIBC "msl" -+#elif 1 && defined(__IAR_SYSTEMS_ICC__) -+# define LZO_LIBC_ISOC90 1 -+# define LZO_INFO_LIBC "isoc90" -+#else -+# define LZO_LIBC_DEFAULT 1 -+# define LZO_INFO_LIBC "default" -+#endif -+#endif -+#if (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) -+# define LZO_ASM_SYNTAX_MSC 1 -+#elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) -+#elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC == 0x011f00ul)) -+#elif (LZO_ARCH_I386 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) -+# define LZO_ASM_SYNTAX_GNUC 1 -+#elif (LZO_ARCH_AMD64 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) -+# define LZO_ASM_SYNTAX_GNUC 1 -+#elif (LZO_CC_GNUC) -+# define LZO_ASM_SYNTAX_GNUC 1 -+#endif -+#if (LZO_ASM_SYNTAX_GNUC) -+#if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul)) -+# define __LZO_ASM_CLOBBER "ax" -+# define __LZO_ASM_CLOBBER_LIST_CC /*empty*/ -+# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY /*empty*/ -+# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/ -+#elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1000)) -+# define __LZO_ASM_CLOBBER "memory" -+# define __LZO_ASM_CLOBBER_LIST_CC /*empty*/ -+# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "memory" -+# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/ -+#else -+# define __LZO_ASM_CLOBBER "cc", "memory" -+# define __LZO_ASM_CLOBBER_LIST_CC : "cc" -+# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "cc", "memory" -+# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/ -+#endif -+#endif -+#if (LZO_ARCH_ALPHA) -+# define LZO_OPT_AVOID_UINT_INDEX 1 -+#elif (LZO_ARCH_AMD64) -+# define LZO_OPT_AVOID_INT_INDEX 1 -+# define LZO_OPT_AVOID_UINT_INDEX 1 -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED64 -+# define LZO_OPT_UNALIGNED64 1 -+# endif -+#elif (LZO_ARCH_ARM) -+# if defined(__ARM_FEATURE_UNALIGNED) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# elif defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM+0) >= 7) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# elif defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM+0) >= 6) && !defined(__TARGET_PROFILE_M) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# endif -+#elif (LZO_ARCH_ARM64) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED64 -+# define LZO_OPT_UNALIGNED64 1 -+# endif -+#elif (LZO_ARCH_CRIS) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+#elif (LZO_ARCH_I386) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+#elif (LZO_ARCH_IA64) -+# define LZO_OPT_AVOID_INT_INDEX 1 -+# define LZO_OPT_AVOID_UINT_INDEX 1 -+# define LZO_OPT_PREFER_POSTINC 1 -+#elif (LZO_ARCH_M68K) -+# define LZO_OPT_PREFER_POSTINC 1 -+# define LZO_OPT_PREFER_PREDEC 1 -+# if defined(__mc68020__) && !defined(__mcoldfire__) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# endif -+#elif (LZO_ARCH_MIPS) -+# define LZO_OPT_AVOID_UINT_INDEX 1 -+#elif (LZO_ARCH_POWERPC) -+# define LZO_OPT_PREFER_PREINC 1 -+# define LZO_OPT_PREFER_PREDEC 1 -+# if (LZO_ABI_BIG_ENDIAN) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# if (LZO_WORDSIZE == 8) -+# ifndef LZO_OPT_UNALIGNED64 -+# define LZO_OPT_UNALIGNED64 1 -+# endif -+# endif -+# endif -+#elif (LZO_ARCH_S390) -+# ifndef LZO_OPT_UNALIGNED16 -+# define LZO_OPT_UNALIGNED16 1 -+# endif -+# ifndef LZO_OPT_UNALIGNED32 -+# define LZO_OPT_UNALIGNED32 1 -+# endif -+# if (LZO_WORDSIZE == 8) -+# ifndef LZO_OPT_UNALIGNED64 -+# define LZO_OPT_UNALIGNED64 1 -+# endif -+# endif -+#elif (LZO_ARCH_SH) -+# define LZO_OPT_PREFER_POSTINC 1 -+# define LZO_OPT_PREFER_PREDEC 1 -+#endif -+#ifndef LZO_CFG_NO_INLINE_ASM -+#if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC) -+# define LZO_CFG_NO_INLINE_ASM 1 -+#elif (LZO_CC_LLVM) -+# define LZO_CFG_NO_INLINE_ASM 1 -+#endif -+#endif -+#if (LZO_CFG_NO_INLINE_ASM) -+# undef LZO_ASM_SYNTAX_MSC -+# undef LZO_ASM_SYNTAX_GNUC -+# undef __LZO_ASM_CLOBBER -+# undef __LZO_ASM_CLOBBER_LIST_CC -+# undef __LZO_ASM_CLOBBER_LIST_CC_MEMORY -+# undef __LZO_ASM_CLOBBER_LIST_EMPTY -+#endif -+#ifndef LZO_CFG_NO_UNALIGNED -+#if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC) -+# define LZO_CFG_NO_UNALIGNED 1 -+#endif -+#endif -+#if (LZO_CFG_NO_UNALIGNED) -+# undef LZO_OPT_UNALIGNED16 -+# undef LZO_OPT_UNALIGNED32 -+# undef LZO_OPT_UNALIGNED64 -+#endif -+#if defined(__LZO_INFOSTR_MM) -+#elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM)) -+# define __LZO_INFOSTR_MM "" -+#elif defined(LZO_INFO_MM) -+# define __LZO_INFOSTR_MM "." LZO_INFO_MM -+#else -+# define __LZO_INFOSTR_MM "" -+#endif -+#if defined(__LZO_INFOSTR_PM) -+#elif defined(LZO_INFO_ABI_PM) -+# define __LZO_INFOSTR_PM "." LZO_INFO_ABI_PM -+#else -+# define __LZO_INFOSTR_PM "" -+#endif -+#if defined(__LZO_INFOSTR_ENDIAN) -+#elif defined(LZO_INFO_ABI_ENDIAN) -+# define __LZO_INFOSTR_ENDIAN "." LZO_INFO_ABI_ENDIAN -+#else -+# define __LZO_INFOSTR_ENDIAN "" -+#endif -+#if defined(__LZO_INFOSTR_OSNAME) -+#elif defined(LZO_INFO_OS_CONSOLE) -+# define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_CONSOLE -+#elif defined(LZO_INFO_OS_POSIX) -+# define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_POSIX -+#else -+# define __LZO_INFOSTR_OSNAME LZO_INFO_OS -+#endif -+#if defined(__LZO_INFOSTR_LIBC) -+#elif defined(LZO_INFO_LIBC) -+# define __LZO_INFOSTR_LIBC "." LZO_INFO_LIBC -+#else -+# define __LZO_INFOSTR_LIBC "" -+#endif -+#if defined(__LZO_INFOSTR_CCVER) -+#elif defined(LZO_INFO_CCVER) -+# define __LZO_INFOSTR_CCVER " " LZO_INFO_CCVER -+#else -+# define __LZO_INFOSTR_CCVER "" -+#endif -+#define LZO_INFO_STRING \ -+ LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \ -+ " " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER -+#if !(LZO_CFG_SKIP_LZO_TYPES) -+#if (!(LZO_SIZEOF_SHORT+0 > 0 && LZO_SIZEOF_INT+0 > 0 && LZO_SIZEOF_LONG+0 > 0)) -+# error "missing defines for sizes" -+#endif -+#if (!(LZO_SIZEOF_PTRDIFF_T+0 > 0 && LZO_SIZEOF_SIZE_T+0 > 0 && LZO_SIZEOF_VOID_P+0 > 0)) -+# error "missing defines for sizes" -+#endif -+#if !defined(lzo_llong_t) -+#if (LZO_SIZEOF_LONG_LONG+0 > 0) -+__lzo_gnuc_extension__ typedef long long lzo_llong_t__; -+__lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__; -+# define lzo_llong_t lzo_llong_t__ -+# define lzo_ullong_t lzo_ullong_t__ -+#endif -+#endif -+#if !defined(lzo_int16e_t) -+#if (LZO_SIZEOF_LONG == 2) -+# define lzo_int16e_t long -+# define lzo_uint16e_t unsigned long -+#elif (LZO_SIZEOF_INT == 2) -+# define lzo_int16e_t int -+# define lzo_uint16e_t unsigned int -+#elif (LZO_SIZEOF_SHORT == 2) -+# define lzo_int16e_t short int -+# define lzo_uint16e_t unsigned short int -+#elif 1 && !(LZO_CFG_TYPE_NO_MODE_HI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM) -+ typedef int lzo_int16e_hi_t__ __attribute__((__mode__(__HI__))); -+ typedef unsigned int lzo_uint16e_hi_t__ __attribute__((__mode__(__HI__))); -+# define lzo_int16e_t lzo_int16e_hi_t__ -+# define lzo_uint16e_t lzo_uint16e_hi_t__ -+#elif (LZO_SIZEOF___INT16 == 2) -+# define lzo_int16e_t __int16 -+# define lzo_uint16e_t unsigned __int16 -+#else -+#endif -+#endif -+#if defined(lzo_int16e_t) -+# define LZO_SIZEOF_LZO_INT16E_T 2 -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == 2) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == LZO_SIZEOF_LZO_INT16E_T) -+#endif -+#if !defined(lzo_int32e_t) -+#if (LZO_SIZEOF_LONG == 4) -+# define lzo_int32e_t long int -+# define lzo_uint32e_t unsigned long int -+#elif (LZO_SIZEOF_INT == 4) -+# define lzo_int32e_t int -+# define lzo_uint32e_t unsigned int -+#elif (LZO_SIZEOF_SHORT == 4) -+# define lzo_int32e_t short int -+# define lzo_uint32e_t unsigned short int -+#elif (LZO_SIZEOF_LONG_LONG == 4) -+# define lzo_int32e_t lzo_llong_t -+# define lzo_uint32e_t lzo_ullong_t -+#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM) && (__INT_MAX__+0 > 2147483647L) -+ typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__))); -+ typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__))); -+# define lzo_int32e_t lzo_int32e_si_t__ -+# define lzo_uint32e_t lzo_uint32e_si_t__ -+#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L) -+ typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__))); -+ typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__))); -+# define lzo_int32e_t lzo_int32e_si_t__ -+# define lzo_uint32e_t lzo_uint32e_si_t__ -+# define LZO_INT32_C(c) (c##LL) -+# define LZO_UINT32_C(c) (c##ULL) -+#elif (LZO_SIZEOF___INT32 == 4) -+# define lzo_int32e_t __int32 -+# define lzo_uint32e_t unsigned __int32 -+#else -+#endif -+#endif -+#if defined(lzo_int32e_t) -+# define LZO_SIZEOF_LZO_INT32E_T 4 -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32e_t) == 4) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32e_t) == LZO_SIZEOF_LZO_INT32E_T) -+#endif -+#if !defined(lzo_int64e_t) -+#if (LZO_SIZEOF___INT64 == 8) -+# if (LZO_CC_BORLANDC) && !(LZO_CFG_TYPE_PREFER___INT64) -+# define LZO_CFG_TYPE_PREFER___INT64 1 -+# endif -+#endif -+#if (LZO_SIZEOF_INT == 8) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) -+# define lzo_int64e_t int -+# define lzo_uint64e_t unsigned int -+# define LZO_SIZEOF_LZO_INT64E_T LZO_SIZEOF_INT -+#elif (LZO_SIZEOF_LONG == 8) -+# define lzo_int64e_t long int -+# define lzo_uint64e_t unsigned long int -+# define LZO_SIZEOF_LZO_INT64E_T LZO_SIZEOF_LONG -+#elif (LZO_SIZEOF_LONG_LONG == 8) && !(LZO_CFG_TYPE_PREFER___INT64) -+# define lzo_int64e_t lzo_llong_t -+# define lzo_uint64e_t lzo_ullong_t -+# if (LZO_CC_BORLANDC) -+# define LZO_INT64_C(c) ((c) + 0ll) -+# define LZO_UINT64_C(c) ((c) + 0ull) -+# elif 0 -+# define LZO_INT64_C(c) (__lzo_gnuc_extension__ (c##LL)) -+# define LZO_UINT64_C(c) (__lzo_gnuc_extension__ (c##ULL)) -+# else -+# define LZO_INT64_C(c) (c##LL) -+# define LZO_UINT64_C(c) (c##ULL) -+# endif -+# define LZO_SIZEOF_LZO_INT64E_T LZO_SIZEOF_LONG_LONG -+#elif (LZO_SIZEOF___INT64 == 8) -+# define lzo_int64e_t __int64 -+# define lzo_uint64e_t unsigned __int64 -+# if (LZO_CC_BORLANDC) -+# define LZO_INT64_C(c) ((c) + 0i64) -+# define LZO_UINT64_C(c) ((c) + 0ui64) -+# else -+# define LZO_INT64_C(c) (c##i64) -+# define LZO_UINT64_C(c) (c##ui64) -+# endif -+# define LZO_SIZEOF_LZO_INT64E_T LZO_SIZEOF___INT64 -+#else -+#endif -+#endif -+#if defined(lzo_int64e_t) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64e_t) == 8) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64e_t) == LZO_SIZEOF_LZO_INT64E_T) -+#endif -+#if !defined(lzo_int32l_t) -+#if defined(lzo_int32e_t) -+# define lzo_int32l_t lzo_int32e_t -+# define lzo_uint32l_t lzo_uint32e_t -+# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LZO_INT32E_T -+#elif (LZO_SIZEOF_INT >= 4) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) -+# define lzo_int32l_t int -+# define lzo_uint32l_t unsigned int -+# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_INT -+#elif (LZO_SIZEOF_LONG >= 4) -+# define lzo_int32l_t long int -+# define lzo_uint32l_t unsigned long int -+# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LONG -+#else -+# error "lzo_int32l_t" -+#endif -+#endif -+#if 1 -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32l_t) >= 4) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32l_t) == LZO_SIZEOF_LZO_INT32L_T) -+#endif -+#if !defined(lzo_int64l_t) -+#if defined(lzo_int64e_t) -+# define lzo_int64l_t lzo_int64e_t -+# define lzo_uint64l_t lzo_uint64e_t -+# define LZO_SIZEOF_LZO_INT64L_T LZO_SIZEOF_LZO_INT64E_T -+#else -+#endif -+#endif -+#if defined(lzo_int64l_t) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64l_t) >= 8) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64l_t) == LZO_SIZEOF_LZO_INT64L_T) -+#endif -+#if !defined(lzo_int32f_t) -+#if (LZO_SIZEOF_SIZE_T >= 8) -+# define lzo_int32f_t lzo_int64l_t -+# define lzo_uint32f_t lzo_uint64l_t -+# define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT64L_T -+#else -+# define lzo_int32f_t lzo_int32l_t -+# define lzo_uint32f_t lzo_uint32l_t -+# define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT32L_T -+#endif -+#endif -+#if 1 -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32f_t) >= 4) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32f_t) == LZO_SIZEOF_LZO_INT32F_T) -+#endif -+#if !defined(lzo_int64f_t) -+#if defined(lzo_int64l_t) -+# define lzo_int64f_t lzo_int64l_t -+# define lzo_uint64f_t lzo_uint64l_t -+# define LZO_SIZEOF_LZO_INT64F_T LZO_SIZEOF_LZO_INT64L_T -+#else -+#endif -+#endif -+#if defined(lzo_int64f_t) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64f_t) >= 8) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64f_t) == LZO_SIZEOF_LZO_INT64F_T) -+#endif -+#if !defined(lzo_intptr_t) -+#if 1 && (LZO_OS_OS400 && (LZO_SIZEOF_VOID_P == 16)) -+# define __LZO_INTPTR_T_IS_POINTER 1 -+ typedef char* lzo_intptr_t; -+ typedef char* lzo_uintptr_t; -+# define lzo_intptr_t lzo_intptr_t -+# define lzo_uintptr_t lzo_uintptr_t -+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_VOID_P -+#elif (LZO_CC_MSC && (_MSC_VER >= 1300) && (LZO_SIZEOF_VOID_P == 4) && (LZO_SIZEOF_INT == 4)) -+ typedef __w64 int lzo_intptr_t; -+ typedef __w64 unsigned int lzo_uintptr_t; -+# define lzo_intptr_t lzo_intptr_t -+# define lzo_uintptr_t lzo_uintptr_t -+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT -+#elif (LZO_SIZEOF_SHORT == LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT > LZO_SIZEOF_VOID_P) -+# define lzo_intptr_t short -+# define lzo_uintptr_t unsigned short -+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_SHORT -+#elif (LZO_SIZEOF_INT >= LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) -+# define lzo_intptr_t int -+# define lzo_uintptr_t unsigned int -+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT -+#elif (LZO_SIZEOF_LONG >= LZO_SIZEOF_VOID_P) -+# define lzo_intptr_t long -+# define lzo_uintptr_t unsigned long -+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LONG -+#elif (LZO_SIZEOF_LZO_INT64L_T >= LZO_SIZEOF_VOID_P) -+# define lzo_intptr_t lzo_int64l_t -+# define lzo_uintptr_t lzo_uint64l_t -+# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LZO_INT64L_T -+#else -+# error "lzo_intptr_t" -+#endif -+#endif -+#if 1 -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_intptr_t) >= sizeof(void *)) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_intptr_t) == sizeof(lzo_uintptr_t)) -+#endif -+#if !defined(lzo_word_t) -+#if defined(LZO_WORDSIZE) && (LZO_WORDSIZE+0 > 0) -+#if (LZO_WORDSIZE == LZO_SIZEOF_LZO_INTPTR_T) && !(__LZO_INTPTR_T_IS_POINTER) -+# define lzo_word_t lzo_uintptr_t -+# define lzo_sword_t lzo_intptr_t -+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INTPTR_T -+#elif (LZO_WORDSIZE == LZO_SIZEOF_LONG) -+# define lzo_word_t unsigned long -+# define lzo_sword_t long -+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LONG -+#elif (LZO_WORDSIZE == LZO_SIZEOF_INT) -+# define lzo_word_t unsigned int -+# define lzo_sword_t int -+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_INT -+#elif (LZO_WORDSIZE == LZO_SIZEOF_SHORT) -+# define lzo_word_t unsigned short -+# define lzo_sword_t short -+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_SHORT -+#elif (LZO_WORDSIZE == 1) -+# define lzo_word_t unsigned char -+# define lzo_sword_t signed char -+# define LZO_SIZEOF_LZO_WORD_T 1 -+#elif (LZO_WORDSIZE == LZO_SIZEOF_LZO_INT64L_T) -+# define lzo_word_t lzo_uint64l_t -+# define lzo_sword_t lzo_int64l_t -+# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T -+#elif (LZO_ARCH_SPU) && (LZO_CC_GNUC) -+#if 0 -+ typedef unsigned lzo_word_t __attribute__((__mode__(__V16QI__))); -+ typedef int lzo_sword_t __attribute__((__mode__(__V16QI__))); -+# define lzo_word_t lzo_word_t -+# define lzo_sword_t lzo_sword_t -+# define LZO_SIZEOF_LZO_WORD_T 16 -+#endif -+#else -+# error "lzo_word_t" -+#endif -+#endif -+#endif -+#if 1 && defined(lzo_word_t) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_word_t) == LZO_WORDSIZE) -+ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_sword_t) == LZO_WORDSIZE) -+#endif -+#if 1 -+#define lzo_int8_t signed char -+#define lzo_uint8_t unsigned char -+#define LZO_SIZEOF_LZO_INT8_T 1 -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == 1) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == sizeof(lzo_uint8_t)) -+#endif -+#if defined(lzo_int16e_t) -+#define lzo_int16_t lzo_int16e_t -+#define lzo_uint16_t lzo_uint16e_t -+#define LZO_SIZEOF_LZO_INT16_T LZO_SIZEOF_LZO_INT16E_T -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == 2) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == sizeof(lzo_uint16_t)) -+#endif -+#if defined(lzo_int32e_t) -+#define lzo_int32_t lzo_int32e_t -+#define lzo_uint32_t lzo_uint32e_t -+#define LZO_SIZEOF_LZO_INT32_T LZO_SIZEOF_LZO_INT32E_T -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == 4) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == sizeof(lzo_uint32_t)) -+#endif -+#if defined(lzo_int64e_t) -+#define lzo_int64_t lzo_int64e_t -+#define lzo_uint64_t lzo_uint64e_t -+#define LZO_SIZEOF_LZO_INT64_T LZO_SIZEOF_LZO_INT64E_T -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == 8) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == sizeof(lzo_uint64_t)) -+#endif -+#if 1 -+#define lzo_int_least32_t lzo_int32l_t -+#define lzo_uint_least32_t lzo_uint32l_t -+#define LZO_SIZEOF_LZO_INT_LEAST32_T LZO_SIZEOF_LZO_INT32L_T -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least32_t) >= 4) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least32_t) == sizeof(lzo_uint_least32_t)) -+#endif -+#if defined(lzo_int64l_t) -+#define lzo_int_least64_t lzo_int64l_t -+#define lzo_uint_least64_t lzo_uint64l_t -+#define LZO_SIZEOF_LZO_INT_LEAST64_T LZO_SIZEOF_LZO_INT64L_T -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least64_t) >= 8) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least64_t) == sizeof(lzo_uint_least64_t)) -+#endif -+#if 1 -+#define lzo_int_fast32_t lzo_int32f_t -+#define lzo_uint_fast32_t lzo_uint32f_t -+#define LZO_SIZEOF_LZO_INT_FAST32_T LZO_SIZEOF_LZO_INT32F_T -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast32_t) >= 4) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast32_t) == sizeof(lzo_uint_fast32_t)) -+#endif -+#if defined(lzo_int64f_t) -+#define lzo_int_fast64_t lzo_int64f_t -+#define lzo_uint_fast64_t lzo_uint64f_t -+#define LZO_SIZEOF_LZO_INT_FAST64_T LZO_SIZEOF_LZO_INT64F_T -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) >= 8) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) == sizeof(lzo_uint_fast64_t)) -+#endif -+#if !defined(LZO_INT16_C) -+# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 2) -+# define LZO_INT16_C(c) ((c) + 0) -+# define LZO_UINT16_C(c) ((c) + 0U) -+# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 2) -+# define LZO_INT16_C(c) ((c) + 0L) -+# define LZO_UINT16_C(c) ((c) + 0UL) -+# elif (LZO_SIZEOF_INT >= 2) -+# define LZO_INT16_C(c) (c) -+# define LZO_UINT16_C(c) (c##U) -+# elif (LZO_SIZEOF_LONG >= 2) -+# define LZO_INT16_C(c) (c##L) -+# define LZO_UINT16_C(c) (c##UL) -+# else -+# error "LZO_INT16_C" -+# endif -+#endif -+#if !defined(LZO_INT32_C) -+# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 4) -+# define LZO_INT32_C(c) ((c) + 0) -+# define LZO_UINT32_C(c) ((c) + 0U) -+# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 4) -+# define LZO_INT32_C(c) ((c) + 0L) -+# define LZO_UINT32_C(c) ((c) + 0UL) -+# elif (LZO_SIZEOF_INT >= 4) -+# define LZO_INT32_C(c) (c) -+# define LZO_UINT32_C(c) (c##U) -+# elif (LZO_SIZEOF_LONG >= 4) -+# define LZO_INT32_C(c) (c##L) -+# define LZO_UINT32_C(c) (c##UL) -+# elif (LZO_SIZEOF_LONG_LONG >= 4) -+# define LZO_INT32_C(c) (c##LL) -+# define LZO_UINT32_C(c) (c##ULL) -+# else -+# error "LZO_INT32_C" -+# endif -+#endif -+#if !defined(LZO_INT64_C) && defined(lzo_int64l_t) -+# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 8) -+# define LZO_INT64_C(c) ((c) + 0) -+# define LZO_UINT64_C(c) ((c) + 0U) -+# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 8) -+# define LZO_INT64_C(c) ((c) + 0L) -+# define LZO_UINT64_C(c) ((c) + 0UL) -+# elif (LZO_SIZEOF_INT >= 8) -+# define LZO_INT64_C(c) (c) -+# define LZO_UINT64_C(c) (c##U) -+# elif (LZO_SIZEOF_LONG >= 8) -+# define LZO_INT64_C(c) (c##L) -+# define LZO_UINT64_C(c) (c##UL) -+# else -+# error "LZO_INT64_C" -+# endif -+#endif -+#endif -+ -+#endif -+ -+#endif -+ -+#undef LZO_HAVE_CONFIG_H -+#include "minilzo.h" -+ -+#if !defined(MINILZO_VERSION) || (MINILZO_VERSION != 0x2080) -+# error "version mismatch in miniLZO source files" -+#endif -+ -+#ifdef MINILZO_HAVE_CONFIG_H -+# define LZO_HAVE_CONFIG_H 1 -+#endif -+ -+#ifndef __LZO_CONF_H -+#define __LZO_CONF_H 1 -+ -+#if !defined(__LZO_IN_MINILZO) -+#if defined(LZO_CFG_FREESTANDING) && (LZO_CFG_FREESTANDING) -+# define LZO_LIBC_FREESTANDING 1 -+# define LZO_OS_FREESTANDING 1 -+#endif -+#if defined(LZO_CFG_EXTRA_CONFIG_HEADER) -+# include LZO_CFG_EXTRA_CONFIG_HEADER -+#endif -+#if defined(__LZOCONF_H) || defined(__LZOCONF_H_INCLUDED) -+# error "include this file first" -+#endif -+#include "lzo/lzoconf.h" -+#if defined(LZO_CFG_EXTRA_CONFIG_HEADER2) -+# include LZO_CFG_EXTRA_CONFIG_HEADER2 -+#endif -+#endif -+ -+#if (LZO_VERSION < 0x2080) || !defined(__LZOCONF_H_INCLUDED) -+# error "version mismatch" -+#endif -+ -+#if (LZO_CC_MSC && (_MSC_VER >= 1000 && _MSC_VER < 1100)) -+# pragma warning(disable: 4702) -+#endif -+#if (LZO_CC_MSC && (_MSC_VER >= 1000)) -+# pragma warning(disable: 4127 4701) -+# pragma warning(disable: 4514 4710 4711) -+#endif -+#if (LZO_CC_MSC && (_MSC_VER >= 1300)) -+# pragma warning(disable: 4820) -+#endif -+#if (LZO_CC_MSC && (_MSC_VER >= 1800)) -+# pragma warning(disable: 4746) -+#endif -+ -+#if (LZO_CC_SUNPROC) -+#if !defined(__cplusplus) -+# pragma error_messages(off,E_END_OF_LOOP_CODE_NOT_REACHED) -+# pragma error_messages(off,E_LOOP_NOT_ENTERED_AT_TOP) -+# pragma error_messages(off,E_STATEMENT_NOT_REACHED) -+#endif -+#endif -+ -+#if defined(__LZO_IN_MINILZO) || (LZO_CFG_FREESTANDING) -+#elif 1 -+# include -+#else -+# define LZO_WANT_ACC_INCD_H 1 -+#endif -+#if defined(LZO_HAVE_CONFIG_H) -+# define LZO_CFG_NO_CONFIG_HEADER 1 -+#endif -+ -+#if 1 && !defined(LZO_CFG_FREESTANDING) -+#if 1 && !defined(HAVE_STRING_H) -+#define HAVE_STRING_H 1 -+#endif -+#if 1 && !defined(HAVE_MEMCMP) -+#define HAVE_MEMCMP 1 -+#endif -+#if 1 && !defined(HAVE_MEMCPY) -+#define HAVE_MEMCPY 1 -+#endif -+#if 1 && !defined(HAVE_MEMMOVE) -+#define HAVE_MEMMOVE 1 -+#endif -+#if 1 && !defined(HAVE_MEMSET) -+#define HAVE_MEMSET 1 -+#endif -+#endif -+ -+#if 1 && defined(HAVE_STRING_H) -+#include -+#endif -+ -+#if 1 || defined(lzo_int8_t) || defined(lzo_uint8_t) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == 1) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint8_t) == 1) -+#endif -+#if 1 || defined(lzo_int16_t) || defined(lzo_uint16_t) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == 2) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint16_t) == 2) -+#endif -+#if 1 || defined(lzo_int32_t) || defined(lzo_uint32_t) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == 4) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint32_t) == 4) -+#endif -+#if defined(lzo_int64_t) || defined(lzo_uint64_t) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == 8) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint64_t) == 8) -+#endif -+ -+#if (LZO_CFG_FREESTANDING) -+# undef HAVE_MEMCMP -+# undef HAVE_MEMCPY -+# undef HAVE_MEMMOVE -+# undef HAVE_MEMSET -+#endif -+ -+#if !(HAVE_MEMCMP) -+# undef memcmp -+# define memcmp(a,b,c) lzo_memcmp(a,b,c) -+#else -+# undef lzo_memcmp -+# define lzo_memcmp(a,b,c) memcmp(a,b,c) -+#endif -+#if !(HAVE_MEMCPY) -+# undef memcpy -+# define memcpy(a,b,c) lzo_memcpy(a,b,c) -+#else -+# undef lzo_memcpy -+# define lzo_memcpy(a,b,c) memcpy(a,b,c) -+#endif -+#if !(HAVE_MEMMOVE) -+# undef memmove -+# define memmove(a,b,c) lzo_memmove(a,b,c) -+#else -+# undef lzo_memmove -+# define lzo_memmove(a,b,c) memmove(a,b,c) -+#endif -+#if !(HAVE_MEMSET) -+# undef memset -+# define memset(a,b,c) lzo_memset(a,b,c) -+#else -+# undef lzo_memset -+# define lzo_memset(a,b,c) memset(a,b,c) -+#endif -+ -+#undef NDEBUG -+#if (LZO_CFG_FREESTANDING) -+# undef LZO_DEBUG -+# define NDEBUG 1 -+# undef assert -+# define assert(e) ((void)0) -+#else -+# if !defined(LZO_DEBUG) -+# define NDEBUG 1 -+# endif -+# include -+#endif -+ -+#if 0 && defined(__BOUNDS_CHECKING_ON) -+# include -+#else -+# define BOUNDS_CHECKING_OFF_DURING(stmt) stmt -+# define BOUNDS_CHECKING_OFF_IN_EXPR(expr) (expr) -+#endif -+ -+#if (LZO_CFG_PGO) -+# undef __lzo_likely -+# undef __lzo_unlikely -+# define __lzo_likely(e) (e) -+# define __lzo_unlikely(e) (e) -+#endif -+ -+#undef _ -+#undef __ -+#undef ___ -+#undef ____ -+#undef _p0 -+#undef _p1 -+#undef _p2 -+#undef _p3 -+#undef _p4 -+#undef _s0 -+#undef _s1 -+#undef _s2 -+#undef _s3 -+#undef _s4 -+#undef _ww -+ -+#if 1 -+# define LZO_BYTE(x) ((unsigned char) (x)) -+#else -+# define LZO_BYTE(x) ((unsigned char) ((x) & 0xff)) -+#endif -+ -+#define LZO_MAX(a,b) ((a) >= (b) ? (a) : (b)) -+#define LZO_MIN(a,b) ((a) <= (b) ? (a) : (b)) -+#define LZO_MAX3(a,b,c) ((a) >= (b) ? LZO_MAX(a,c) : LZO_MAX(b,c)) -+#define LZO_MIN3(a,b,c) ((a) <= (b) ? LZO_MIN(a,c) : LZO_MIN(b,c)) -+ -+#define lzo_sizeof(type) ((lzo_uint) (sizeof(type))) -+ -+#define LZO_HIGH(array) ((lzo_uint) (sizeof(array)/sizeof(*(array)))) -+ -+#define LZO_SIZE(bits) (1u << (bits)) -+#define LZO_MASK(bits) (LZO_SIZE(bits) - 1) -+ -+#define LZO_USIZE(bits) ((lzo_uint) 1 << (bits)) -+#define LZO_UMASK(bits) (LZO_USIZE(bits) - 1) -+ -+#if !defined(DMUL) -+#if 0 -+ -+# define DMUL(a,b) ((lzo_xint) ((lzo_uint32_t)(a) * (lzo_uint32_t)(b))) -+#else -+# define DMUL(a,b) ((lzo_xint) ((a) * (b))) -+#endif -+#endif -+ -+#ifndef __LZO_FUNC_H -+#define __LZO_FUNC_H 1 -+ -+#if !defined(LZO_BITOPS_USE_ASM_BITSCAN) && !defined(LZO_BITOPS_USE_GNUC_BITSCAN) && !defined(LZO_BITOPS_USE_MSC_BITSCAN) -+#if 1 && (LZO_ARCH_AMD64) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_ASM_SYNTAX_GNUC) -+#define LZO_BITOPS_USE_ASM_BITSCAN 1 -+#elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1000)) || (LZO_CC_LLVM && (!defined(__llvm_tools_version__) || (__llvm_tools_version__+0 >= 0x010500ul)))) -+#define LZO_BITOPS_USE_GNUC_BITSCAN 1 -+#elif (LZO_OS_WIN32 || LZO_OS_WIN64) && ((LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 1010)) || (LZO_CC_MSC && (_MSC_VER >= 1400))) -+#define LZO_BITOPS_USE_MSC_BITSCAN 1 -+#if (LZO_CC_MSC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) -+#include -+#endif -+#if (LZO_CC_MSC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) -+#pragma intrinsic(_BitScanReverse) -+#pragma intrinsic(_BitScanForward) -+#endif -+#if (LZO_CC_MSC) && (LZO_ARCH_AMD64) -+#pragma intrinsic(_BitScanReverse64) -+#pragma intrinsic(_BitScanForward64) -+#endif -+#endif -+#endif -+ -+__lzo_static_forceinline unsigned lzo_bitops_ctlz32_func(lzo_uint32_t v) -+{ -+#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) -+ unsigned long r; (void) _BitScanReverse(&r, v); return (unsigned) r ^ 31; -+#define lzo_bitops_ctlz32(v) lzo_bitops_ctlz32_func(v) -+#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC) -+ lzo_uint32_t r; -+ __asm__("bsr %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC); -+ return (unsigned) r ^ 31; -+#define lzo_bitops_ctlz32(v) lzo_bitops_ctlz32_func(v) -+#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_INT == 4) -+ unsigned r; r = (unsigned) __builtin_clz(v); return r; -+#define lzo_bitops_ctlz32(v) ((unsigned) __builtin_clz(v)) -+#else -+ LZO_UNUSED(v); return 0; -+#endif -+} -+ -+#if defined(lzo_uint64_t) -+__lzo_static_forceinline unsigned lzo_bitops_ctlz64_func(lzo_uint64_t v) -+{ -+#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64) -+ unsigned long r; (void) _BitScanReverse64(&r, v); return (unsigned) r ^ 63; -+#define lzo_bitops_ctlz64(v) lzo_bitops_ctlz64_func(v) -+#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64) && (LZO_ASM_SYNTAX_GNUC) -+ lzo_uint64_t r; -+ __asm__("bsr %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC); -+ return (unsigned) r ^ 63; -+#define lzo_bitops_ctlz64(v) lzo_bitops_ctlz64_func(v) -+#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG == 8) && (LZO_WORDSIZE >= 8) -+ unsigned r; r = (unsigned) __builtin_clzl(v); return r; -+#define lzo_bitops_ctlz64(v) ((unsigned) __builtin_clzl(v)) -+#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG_LONG == 8) && (LZO_WORDSIZE >= 8) -+ unsigned r; r = (unsigned) __builtin_clzll(v); return r; -+#define lzo_bitops_ctlz64(v) ((unsigned) __builtin_clzll(v)) -+#else -+ LZO_UNUSED(v); return 0; -+#endif -+} -+#endif -+ -+__lzo_static_forceinline unsigned lzo_bitops_cttz32_func(lzo_uint32_t v) -+{ -+#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) -+ unsigned long r; (void) _BitScanForward(&r, v); return (unsigned) r; -+#define lzo_bitops_cttz32(v) lzo_bitops_cttz32_func(v) -+#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC) -+ lzo_uint32_t r; -+ __asm__("bsf %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC); -+ return (unsigned) r; -+#define lzo_bitops_cttz32(v) lzo_bitops_cttz32_func(v) -+#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_INT >= 4) -+ unsigned r; r = (unsigned) __builtin_ctz(v); return r; -+#define lzo_bitops_cttz32(v) ((unsigned) __builtin_ctz(v)) -+#else -+ LZO_UNUSED(v); return 0; -+#endif -+} -+ -+#if defined(lzo_uint64_t) -+__lzo_static_forceinline unsigned lzo_bitops_cttz64_func(lzo_uint64_t v) -+{ -+#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64) -+ unsigned long r; (void) _BitScanForward64(&r, v); return (unsigned) r; -+#define lzo_bitops_cttz64(v) lzo_bitops_cttz64_func(v) -+#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64) && (LZO_ASM_SYNTAX_GNUC) -+ lzo_uint64_t r; -+ __asm__("bsf %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC); -+ return (unsigned) r; -+#define lzo_bitops_cttz64(v) lzo_bitops_cttz64_func(v) -+#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG >= 8) && (LZO_WORDSIZE >= 8) -+ unsigned r; r = (unsigned) __builtin_ctzl(v); return r; -+#define lzo_bitops_cttz64(v) ((unsigned) __builtin_ctzl(v)) -+#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG_LONG >= 8) && (LZO_WORDSIZE >= 8) -+ unsigned r; r = (unsigned) __builtin_ctzll(v); return r; -+#define lzo_bitops_cttz64(v) ((unsigned) __builtin_ctzll(v)) -+#else -+ LZO_UNUSED(v); return 0; -+#endif -+} -+#endif -+ -+#if 1 && (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) -+static void __attribute__((__unused__)) -+#else -+__lzo_static_forceinline void -+#endif -+lzo_bitops_unused_funcs(void) -+{ -+ LZO_UNUSED_FUNC(lzo_bitops_ctlz32_func); -+ LZO_UNUSED_FUNC(lzo_bitops_cttz32_func); -+#if defined(lzo_uint64_t) -+ LZO_UNUSED_FUNC(lzo_bitops_ctlz64_func); -+ LZO_UNUSED_FUNC(lzo_bitops_cttz64_func); -+#endif -+ LZO_UNUSED_FUNC(lzo_bitops_unused_funcs); -+} -+ -+#if defined(__lzo_alignof) && !(LZO_CFG_NO_UNALIGNED) -+#ifndef __lzo_memops_tcheck -+#define __lzo_memops_tcheck(t,a,b) ((void)0, sizeof(t) == (a) && __lzo_alignof(t) == (b)) -+#endif -+#endif -+#ifndef lzo_memops_TU0p -+#define lzo_memops_TU0p void __LZO_MMODEL * -+#endif -+#ifndef lzo_memops_TU1p -+#define lzo_memops_TU1p unsigned char __LZO_MMODEL * -+#endif -+#ifndef lzo_memops_TU2p -+#if (LZO_OPT_UNALIGNED16) -+typedef lzo_uint16_t __lzo_may_alias lzo_memops_TU2; -+#define lzo_memops_TU2p volatile lzo_memops_TU2 * -+#elif defined(__lzo_byte_struct) -+__lzo_byte_struct(lzo_memops_TU2_struct,2) -+typedef struct lzo_memops_TU2_struct lzo_memops_TU2; -+#else -+struct lzo_memops_TU2_struct { unsigned char a[2]; } __lzo_may_alias; -+typedef struct lzo_memops_TU2_struct lzo_memops_TU2; -+#endif -+#ifndef lzo_memops_TU2p -+#define lzo_memops_TU2p lzo_memops_TU2 * -+#endif -+#endif -+#ifndef lzo_memops_TU4p -+#if (LZO_OPT_UNALIGNED32) -+typedef lzo_uint32_t __lzo_may_alias lzo_memops_TU4; -+#define lzo_memops_TU4p volatile lzo_memops_TU4 __LZO_MMODEL * -+#elif defined(__lzo_byte_struct) -+__lzo_byte_struct(lzo_memops_TU4_struct,4) -+typedef struct lzo_memops_TU4_struct lzo_memops_TU4; -+#else -+struct lzo_memops_TU4_struct { unsigned char a[4]; } __lzo_may_alias; -+typedef struct lzo_memops_TU4_struct lzo_memops_TU4; -+#endif -+#ifndef lzo_memops_TU4p -+#define lzo_memops_TU4p lzo_memops_TU4 __LZO_MMODEL * -+#endif -+#endif -+#ifndef lzo_memops_TU8p -+#if (LZO_OPT_UNALIGNED64) -+typedef lzo_uint64_t __lzo_may_alias lzo_memops_TU8; -+#define lzo_memops_TU8p volatile lzo_memops_TU8 __LZO_MMODEL * -+#elif defined(__lzo_byte_struct) -+__lzo_byte_struct(lzo_memops_TU8_struct,8) -+typedef struct lzo_memops_TU8_struct lzo_memops_TU8; -+#else -+struct lzo_memops_TU8_struct { unsigned char a[8]; } __lzo_may_alias; -+typedef struct lzo_memops_TU8_struct lzo_memops_TU8; -+#endif -+#ifndef lzo_memops_TU8p -+#define lzo_memops_TU8p lzo_memops_TU8 __LZO_MMODEL * -+#endif -+#endif -+#ifndef lzo_memops_set_TU1p -+#define lzo_memops_set_TU1p volatile lzo_memops_TU1p -+#endif -+#ifndef lzo_memops_move_TU1p -+#define lzo_memops_move_TU1p lzo_memops_TU1p -+#endif -+#define LZO_MEMOPS_SET1(dd,cc) \ -+ LZO_BLOCK_BEGIN \ -+ lzo_memops_set_TU1p d__1 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \ -+ d__1[0] = LZO_BYTE(cc); \ -+ LZO_BLOCK_END -+#define LZO_MEMOPS_SET2(dd,cc) \ -+ LZO_BLOCK_BEGIN \ -+ lzo_memops_set_TU1p d__2 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \ -+ d__2[0] = LZO_BYTE(cc); d__2[1] = LZO_BYTE(cc); \ -+ LZO_BLOCK_END -+#define LZO_MEMOPS_SET3(dd,cc) \ -+ LZO_BLOCK_BEGIN \ -+ lzo_memops_set_TU1p d__3 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \ -+ d__3[0] = LZO_BYTE(cc); d__3[1] = LZO_BYTE(cc); d__3[2] = LZO_BYTE(cc); \ -+ LZO_BLOCK_END -+#define LZO_MEMOPS_SET4(dd,cc) \ -+ LZO_BLOCK_BEGIN \ -+ lzo_memops_set_TU1p d__4 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \ -+ d__4[0] = LZO_BYTE(cc); d__4[1] = LZO_BYTE(cc); d__4[2] = LZO_BYTE(cc); d__4[3] = LZO_BYTE(cc); \ -+ LZO_BLOCK_END -+#define LZO_MEMOPS_MOVE1(dd,ss) \ -+ LZO_BLOCK_BEGIN \ -+ lzo_memops_move_TU1p d__1 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ -+ const lzo_memops_move_TU1p s__1 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ -+ d__1[0] = s__1[0]; \ -+ LZO_BLOCK_END -+#define LZO_MEMOPS_MOVE2(dd,ss) \ -+ LZO_BLOCK_BEGIN \ -+ lzo_memops_move_TU1p d__2 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ -+ const lzo_memops_move_TU1p s__2 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ -+ d__2[0] = s__2[0]; d__2[1] = s__2[1]; \ -+ LZO_BLOCK_END -+#define LZO_MEMOPS_MOVE3(dd,ss) \ -+ LZO_BLOCK_BEGIN \ -+ lzo_memops_move_TU1p d__3 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ -+ const lzo_memops_move_TU1p s__3 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ -+ d__3[0] = s__3[0]; d__3[1] = s__3[1]; d__3[2] = s__3[2]; \ -+ LZO_BLOCK_END -+#define LZO_MEMOPS_MOVE4(dd,ss) \ -+ LZO_BLOCK_BEGIN \ -+ lzo_memops_move_TU1p d__4 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ -+ const lzo_memops_move_TU1p s__4 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ -+ d__4[0] = s__4[0]; d__4[1] = s__4[1]; d__4[2] = s__4[2]; d__4[3] = s__4[3]; \ -+ LZO_BLOCK_END -+#define LZO_MEMOPS_MOVE8(dd,ss) \ -+ LZO_BLOCK_BEGIN \ -+ lzo_memops_move_TU1p d__8 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ -+ const lzo_memops_move_TU1p s__8 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ -+ d__8[0] = s__8[0]; d__8[1] = s__8[1]; d__8[2] = s__8[2]; d__8[3] = s__8[3]; \ -+ d__8[4] = s__8[4]; d__8[5] = s__8[5]; d__8[6] = s__8[6]; d__8[7] = s__8[7]; \ -+ LZO_BLOCK_END -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU1p)0)==1) -+#define LZO_MEMOPS_COPY1(dd,ss) LZO_MEMOPS_MOVE1(dd,ss) -+#if (LZO_OPT_UNALIGNED16) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU2p)0)==2) -+#define LZO_MEMOPS_COPY2(dd,ss) \ -+ * (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss) -+#elif defined(__lzo_memops_tcheck) -+#define LZO_MEMOPS_COPY2(dd,ss) \ -+ LZO_BLOCK_BEGIN if (__lzo_memops_tcheck(lzo_memops_TU2,2,1)) { \ -+ * (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss); \ -+ } else { LZO_MEMOPS_MOVE2(dd,ss); } LZO_BLOCK_END -+#else -+#define LZO_MEMOPS_COPY2(dd,ss) LZO_MEMOPS_MOVE2(dd,ss) -+#endif -+#if (LZO_OPT_UNALIGNED32) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU4p)0)==4) -+#define LZO_MEMOPS_COPY4(dd,ss) \ -+ * (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss) -+#elif defined(__lzo_memops_tcheck) -+#define LZO_MEMOPS_COPY4(dd,ss) \ -+ LZO_BLOCK_BEGIN if (__lzo_memops_tcheck(lzo_memops_TU4,4,1)) { \ -+ * (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss); \ -+ } else { LZO_MEMOPS_MOVE4(dd,ss); } LZO_BLOCK_END -+#else -+#define LZO_MEMOPS_COPY4(dd,ss) LZO_MEMOPS_MOVE4(dd,ss) -+#endif -+#if (LZO_WORDSIZE != 8) -+#define LZO_MEMOPS_COPY8(dd,ss) \ -+ LZO_BLOCK_BEGIN LZO_MEMOPS_COPY4(dd,ss); LZO_MEMOPS_COPY4((lzo_memops_TU1p)(lzo_memops_TU0p)(dd)+4,(const lzo_memops_TU1p)(const lzo_memops_TU0p)(ss)+4); LZO_BLOCK_END -+#else -+#if (LZO_OPT_UNALIGNED64) -+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU8p)0)==8) -+#define LZO_MEMOPS_COPY8(dd,ss) \ -+ * (lzo_memops_TU8p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss) -+#elif (LZO_OPT_UNALIGNED32) -+#define LZO_MEMOPS_COPY8(dd,ss) \ -+ LZO_BLOCK_BEGIN LZO_MEMOPS_COPY4(dd,ss); LZO_MEMOPS_COPY4((lzo_memops_TU1p)(lzo_memops_TU0p)(dd)+4,(const lzo_memops_TU1p)(const lzo_memops_TU0p)(ss)+4); LZO_BLOCK_END -+#elif defined(__lzo_memops_tcheck) -+#define LZO_MEMOPS_COPY8(dd,ss) \ -+ LZO_BLOCK_BEGIN if (__lzo_memops_tcheck(lzo_memops_TU8,8,1)) { \ -+ * (lzo_memops_TU8p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss); \ -+ } else { LZO_MEMOPS_MOVE8(dd,ss); } LZO_BLOCK_END -+#else -+#define LZO_MEMOPS_COPY8(dd,ss) LZO_MEMOPS_MOVE8(dd,ss) -+#endif -+#endif -+#define LZO_MEMOPS_COPYN(dd,ss,nn) \ -+ LZO_BLOCK_BEGIN \ -+ lzo_memops_TU1p d__n = (lzo_memops_TU1p) (lzo_memops_TU0p) (dd); \ -+ const lzo_memops_TU1p s__n = (const lzo_memops_TU1p) (const lzo_memops_TU0p) (ss); \ -+ lzo_uint n__n = (nn); \ -+ while ((void)0, n__n >= 8) { LZO_MEMOPS_COPY8(d__n, s__n); d__n += 8; s__n += 8; n__n -= 8; } \ -+ if ((void)0, n__n >= 4) { LZO_MEMOPS_COPY4(d__n, s__n); d__n += 4; s__n += 4; n__n -= 4; } \ -+ if ((void)0, n__n > 0) do { *d__n++ = *s__n++; } while (--n__n > 0); \ -+ LZO_BLOCK_END -+ -+__lzo_static_forceinline lzo_uint16_t lzo_memops_get_le16(const lzo_voidp ss) -+{ -+ lzo_uint16_t v; -+#if (LZO_ABI_LITTLE_ENDIAN) -+ LZO_MEMOPS_COPY2(&v, ss); -+#elif (LZO_OPT_UNALIGNED16 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC) -+ const lzo_memops_TU2p s = (const lzo_memops_TU2p) ss; -+ unsigned long vv; -+ __asm__("lhbrx %0,0,%1" : "=r" (vv) : "r" (s), "m" (*s)); -+ v = (lzo_uint16_t) vv; -+#else -+ const lzo_memops_TU1p s = (const lzo_memops_TU1p) ss; -+ v = (lzo_uint16_t) (((lzo_uint16_t)s[0]) | ((lzo_uint16_t)s[1] << 8)); -+#endif -+ return v; -+} -+#if (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) -+#define LZO_MEMOPS_GET_LE16(ss) * (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss) -+#else -+#define LZO_MEMOPS_GET_LE16(ss) lzo_memops_get_le16(ss) -+#endif - --#undef LZO_HAVE_CONFIG_H --#include "minilzo.h" -- --#if !defined(MINILZO_VERSION) || (MINILZO_VERSION != 0x1080) --# error "version mismatch in miniLZO source files" -+__lzo_static_forceinline lzo_uint32_t lzo_memops_get_le32(const lzo_voidp ss) -+{ -+ lzo_uint32_t v; -+#if (LZO_ABI_LITTLE_ENDIAN) -+ LZO_MEMOPS_COPY4(&v, ss); -+#elif (LZO_OPT_UNALIGNED32 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC) -+ const lzo_memops_TU4p s = (const lzo_memops_TU4p) ss; -+ unsigned long vv; -+ __asm__("lwbrx %0,0,%1" : "=r" (vv) : "r" (s), "m" (*s)); -+ v = (lzo_uint32_t) vv; -+#else -+ const lzo_memops_TU1p s = (const lzo_memops_TU1p) ss; -+ v = (lzo_uint32_t) (((lzo_uint32_t)s[0]) | ((lzo_uint32_t)s[1] << 8) | ((lzo_uint32_t)s[2] << 16) | ((lzo_uint32_t)s[3] << 24)); - #endif -- --#ifdef MINILZO_HAVE_CONFIG_H --# define LZO_HAVE_CONFIG_H -+ return v; -+} -+#if (LZO_OPT_UNALIGNED32) && (LZO_ABI_LITTLE_ENDIAN) -+#define LZO_MEMOPS_GET_LE32(ss) * (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss) -+#else -+#define LZO_MEMOPS_GET_LE32(ss) lzo_memops_get_le32(ss) - #endif - --#if !defined(LZO_NO_SYS_TYPES_H) --# include -+#if (LZO_OPT_UNALIGNED64) && (LZO_ABI_LITTLE_ENDIAN) -+#define LZO_MEMOPS_GET_LE64(ss) * (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss) - #endif --#include -- --#ifndef __LZO_CONF_H --#define __LZO_CONF_H - --#if !defined(__LZO_IN_MINILZO) --# ifndef __LZOCONF_H --# include --# endif -+__lzo_static_forceinline lzo_uint16_t lzo_memops_get_ne16(const lzo_voidp ss) -+{ -+ lzo_uint16_t v; -+ LZO_MEMOPS_COPY2(&v, ss); -+ return v; -+} -+#if (LZO_OPT_UNALIGNED16) -+#define LZO_MEMOPS_GET_NE16(ss) * (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss) -+#else -+#define LZO_MEMOPS_GET_NE16(ss) lzo_memops_get_ne16(ss) - #endif - --#if defined(__BOUNDS_CHECKING_ON) --# include -+__lzo_static_forceinline lzo_uint32_t lzo_memops_get_ne32(const lzo_voidp ss) -+{ -+ lzo_uint32_t v; -+ LZO_MEMOPS_COPY4(&v, ss); -+ return v; -+} -+#if (LZO_OPT_UNALIGNED32) -+#define LZO_MEMOPS_GET_NE32(ss) * (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss) - #else --# define BOUNDS_CHECKING_OFF_DURING(stmt) stmt --# define BOUNDS_CHECKING_OFF_IN_EXPR(expr) (expr) -+#define LZO_MEMOPS_GET_NE32(ss) lzo_memops_get_ne32(ss) - #endif - --#if !defined(LZO_HAVE_CONFIG_H) --# include --# include --# if !defined(NO_STDLIB_H) --# include --# endif --# define HAVE_MEMCMP --# define HAVE_MEMCPY --# define HAVE_MEMMOVE --# define HAVE_MEMSET --#else --# include --# if defined(HAVE_STDDEF_H) --# include --# endif --# if defined(STDC_HEADERS) --# include --# include --# endif -+#if (LZO_OPT_UNALIGNED64) -+#define LZO_MEMOPS_GET_NE64(ss) * (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss) - #endif - --#if defined(__LZO_DOS16) || defined(__LZO_WIN16) --# define HAVE_MALLOC_H --# define HAVE_HALLOC -+__lzo_static_forceinline void lzo_memops_put_le16(lzo_voidp dd, lzo_uint16_t vv) -+{ -+#if (LZO_ABI_LITTLE_ENDIAN) -+ LZO_MEMOPS_COPY2(dd, &vv); -+#elif (LZO_OPT_UNALIGNED16 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC) -+ lzo_memops_TU2p d = (lzo_memops_TU2p) dd; -+ unsigned long v = vv; -+ __asm__("sthbrx %2,0,%1" : "=m" (*d) : "r" (d), "r" (v)); -+#else -+ lzo_memops_TU1p d = (lzo_memops_TU1p) dd; -+ d[0] = LZO_BYTE((vv ) & 0xff); -+ d[1] = LZO_BYTE((vv >> 8) & 0xff); -+#endif -+} -+#if (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) -+#define LZO_MEMOPS_PUT_LE16(dd,vv) (* (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = (vv)) -+#else -+#define LZO_MEMOPS_PUT_LE16(dd,vv) lzo_memops_put_le16(dd,vv) - #endif - --#undef NDEBUG --#if !defined(LZO_DEBUG) --# define NDEBUG -+__lzo_static_forceinline void lzo_memops_put_le32(lzo_voidp dd, lzo_uint32_t vv) -+{ -+#if (LZO_ABI_LITTLE_ENDIAN) -+ LZO_MEMOPS_COPY4(dd, &vv); -+#elif (LZO_OPT_UNALIGNED32 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC) -+ lzo_memops_TU4p d = (lzo_memops_TU4p) dd; -+ unsigned long v = vv; -+ __asm__("stwbrx %2,0,%1" : "=m" (*d) : "r" (d), "r" (v)); -+#else -+ lzo_memops_TU1p d = (lzo_memops_TU1p) dd; -+ d[0] = LZO_BYTE((vv ) & 0xff); -+ d[1] = LZO_BYTE((vv >> 8) & 0xff); -+ d[2] = LZO_BYTE((vv >> 16) & 0xff); -+ d[3] = LZO_BYTE((vv >> 24) & 0xff); - #endif --#if defined(LZO_DEBUG) || !defined(NDEBUG) --# if !defined(NO_STDIO_H) --# include --# endif -+} -+#if (LZO_OPT_UNALIGNED32) && (LZO_ABI_LITTLE_ENDIAN) -+#define LZO_MEMOPS_PUT_LE32(dd,vv) (* (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = (vv)) -+#else -+#define LZO_MEMOPS_PUT_LE32(dd,vv) lzo_memops_put_le32(dd,vv) - #endif --#include - --#if !defined(LZO_COMPILE_TIME_ASSERT) --# define LZO_COMPILE_TIME_ASSERT(expr) \ -- { typedef int __lzo_compile_time_assert_fail[1 - 2 * !(expr)]; } -+__lzo_static_forceinline void lzo_memops_put_ne16(lzo_voidp dd, lzo_uint16_t vv) -+{ -+ LZO_MEMOPS_COPY2(dd, &vv); -+} -+#if (LZO_OPT_UNALIGNED16) -+#define LZO_MEMOPS_PUT_NE16(dd,vv) (* (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = (vv)) -+#else -+#define LZO_MEMOPS_PUT_NE16(dd,vv) lzo_memops_put_ne16(dd,vv) - #endif - --#if !defined(LZO_UNUSED) --# if 1 --# define LZO_UNUSED(var) ((void)&var) --# elif 0 --# define LZO_UNUSED(var) { typedef int __lzo_unused[sizeof(var) ? 2 : 1]; } --# else --# define LZO_UNUSED(parm) (parm = parm) --# endif -+__lzo_static_forceinline void lzo_memops_put_ne32(lzo_voidp dd, lzo_uint32_t vv) -+{ -+ LZO_MEMOPS_COPY4(dd, &vv); -+} -+#if (LZO_OPT_UNALIGNED32) -+#define LZO_MEMOPS_PUT_NE32(dd,vv) (* (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = (vv)) -+#else -+#define LZO_MEMOPS_PUT_NE32(dd,vv) lzo_memops_put_ne32(dd,vv) - #endif - --#if !defined(__inline__) && !defined(__GNUC__) --# if defined(__cplusplus) --# define __inline__ inline --# else --# define __inline__ --# endif -+#if 1 && (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) -+static void __attribute__((__unused__)) -+#else -+__lzo_static_forceinline void - #endif -+lzo_memops_unused_funcs(void) -+{ -+ LZO_UNUSED_FUNC(lzo_memops_get_le16); -+ LZO_UNUSED_FUNC(lzo_memops_get_le32); -+ LZO_UNUSED_FUNC(lzo_memops_get_ne16); -+ LZO_UNUSED_FUNC(lzo_memops_get_ne32); -+ LZO_UNUSED_FUNC(lzo_memops_put_le16); -+ LZO_UNUSED_FUNC(lzo_memops_put_le32); -+ LZO_UNUSED_FUNC(lzo_memops_put_ne16); -+ LZO_UNUSED_FUNC(lzo_memops_put_ne32); -+ LZO_UNUSED_FUNC(lzo_memops_unused_funcs); -+} - --#if defined(NO_MEMCMP) --# undef HAVE_MEMCMP - #endif - --#if !defined(HAVE_MEMCMP) --# undef memcmp --# define memcmp lzo_memcmp -+#ifndef UA_SET1 -+#define UA_SET1 LZO_MEMOPS_SET1 - #endif --#if !defined(HAVE_MEMCPY) --# undef memcpy --# define memcpy lzo_memcpy -+#ifndef UA_SET2 -+#define UA_SET2 LZO_MEMOPS_SET2 - #endif --#if !defined(HAVE_MEMMOVE) --# undef memmove --# define memmove lzo_memmove -+#ifndef UA_SET3 -+#define UA_SET3 LZO_MEMOPS_SET3 - #endif --#if !defined(HAVE_MEMSET) --# undef memset --# define memset lzo_memset -+#ifndef UA_SET4 -+#define UA_SET4 LZO_MEMOPS_SET4 - #endif -- --#if 0 --# define LZO_BYTE(x) ((unsigned char) (x)) --#else --# define LZO_BYTE(x) ((unsigned char) ((x) & 0xff)) -+#ifndef UA_MOVE1 -+#define UA_MOVE1 LZO_MEMOPS_MOVE1 - #endif -- --#define LZO_MAX(a,b) ((a) >= (b) ? (a) : (b)) --#define LZO_MIN(a,b) ((a) <= (b) ? (a) : (b)) --#define LZO_MAX3(a,b,c) ((a) >= (b) ? LZO_MAX(a,c) : LZO_MAX(b,c)) --#define LZO_MIN3(a,b,c) ((a) <= (b) ? LZO_MIN(a,c) : LZO_MIN(b,c)) -- --#define lzo_sizeof(type) ((lzo_uint) (sizeof(type))) -- --#define LZO_HIGH(array) ((lzo_uint) (sizeof(array)/sizeof(*(array)))) -- --#define LZO_SIZE(bits) (1u << (bits)) --#define LZO_MASK(bits) (LZO_SIZE(bits) - 1) -- --#define LZO_LSIZE(bits) (1ul << (bits)) --#define LZO_LMASK(bits) (LZO_LSIZE(bits) - 1) -- --#define LZO_USIZE(bits) ((lzo_uint) 1 << (bits)) --#define LZO_UMASK(bits) (LZO_USIZE(bits) - 1) -- --#define LZO_STYPE_MAX(b) (((1l << (8*(b)-2)) - 1l) + (1l << (8*(b)-2))) --#define LZO_UTYPE_MAX(b) (((1ul << (8*(b)-1)) - 1ul) + (1ul << (8*(b)-1))) -- --#if !defined(SIZEOF_UNSIGNED) --# if (UINT_MAX == 0xffff) --# define SIZEOF_UNSIGNED 2 --# elif (UINT_MAX == LZO_0xffffffffL) --# define SIZEOF_UNSIGNED 4 --# elif (UINT_MAX >= LZO_0xffffffffL) --# define SIZEOF_UNSIGNED 8 --# else --# error "SIZEOF_UNSIGNED" --# endif -+#ifndef UA_MOVE2 -+#define UA_MOVE2 LZO_MEMOPS_MOVE2 - #endif -- --#if !defined(SIZEOF_UNSIGNED_LONG) --# if (ULONG_MAX == LZO_0xffffffffL) --# define SIZEOF_UNSIGNED_LONG 4 --# elif (ULONG_MAX >= LZO_0xffffffffL) --# define SIZEOF_UNSIGNED_LONG 8 --# else --# error "SIZEOF_UNSIGNED_LONG" --# endif -+#ifndef UA_MOVE3 -+#define UA_MOVE3 LZO_MEMOPS_MOVE3 - #endif -- --#if !defined(SIZEOF_SIZE_T) --# define SIZEOF_SIZE_T SIZEOF_UNSIGNED -+#ifndef UA_MOVE4 -+#define UA_MOVE4 LZO_MEMOPS_MOVE4 - #endif --#if !defined(SIZE_T_MAX) --# define SIZE_T_MAX LZO_UTYPE_MAX(SIZEOF_SIZE_T) -+#ifndef UA_MOVE8 -+#define UA_MOVE8 LZO_MEMOPS_MOVE8 - #endif -- --#if 1 && defined(__LZO_i386) && (UINT_MAX == LZO_0xffffffffL) --# if !defined(LZO_UNALIGNED_OK_2) && (USHRT_MAX == 0xffff) --# define LZO_UNALIGNED_OK_2 --# endif --# if !defined(LZO_UNALIGNED_OK_4) && (LZO_UINT32_MAX == LZO_0xffffffffL) --# define LZO_UNALIGNED_OK_4 --# endif -+#ifndef UA_COPY1 -+#define UA_COPY1 LZO_MEMOPS_COPY1 - #endif -- --#if defined(LZO_UNALIGNED_OK_2) || defined(LZO_UNALIGNED_OK_4) --# if !defined(LZO_UNALIGNED_OK) --# define LZO_UNALIGNED_OK --# endif -+#ifndef UA_COPY2 -+#define UA_COPY2 LZO_MEMOPS_COPY2 - #endif -- --#if defined(__LZO_NO_UNALIGNED) --# undef LZO_UNALIGNED_OK --# undef LZO_UNALIGNED_OK_2 --# undef LZO_UNALIGNED_OK_4 -+#ifndef UA_COPY3 -+#define UA_COPY3 LZO_MEMOPS_COPY3 - #endif -- --#if defined(LZO_UNALIGNED_OK_2) && (USHRT_MAX != 0xffff) --# error "LZO_UNALIGNED_OK_2 must not be defined on this system" -+#ifndef UA_COPY4 -+#define UA_COPY4 LZO_MEMOPS_COPY4 - #endif --#if defined(LZO_UNALIGNED_OK_4) && (LZO_UINT32_MAX != LZO_0xffffffffL) --# error "LZO_UNALIGNED_OK_4 must not be defined on this system" -+#ifndef UA_COPY8 -+#define UA_COPY8 LZO_MEMOPS_COPY8 - #endif -- --#if defined(__LZO_NO_ALIGNED) --# undef LZO_ALIGNED_OK_4 -+#ifndef UA_COPYN -+#define UA_COPYN LZO_MEMOPS_COPYN - #endif -- --#if defined(LZO_ALIGNED_OK_4) && (LZO_UINT32_MAX != LZO_0xffffffffL) --# error "LZO_ALIGNED_OK_4 must not be defined on this system" -+#ifndef UA_COPYN_X -+#define UA_COPYN_X LZO_MEMOPS_COPYN - #endif -- --#define LZO_LITTLE_ENDIAN 1234 --#define LZO_BIG_ENDIAN 4321 --#define LZO_PDP_ENDIAN 3412 -- --#if !defined(LZO_BYTE_ORDER) --# if defined(MFX_BYTE_ORDER) --# define LZO_BYTE_ORDER MFX_BYTE_ORDER --# elif defined(__LZO_i386) --# define LZO_BYTE_ORDER LZO_LITTLE_ENDIAN --# elif defined(BYTE_ORDER) --# define LZO_BYTE_ORDER BYTE_ORDER --# elif defined(__BYTE_ORDER) --# define LZO_BYTE_ORDER __BYTE_ORDER --# endif -+#ifndef UA_GET_LE16 -+#define UA_GET_LE16 LZO_MEMOPS_GET_LE16 - #endif -- --#if defined(LZO_BYTE_ORDER) --# if (LZO_BYTE_ORDER != LZO_LITTLE_ENDIAN) && \ -- (LZO_BYTE_ORDER != LZO_BIG_ENDIAN) --# error "invalid LZO_BYTE_ORDER" --# endif -+#ifndef UA_GET_LE32 -+#define UA_GET_LE32 LZO_MEMOPS_GET_LE32 - #endif -- --#if defined(LZO_UNALIGNED_OK) && !defined(LZO_BYTE_ORDER) --# error "LZO_BYTE_ORDER is not defined" -+#ifdef LZO_MEMOPS_GET_LE64 -+#ifndef UA_GET_LE64 -+#define UA_GET_LE64 LZO_MEMOPS_GET_LE64 - #endif -- --#define LZO_OPTIMIZE_GNUC_i386_IS_BUGGY -- --#if defined(NDEBUG) && !defined(LZO_DEBUG) && !defined(__LZO_CHECKER) --# if defined(__GNUC__) && defined(__i386__) --# if !defined(LZO_OPTIMIZE_GNUC_i386_IS_BUGGY) --# define LZO_OPTIMIZE_GNUC_i386 --# endif --# endif -+#endif -+#ifndef UA_GET_NE16 -+#define UA_GET_NE16 LZO_MEMOPS_GET_NE16 -+#endif -+#ifndef UA_GET_NE32 -+#define UA_GET_NE32 LZO_MEMOPS_GET_NE32 -+#endif -+#ifdef LZO_MEMOPS_GET_NE64 -+#ifndef UA_GET_NE64 -+#define UA_GET_NE64 LZO_MEMOPS_GET_NE64 -+#endif -+#endif -+#ifndef UA_PUT_LE16 -+#define UA_PUT_LE16 LZO_MEMOPS_PUT_LE16 -+#endif -+#ifndef UA_PUT_LE32 -+#define UA_PUT_LE32 LZO_MEMOPS_PUT_LE32 -+#endif -+#ifndef UA_PUT_NE16 -+#define UA_PUT_NE16 LZO_MEMOPS_PUT_NE16 -+#endif -+#ifndef UA_PUT_NE32 -+#define UA_PUT_NE32 LZO_MEMOPS_PUT_NE32 - #endif - --__LZO_EXTERN_C int __lzo_init_done; --__LZO_EXTERN_C const lzo_byte __lzo_copyright[]; --LZO_EXTERN(const lzo_byte *) lzo_copyright(void); --__LZO_EXTERN_C const lzo_uint32 _lzo_crc32_table[256]; -- --#define _LZO_STRINGIZE(x) #x --#define _LZO_MEXPAND(x) _LZO_STRINGIZE(x) -- --#define _LZO_CONCAT2(a,b) a ## b --#define _LZO_CONCAT3(a,b,c) a ## b ## c --#define _LZO_CONCAT4(a,b,c,d) a ## b ## c ## d --#define _LZO_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e -- --#define _LZO_ECONCAT2(a,b) _LZO_CONCAT2(a,b) --#define _LZO_ECONCAT3(a,b,c) _LZO_CONCAT3(a,b,c) --#define _LZO_ECONCAT4(a,b,c,d) _LZO_CONCAT4(a,b,c,d) --#define _LZO_ECONCAT5(a,b,c,d,e) _LZO_CONCAT5(a,b,c,d,e) -- --#if 0 -- --#define __LZO_IS_COMPRESS_QUERY(i,il,o,ol,w) ((lzo_voidp)(o) == (w)) --#define __LZO_QUERY_COMPRESS(i,il,o,ol,w,n,s) \ -- (*ol = (n)*(s), LZO_E_OK) -+#define MEMCPY8_DS(dest,src,len) \ -+ lzo_memcpy(dest,src,len); dest += len; src += len - --#define __LZO_IS_DECOMPRESS_QUERY(i,il,o,ol,w) ((lzo_voidp)(o) == (w)) --#define __LZO_QUERY_DECOMPRESS(i,il,o,ol,w,n,s) \ -- (*ol = (n)*(s), LZO_E_OK) -+#define BZERO8_PTR(s,l,n) \ -+ lzo_memset((lzo_voidp)(s),0,(lzo_uint)(l)*(n)) - --#define __LZO_IS_OPTIMIZE_QUERY(i,il,o,ol,w) ((lzo_voidp)(o) == (w)) --#define __LZO_QUERY_OPTIMIZE(i,il,o,ol,w,n,s) \ -- (*ol = (n)*(s), LZO_E_OK) -+#define MEMCPY_DS(dest,src,len) \ -+ do *dest++ = *src++; while (--len > 0) - --#endif -+LZO_EXTERN(const lzo_bytep) lzo_copyright(void); - - #ifndef __LZO_PTR_H --#define __LZO_PTR_H -+#define __LZO_PTR_H 1 - - #ifdef __cplusplus - extern "C" { - #endif - --#if defined(__LZO_DOS16) || defined(__LZO_WIN16) --# include --# if 1 && defined(__WATCOMC__) --# include -- __LZO_EXTERN_C unsigned char _HShift; --# define __LZO_HShift _HShift --# elif 1 && defined(_MSC_VER) -- __LZO_EXTERN_C unsigned short __near _AHSHIFT; --# define __LZO_HShift ((unsigned) &_AHSHIFT) --# elif defined(__LZO_WIN16) --# define __LZO_HShift 3 --# else --# define __LZO_HShift 12 --# endif --# if !defined(_FP_SEG) && defined(FP_SEG) --# define _FP_SEG FP_SEG --# endif --# if !defined(_FP_OFF) && defined(FP_OFF) --# define _FP_OFF FP_OFF --# endif --#endif -- --#if !defined(lzo_ptrdiff_t) --# if (UINT_MAX >= LZO_0xffffffffL) -- typedef ptrdiff_t lzo_ptrdiff_t; --# else -- typedef long lzo_ptrdiff_t; --# endif --#endif -- --#if !defined(__LZO_HAVE_PTR_T) --# if defined(lzo_ptr_t) --# define __LZO_HAVE_PTR_T --# endif --#endif --#if !defined(__LZO_HAVE_PTR_T) --# if defined(SIZEOF_CHAR_P) && defined(SIZEOF_UNSIGNED_LONG) --# if (SIZEOF_CHAR_P == SIZEOF_UNSIGNED_LONG) -- typedef unsigned long lzo_ptr_t; -- typedef long lzo_sptr_t; --# define __LZO_HAVE_PTR_T --# endif --# endif --#endif --#if !defined(__LZO_HAVE_PTR_T) --# if defined(SIZEOF_CHAR_P) && defined(SIZEOF_UNSIGNED) --# if (SIZEOF_CHAR_P == SIZEOF_UNSIGNED) -- typedef unsigned int lzo_ptr_t; -- typedef int lzo_sptr_t; --# define __LZO_HAVE_PTR_T --# endif --# endif --#endif --#if !defined(__LZO_HAVE_PTR_T) --# if defined(SIZEOF_CHAR_P) && defined(SIZEOF_UNSIGNED_SHORT) --# if (SIZEOF_CHAR_P == SIZEOF_UNSIGNED_SHORT) -- typedef unsigned short lzo_ptr_t; -- typedef short lzo_sptr_t; --# define __LZO_HAVE_PTR_T --# endif --# endif --#endif --#if !defined(__LZO_HAVE_PTR_T) --# if defined(LZO_HAVE_CONFIG_H) || defined(SIZEOF_CHAR_P) --# error "no suitable type for lzo_ptr_t" --# else -- typedef unsigned long lzo_ptr_t; -- typedef long lzo_sptr_t; --# define __LZO_HAVE_PTR_T --# endif --#endif -- --#if defined(__LZO_DOS16) || defined(__LZO_WIN16) --#define PTR(a) ((lzo_bytep) (a)) --#define PTR_ALIGNED_4(a) ((_FP_OFF(a) & 3) == 0) --#define PTR_ALIGNED2_4(a,b) (((_FP_OFF(a) | _FP_OFF(b)) & 3) == 0) -+#if (LZO_ARCH_I086) -+#error "LZO_ARCH_I086 is unsupported" -+#elif (LZO_MM_PVP) -+#error "LZO_MM_PVP is unsupported" - #else --#define PTR(a) ((lzo_ptr_t) (a)) -+#define PTR(a) ((lzo_uintptr_t) (a)) - #define PTR_LINEAR(a) PTR(a) - #define PTR_ALIGNED_4(a) ((PTR_LINEAR(a) & 3) == 0) - #define PTR_ALIGNED_8(a) ((PTR_LINEAR(a) & 7) == 0) -@@ -414,10 +3797,10 @@ extern "C" { - - #define PTR_LT(a,b) (PTR(a) < PTR(b)) - #define PTR_GE(a,b) (PTR(a) >= PTR(b)) --#define PTR_DIFF(a,b) ((lzo_ptrdiff_t) (PTR(a) - PTR(b))) -+#define PTR_DIFF(a,b) (PTR(a) - PTR(b)) - #define pd(a,b) ((lzo_uint) ((a)-(b))) - --LZO_EXTERN(lzo_ptr_t) -+LZO_EXTERN(lzo_uintptr_t) - __lzo_ptr_linear(const lzo_voidp ptr); - - typedef union -@@ -432,21 +3815,28 @@ typedef union - unsigned long a_ulong; - lzo_int a_lzo_int; - lzo_uint a_lzo_uint; -- lzo_int32 a_lzo_int32; -- lzo_uint32 a_lzo_uint32; -+ lzo_xint a_lzo_xint; -+ lzo_int16_t a_lzo_int16_t; -+ lzo_uint16_t a_lzo_uint16_t; -+ lzo_int32_t a_lzo_int32_t; -+ lzo_uint32_t a_lzo_uint32_t; -+#if defined(lzo_uint64_t) -+ lzo_int64_t a_lzo_int64_t; -+ lzo_uint64_t a_lzo_uint64_t; -+#endif -+ size_t a_size_t; - ptrdiff_t a_ptrdiff_t; -- lzo_ptrdiff_t a_lzo_ptrdiff_t; -- lzo_ptr_t a_lzo_ptr_t; -- lzo_voidp a_lzo_voidp; -+ lzo_uintptr_t a_lzo_uintptr_t; - void * a_void_p; -- lzo_bytep a_lzo_bytep; -- lzo_bytepp a_lzo_bytepp; -- lzo_uintp a_lzo_uintp; -- lzo_uint * a_lzo_uint_p; -- lzo_uint32p a_lzo_uint32p; -- lzo_uint32 * a_lzo_uint32_p; -- unsigned char * a_uchar_p; - char * a_char_p; -+ unsigned char * a_uchar_p; -+ const void * a_c_void_p; -+ const char * a_c_char_p; -+ const unsigned char * a_c_uchar_p; -+ lzo_voidp a_lzo_voidp; -+ lzo_bytep a_lzo_bytep; -+ const lzo_voidp a_c_lzo_voidp; -+ const lzo_bytep a_c_lzo_bytep; - } - lzo_full_align_t; - -@@ -456,36 +3846,37 @@ lzo_full_align_t; - - #endif - --#define LZO_DETERMINISTIC -+#ifndef LZO_DETERMINISTIC -+#define LZO_DETERMINISTIC 1 -+#endif - --#define LZO_DICT_USE_PTR --#if defined(__LZO_DOS16) || defined(__LZO_WIN16) || defined(__LZO_STRICT_16BIT) --# undef LZO_DICT_USE_PTR -+#ifndef LZO_DICT_USE_PTR -+#define LZO_DICT_USE_PTR 1 - #endif - --#if defined(LZO_DICT_USE_PTR) -+#if (LZO_DICT_USE_PTR) - # define lzo_dict_t const lzo_bytep --# define lzo_dict_p lzo_dict_t __LZO_MMODEL * -+# define lzo_dict_p lzo_dict_t * - #else - # define lzo_dict_t lzo_uint --# define lzo_dict_p lzo_dict_t __LZO_MMODEL * -+# define lzo_dict_p lzo_dict_t * - #endif - --#if !defined(lzo_moff_t) --#define lzo_moff_t lzo_uint - #endif - --#endif -+#if !defined(MINILZO_CFG_SKIP_LZO_PTR) - --LZO_PUBLIC(lzo_ptr_t) -+LZO_PUBLIC(lzo_uintptr_t) - __lzo_ptr_linear(const lzo_voidp ptr) - { -- lzo_ptr_t p; -+ lzo_uintptr_t p; - --#if defined(__LZO_DOS16) || defined(__LZO_WIN16) -- p = (((lzo_ptr_t)(_FP_SEG(ptr))) << (16 - __LZO_HShift)) + (_FP_OFF(ptr)); -+#if (LZO_ARCH_I086) -+#error "LZO_ARCH_I086 is unsupported" -+#elif (LZO_MM_PVP) -+#error "LZO_MM_PVP is unsupported" - #else -- p = PTR_LINEAR(ptr); -+ p = (lzo_uintptr_t) PTR_LINEAR(ptr); - #endif - - return p; -@@ -494,242 +3885,44 @@ __lzo_ptr_linear(const lzo_voidp ptr) - LZO_PUBLIC(unsigned) - __lzo_align_gap(const lzo_voidp ptr, lzo_uint size) - { -- lzo_ptr_t p, s, n; -- -- assert(size > 0); -- -- p = __lzo_ptr_linear(ptr); -- s = (lzo_ptr_t) (size - 1); --#if 0 -- assert((size & (size - 1)) == 0); -- n = ((p + s) & ~s) - p; -+#if (__LZO_UINTPTR_T_IS_POINTER) -+#error "__LZO_UINTPTR_T_IS_POINTER is unsupported" - #else -- n = (((p + s) / size) * size) - p; -+ lzo_uintptr_t p, n; -+ p = __lzo_ptr_linear(ptr); -+ n = (((p + size - 1) / size) * size) - p; - #endif - -+ assert(size > 0); - assert((long)n >= 0); -- assert(n <= s); -- -+ assert(n <= size); - return (unsigned)n; - } - --#ifndef __LZO_UTIL_H --#define __LZO_UTIL_H -- --#ifndef __LZO_CONF_H --#endif -- --#ifdef __cplusplus --extern "C" { --#endif -- --#if 1 && defined(HAVE_MEMCPY) --#if !defined(__LZO_DOS16) && !defined(__LZO_WIN16) -- --#define MEMCPY8_DS(dest,src,len) \ -- memcpy(dest,src,len); \ -- dest += len; \ -- src += len -- --#endif --#endif -- --#if 0 && !defined(MEMCPY8_DS) -- --#define MEMCPY8_DS(dest,src,len) \ -- { do { \ -- *dest++ = *src++; \ -- *dest++ = *src++; \ -- *dest++ = *src++; \ -- *dest++ = *src++; \ -- *dest++ = *src++; \ -- *dest++ = *src++; \ -- *dest++ = *src++; \ -- *dest++ = *src++; \ -- len -= 8; \ -- } while (len > 0); } -- --#endif -- --#if !defined(MEMCPY8_DS) -- --#define MEMCPY8_DS(dest,src,len) \ -- { register lzo_uint __l = (len) / 8; \ -- do { \ -- *dest++ = *src++; \ -- *dest++ = *src++; \ -- *dest++ = *src++; \ -- *dest++ = *src++; \ -- *dest++ = *src++; \ -- *dest++ = *src++; \ -- *dest++ = *src++; \ -- *dest++ = *src++; \ -- } while (--__l > 0); } -- --#endif -- --#define MEMCPY_DS(dest,src,len) \ -- do *dest++ = *src++; \ -- while (--len > 0) -- --#define MEMMOVE_DS(dest,src,len) \ -- do *dest++ = *src++; \ -- while (--len > 0) -- --#if 0 && defined(LZO_OPTIMIZE_GNUC_i386) -- --#define BZERO8_PTR(s,l,n) \ --__asm__ __volatile__( \ -- "movl %0,%%eax \n" \ -- "movl %1,%%edi \n" \ -- "movl %2,%%ecx \n" \ -- "cld \n" \ -- "rep \n" \ -- "stosl %%eax,(%%edi) \n" \ -- : \ -- :"g" (0),"g" (s),"g" (n) \ -- :"eax","edi","ecx", "memory", "cc" \ --) -- --#elif (LZO_UINT_MAX <= SIZE_T_MAX) && defined(HAVE_MEMSET) -- --#if 1 --#define BZERO8_PTR(s,l,n) memset((s),0,(lzo_uint)(l)*(n)) --#else --#define BZERO8_PTR(s,l,n) memset((lzo_voidp)(s),0,(lzo_uint)(l)*(n)) --#endif -- --#else -- --#define BZERO8_PTR(s,l,n) \ -- lzo_memset((lzo_voidp)(s),0,(lzo_uint)(l)*(n)) -- --#endif -- --#if 0 --#if defined(__GNUC__) && defined(__i386__) -- --unsigned char lzo_rotr8(unsigned char value, int shift); --extern __inline__ unsigned char lzo_rotr8(unsigned char value, int shift) --{ -- unsigned char result; -- -- __asm__ __volatile__ ("movb %b1, %b0; rorb %b2, %b0" -- : "=a"(result) : "g"(value), "c"(shift)); -- return result; --} -- --unsigned short lzo_rotr16(unsigned short value, int shift); --extern __inline__ unsigned short lzo_rotr16(unsigned short value, int shift) --{ -- unsigned short result; -- -- __asm__ __volatile__ ("movw %b1, %b0; rorw %b2, %b0" -- : "=a"(result) : "g"(value), "c"(shift)); -- return result; --} -- --#endif --#endif -- --#ifdef __cplusplus --} --#endif -- - #endif -+#if !defined(MINILZO_CFG_SKIP_LZO_UTIL) - --LZO_PUBLIC(lzo_bool) --lzo_assert(int expr) --{ -- return (expr) ? 1 : 0; --} -- --/* If you use the LZO library in a product, you *must* keep this -- * copyright string in the executable of your product. -- */ -- --const lzo_byte __lzo_copyright[] = --#if !defined(__LZO_IN_MINLZO) -- LZO_VERSION_STRING; --#else -- "\n\n\n" -- "LZO real-time data compression library.\n" -- "Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 Markus Franz Xaver Johannes Oberhumer\n" -- "\n" -- "http://www.oberhumer.com/opensource/lzo/\n" -- "\n" -- "LZO version: v" LZO_VERSION_STRING ", " LZO_VERSION_DATE "\n" -- "LZO build date: " __DATE__ " " __TIME__ "\n\n" -- "LZO special compilation options:\n" --#ifdef __cplusplus -- " __cplusplus\n" --#endif --#if defined(__PIC__) -- " __PIC__\n" --#elif defined(__pic__) -- " __pic__\n" --#endif --#if (UINT_MAX < LZO_0xffffffffL) -- " 16BIT\n" --#endif --#if defined(__LZO_STRICT_16BIT) -- " __LZO_STRICT_16BIT\n" --#endif --#if (UINT_MAX > LZO_0xffffffffL) -- " UINT_MAX=" _LZO_MEXPAND(UINT_MAX) "\n" --#endif --#if (ULONG_MAX > LZO_0xffffffffL) -- " ULONG_MAX=" _LZO_MEXPAND(ULONG_MAX) "\n" --#endif --#if defined(LZO_BYTE_ORDER) -- " LZO_BYTE_ORDER=" _LZO_MEXPAND(LZO_BYTE_ORDER) "\n" --#endif --#if defined(LZO_UNALIGNED_OK_2) -- " LZO_UNALIGNED_OK_2\n" --#endif --#if defined(LZO_UNALIGNED_OK_4) -- " LZO_UNALIGNED_OK_4\n" --#endif --#if defined(LZO_ALIGNED_OK_4) -- " LZO_ALIGNED_OK_4\n" --#endif --#if defined(LZO_DICT_USE_PTR) -- " LZO_DICT_USE_PTR\n" --#endif --#if defined(__LZO_QUERY_COMPRESS) -- " __LZO_QUERY_COMPRESS\n" --#endif --#if defined(__LZO_QUERY_DECOMPRESS) -- " __LZO_QUERY_DECOMPRESS\n" --#endif --#if defined(__LZO_IN_MINILZO) -- " __LZO_IN_MINILZO\n" --#endif -- "\n\n" -- "$Id: LZO " LZO_VERSION_STRING " built " __DATE__ " " __TIME__ --#if defined(__GNUC__) && defined(__VERSION__) -- " by gcc " __VERSION__ --#elif defined(__BORLANDC__) -- " by Borland C " _LZO_MEXPAND(__BORLANDC__) --#elif defined(_MSC_VER) -- " by Microsoft C " _LZO_MEXPAND(_MSC_VER) --#elif defined(__PUREC__) -- " by Pure C " _LZO_MEXPAND(__PUREC__) --#elif defined(__SC__) -- " by Symantec C " _LZO_MEXPAND(__SC__) --#elif defined(__TURBOC__) -- " by Turbo C " _LZO_MEXPAND(__TURBOC__) --#elif defined(__WATCOMC__) -- " by Watcom C " _LZO_MEXPAND(__WATCOMC__) --#endif -- " $\n" -- "$Copyright: LZO (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 Markus Franz Xaver Johannes Oberhumer $\n"; -+/* If you use the LZO library in a product, I would appreciate that you -+ * keep this copyright string in the executable of your product. -+ */ -+ -+static const char __lzo_copyright[] = -+#if !defined(__LZO_IN_MINLZO) -+ LZO_VERSION_STRING; -+#else -+ "\r\n\n" -+ "LZO data compression library.\n" -+ "$Copyright: LZO Copyright (C) 1996-2014 Markus Franz Xaver Johannes Oberhumer\n" -+ "\n" -+ "http://www.oberhumer.com $\n\n" -+ "$Id: LZO version: v" LZO_VERSION_STRING ", " LZO_VERSION_DATE " $\n" -+ "$Info: " LZO_INFO_STRING " $\n"; - #endif - --LZO_PUBLIC(const lzo_byte *) -+LZO_PUBLIC(const lzo_bytep) - lzo_copyright(void) - { -- return __lzo_copyright; -+ return (const lzo_bytep) __lzo_copyright; - } - - LZO_PUBLIC(unsigned) -@@ -765,619 +3958,378 @@ _lzo_version_date(void) - #define LZO_BASE 65521u - #define LZO_NMAX 5552 - --#define LZO_DO1(buf,i) {s1 += buf[i]; s2 += s1;} --#define LZO_DO2(buf,i) LZO_DO1(buf,i); LZO_DO1(buf,i+1); --#define LZO_DO4(buf,i) LZO_DO2(buf,i); LZO_DO2(buf,i+2); --#define LZO_DO8(buf,i) LZO_DO4(buf,i); LZO_DO4(buf,i+4); --#define LZO_DO16(buf,i) LZO_DO8(buf,i); LZO_DO8(buf,i+8); -+#define LZO_DO1(buf,i) s1 += buf[i]; s2 += s1 -+#define LZO_DO2(buf,i) LZO_DO1(buf,i); LZO_DO1(buf,i+1) -+#define LZO_DO4(buf,i) LZO_DO2(buf,i); LZO_DO2(buf,i+2) -+#define LZO_DO8(buf,i) LZO_DO4(buf,i); LZO_DO4(buf,i+4) -+#define LZO_DO16(buf,i) LZO_DO8(buf,i); LZO_DO8(buf,i+8) - --LZO_PUBLIC(lzo_uint32) --lzo_adler32(lzo_uint32 adler, const lzo_byte *buf, lzo_uint len) -+LZO_PUBLIC(lzo_uint32_t) -+lzo_adler32(lzo_uint32_t adler, const lzo_bytep buf, lzo_uint len) - { -- lzo_uint32 s1 = adler & 0xffff; -- lzo_uint32 s2 = (adler >> 16) & 0xffff; -- int k; -+ lzo_uint32_t s1 = adler & 0xffff; -+ lzo_uint32_t s2 = (adler >> 16) & 0xffff; -+ unsigned k; - - if (buf == NULL) -- return 1; -+ return 1; - - while (len > 0) - { -- k = len < LZO_NMAX ? (int) len : LZO_NMAX; -- len -= k; -- if (k >= 16) do -- { -- LZO_DO16(buf,0); -- buf += 16; -- k -= 16; -- } while (k >= 16); -- if (k != 0) do -- { -- s1 += *buf++; -- s2 += s1; -- } while (--k > 0); -- s1 %= LZO_BASE; -- s2 %= LZO_BASE; -+ k = len < LZO_NMAX ? (unsigned) len : LZO_NMAX; -+ len -= k; -+ if (k >= 16) do -+ { -+ LZO_DO16(buf,0); -+ buf += 16; -+ k -= 16; -+ } while (k >= 16); -+ if (k != 0) do -+ { -+ s1 += *buf++; -+ s2 += s1; -+ } while (--k > 0); -+ s1 %= LZO_BASE; -+ s2 %= LZO_BASE; - } - return (s2 << 16) | s1; - } - --LZO_PUBLIC(int) --lzo_memcmp(const lzo_voidp s1, const lzo_voidp s2, lzo_uint len) -+#undef LZO_DO1 -+#undef LZO_DO2 -+#undef LZO_DO4 -+#undef LZO_DO8 -+#undef LZO_DO16 -+ -+#endif -+#if !defined(MINILZO_CFG_SKIP_LZO_STRING) -+#undef lzo_memcmp -+#undef lzo_memcpy -+#undef lzo_memmove -+#undef lzo_memset -+#if !defined(__LZO_MMODEL_HUGE) -+# undef LZO_HAVE_MM_HUGE_PTR -+#endif -+#define lzo_hsize_t lzo_uint -+#define lzo_hvoid_p lzo_voidp -+#define lzo_hbyte_p lzo_bytep -+#define LZOLIB_PUBLIC(r,f) LZO_PUBLIC(r) f -+#define lzo_hmemcmp lzo_memcmp -+#define lzo_hmemcpy lzo_memcpy -+#define lzo_hmemmove lzo_memmove -+#define lzo_hmemset lzo_memset -+#define __LZOLIB_HMEMCPY_CH_INCLUDED 1 -+#if !defined(LZOLIB_PUBLIC) -+# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) -+#endif -+LZOLIB_PUBLIC(int, lzo_hmemcmp) (const lzo_hvoid_p s1, const lzo_hvoid_p s2, lzo_hsize_t len) - { --#if (LZO_UINT_MAX <= SIZE_T_MAX) && defined(HAVE_MEMCMP) -- return memcmp(s1,s2,len); --#else -- const lzo_byte *p1 = (const lzo_byte *) s1; -- const lzo_byte *p2 = (const lzo_byte *) s2; -- int d; -- -- if (len > 0) do -+#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCMP) -+ const lzo_hbyte_p p1 = LZO_STATIC_CAST(const lzo_hbyte_p, s1); -+ const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, s2); -+ if __lzo_likely(len > 0) do - { -- d = *p1 - *p2; -- if (d != 0) -- return d; -- p1++; -- p2++; -- } -- while (--len > 0); -+ int d = *p1 - *p2; -+ if (d != 0) -+ return d; -+ p1++; p2++; -+ } while __lzo_likely(--len > 0); - return 0; -+#else -+ return memcmp(s1, s2, len); - #endif - } -- --LZO_PUBLIC(lzo_voidp) --lzo_memcpy(lzo_voidp dest, const lzo_voidp src, lzo_uint len) -+LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemcpy) (lzo_hvoid_p dest, const lzo_hvoid_p src, lzo_hsize_t len) - { --#if (LZO_UINT_MAX <= SIZE_T_MAX) && defined(HAVE_MEMCPY) -- return memcpy(dest,src,len); --#else -- lzo_byte *p1 = (lzo_byte *) dest; -- const lzo_byte *p2 = (const lzo_byte *) src; -- -- if (len <= 0 || p1 == p2) -- return dest; -+#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCPY) -+ lzo_hbyte_p p1 = LZO_STATIC_CAST(lzo_hbyte_p, dest); -+ const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, src); -+ if (!(len > 0) || p1 == p2) -+ return dest; - do -- *p1++ = *p2++; -- while (--len > 0); -+ *p1++ = *p2++; -+ while __lzo_likely(--len > 0); - return dest; -+#else -+ return memcpy(dest, src, len); - #endif - } -- --LZO_PUBLIC(lzo_voidp) --lzo_memmove(lzo_voidp dest, const lzo_voidp src, lzo_uint len) -+LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemmove) (lzo_hvoid_p dest, const lzo_hvoid_p src, lzo_hsize_t len) - { --#if (LZO_UINT_MAX <= SIZE_T_MAX) && defined(HAVE_MEMMOVE) -- return memmove(dest,src,len); --#else -- lzo_byte *p1 = (lzo_byte *) dest; -- const lzo_byte *p2 = (const lzo_byte *) src; -- -- if (len <= 0 || p1 == p2) -- return dest; -- -+#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMMOVE) -+ lzo_hbyte_p p1 = LZO_STATIC_CAST(lzo_hbyte_p, dest); -+ const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, src); -+ if (!(len > 0) || p1 == p2) -+ return dest; - if (p1 < p2) - { -- do -- *p1++ = *p2++; -- while (--len > 0); -+ do -+ *p1++ = *p2++; -+ while __lzo_likely(--len > 0); - } - else - { -- p1 += len; -- p2 += len; -- do -- *--p1 = *--p2; -- while (--len > 0); -+ p1 += len; -+ p2 += len; -+ do -+ *--p1 = *--p2; -+ while __lzo_likely(--len > 0); - } - return dest; --#endif --} -- --LZO_PUBLIC(lzo_voidp) --lzo_memset(lzo_voidp s, int c, lzo_uint len) --{ --#if (LZO_UINT_MAX <= SIZE_T_MAX) && defined(HAVE_MEMSET) -- return memset(s,c,len); - #else -- lzo_byte *p = (lzo_byte *) s; -- -- if (len > 0) do -- *p++ = LZO_BYTE(c); -- while (--len > 0); -- return s; -+ return memmove(dest, src, len); - #endif - } -- --#if 0 --# define IS_SIGNED(type) (((type) (1ul << (8 * sizeof(type) - 1))) < 0) --# define IS_UNSIGNED(type) (((type) (1ul << (8 * sizeof(type) - 1))) > 0) --#else --# define IS_SIGNED(type) (((type) (-1)) < ((type) 0)) --# define IS_UNSIGNED(type) (((type) (-1)) > ((type) 0)) --#endif -- --#define IS_POWER_OF_2(x) (((x) & ((x) - 1)) == 0) -- --static lzo_bool schedule_insns_bug(void); --static lzo_bool strength_reduce_bug(int *); -- --#if 0 || defined(LZO_DEBUG) --#include --static lzo_bool __lzo_assert_fail(const char *s, unsigned line) -+LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemset) (lzo_hvoid_p s, int cc, lzo_hsize_t len) - { --#if defined(__palmos__) -- printf("LZO assertion failed in line %u: '%s'\n",line,s); -+#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMSET) -+ lzo_hbyte_p p = LZO_STATIC_CAST(lzo_hbyte_p, s); -+ unsigned char c = LZO_ITRUNC(unsigned char, cc); -+ if __lzo_likely(len > 0) do -+ *p++ = c; -+ while __lzo_likely(--len > 0); -+ return s; - #else -- fprintf(stderr,"LZO assertion failed in line %u: '%s'\n",line,s); -+ return memset(s, cc, len); - #endif -- return 0; - } --# define __lzo_assert(x) ((x) ? 1 : __lzo_assert_fail(#x,__LINE__)) --#else --# define __lzo_assert(x) ((x) ? 1 : 0) --#endif -- --#undef COMPILE_TIME_ASSERT --#if 0 --# define COMPILE_TIME_ASSERT(expr) r &= __lzo_assert(expr) --#else --# define COMPILE_TIME_ASSERT(expr) LZO_COMPILE_TIME_ASSERT(expr) --#endif -- --static lzo_bool basic_integral_check(void) --{ -- lzo_bool r = 1; -- -- COMPILE_TIME_ASSERT(CHAR_BIT == 8); -- COMPILE_TIME_ASSERT(sizeof(char) == 1); -- COMPILE_TIME_ASSERT(sizeof(short) >= 2); -- COMPILE_TIME_ASSERT(sizeof(long) >= 4); -- COMPILE_TIME_ASSERT(sizeof(int) >= sizeof(short)); -- COMPILE_TIME_ASSERT(sizeof(long) >= sizeof(int)); -- -- COMPILE_TIME_ASSERT(sizeof(lzo_uint) == sizeof(lzo_int)); -- COMPILE_TIME_ASSERT(sizeof(lzo_uint32) == sizeof(lzo_int32)); -- -- COMPILE_TIME_ASSERT(sizeof(lzo_uint32) >= 4); -- COMPILE_TIME_ASSERT(sizeof(lzo_uint32) >= sizeof(unsigned)); --#if defined(__LZO_STRICT_16BIT) -- COMPILE_TIME_ASSERT(sizeof(lzo_uint) == 2); --#else -- COMPILE_TIME_ASSERT(sizeof(lzo_uint) >= 4); -- COMPILE_TIME_ASSERT(sizeof(lzo_uint) >= sizeof(unsigned)); --#endif -- --#if (USHRT_MAX == 65535u) -- COMPILE_TIME_ASSERT(sizeof(short) == 2); --#elif (USHRT_MAX == LZO_0xffffffffL) -- COMPILE_TIME_ASSERT(sizeof(short) == 4); --#elif (USHRT_MAX >= LZO_0xffffffffL) -- COMPILE_TIME_ASSERT(sizeof(short) > 4); --#endif --#if (UINT_MAX == 65535u) -- COMPILE_TIME_ASSERT(sizeof(int) == 2); --#elif (UINT_MAX == LZO_0xffffffffL) -- COMPILE_TIME_ASSERT(sizeof(int) == 4); --#elif (UINT_MAX >= LZO_0xffffffffL) -- COMPILE_TIME_ASSERT(sizeof(int) > 4); --#endif --#if (ULONG_MAX == 65535ul) -- COMPILE_TIME_ASSERT(sizeof(long) == 2); --#elif (ULONG_MAX == LZO_0xffffffffL) -- COMPILE_TIME_ASSERT(sizeof(long) == 4); --#elif (ULONG_MAX >= LZO_0xffffffffL) -- COMPILE_TIME_ASSERT(sizeof(long) > 4); -+#undef LZOLIB_PUBLIC - #endif -+#if !defined(MINILZO_CFG_SKIP_LZO_INIT) - --#if defined(SIZEOF_UNSIGNED) -- COMPILE_TIME_ASSERT(SIZEOF_UNSIGNED == sizeof(unsigned)); --#endif --#if defined(SIZEOF_UNSIGNED_LONG) -- COMPILE_TIME_ASSERT(SIZEOF_UNSIGNED_LONG == sizeof(unsigned long)); --#endif --#if defined(SIZEOF_UNSIGNED_SHORT) -- COMPILE_TIME_ASSERT(SIZEOF_UNSIGNED_SHORT == sizeof(unsigned short)); --#endif - #if !defined(__LZO_IN_MINILZO) --#if defined(SIZEOF_SIZE_T) -- COMPILE_TIME_ASSERT(SIZEOF_SIZE_T == sizeof(size_t)); --#endif --#endif -- -- COMPILE_TIME_ASSERT(IS_UNSIGNED(unsigned char)); -- COMPILE_TIME_ASSERT(IS_UNSIGNED(unsigned short)); -- COMPILE_TIME_ASSERT(IS_UNSIGNED(unsigned)); -- COMPILE_TIME_ASSERT(IS_UNSIGNED(unsigned long)); -- COMPILE_TIME_ASSERT(IS_SIGNED(short)); -- COMPILE_TIME_ASSERT(IS_SIGNED(int)); -- COMPILE_TIME_ASSERT(IS_SIGNED(long)); -- -- COMPILE_TIME_ASSERT(IS_UNSIGNED(lzo_uint32)); -- COMPILE_TIME_ASSERT(IS_UNSIGNED(lzo_uint)); -- COMPILE_TIME_ASSERT(IS_SIGNED(lzo_int32)); -- COMPILE_TIME_ASSERT(IS_SIGNED(lzo_int)); -- -- COMPILE_TIME_ASSERT(INT_MAX == LZO_STYPE_MAX(sizeof(int))); -- COMPILE_TIME_ASSERT(UINT_MAX == LZO_UTYPE_MAX(sizeof(unsigned))); -- COMPILE_TIME_ASSERT(LONG_MAX == LZO_STYPE_MAX(sizeof(long))); -- COMPILE_TIME_ASSERT(ULONG_MAX == LZO_UTYPE_MAX(sizeof(unsigned long))); -- COMPILE_TIME_ASSERT(SHRT_MAX == LZO_STYPE_MAX(sizeof(short))); -- COMPILE_TIME_ASSERT(USHRT_MAX == LZO_UTYPE_MAX(sizeof(unsigned short))); -- COMPILE_TIME_ASSERT(LZO_UINT32_MAX == LZO_UTYPE_MAX(sizeof(lzo_uint32))); -- COMPILE_TIME_ASSERT(LZO_UINT_MAX == LZO_UTYPE_MAX(sizeof(lzo_uint))); --#if !defined(__LZO_IN_MINILZO) -- COMPILE_TIME_ASSERT(SIZE_T_MAX == LZO_UTYPE_MAX(sizeof(size_t))); --#endif -- -- r &= __lzo_assert(LZO_BYTE(257) == 1); -- -- return r; --} -- --static lzo_bool basic_ptr_check(void) --{ -- lzo_bool r = 1; -- -- COMPILE_TIME_ASSERT(sizeof(char *) >= sizeof(int)); -- COMPILE_TIME_ASSERT(sizeof(lzo_byte *) >= sizeof(char *)); -- -- COMPILE_TIME_ASSERT(sizeof(lzo_voidp) == sizeof(lzo_byte *)); -- COMPILE_TIME_ASSERT(sizeof(lzo_voidp) == sizeof(lzo_voidpp)); -- COMPILE_TIME_ASSERT(sizeof(lzo_voidp) == sizeof(lzo_bytepp)); -- COMPILE_TIME_ASSERT(sizeof(lzo_voidp) >= sizeof(lzo_uint)); -- -- COMPILE_TIME_ASSERT(sizeof(lzo_ptr_t) == sizeof(lzo_voidp)); -- COMPILE_TIME_ASSERT(sizeof(lzo_ptr_t) == sizeof(lzo_sptr_t)); -- COMPILE_TIME_ASSERT(sizeof(lzo_ptr_t) >= sizeof(lzo_uint)); - -- COMPILE_TIME_ASSERT(sizeof(lzo_ptrdiff_t) >= 4); -- COMPILE_TIME_ASSERT(sizeof(lzo_ptrdiff_t) >= sizeof(ptrdiff_t)); -+#define LZO_WANT_ACC_CHK_CH 1 -+#undef LZOCHK_ASSERT - -- COMPILE_TIME_ASSERT(sizeof(ptrdiff_t) >= sizeof(size_t)); -- COMPILE_TIME_ASSERT(sizeof(lzo_ptrdiff_t) >= sizeof(lzo_uint)); -- --#if defined(SIZEOF_CHAR_P) -- COMPILE_TIME_ASSERT(SIZEOF_CHAR_P == sizeof(char *)); --#endif --#if defined(SIZEOF_PTRDIFF_T) -- COMPILE_TIME_ASSERT(SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t)); -+ LZOCHK_ASSERT((LZO_UINT32_C(1) << (int)(8*sizeof(LZO_UINT32_C(1))-1)) > 0) -+ LZOCHK_ASSERT_IS_SIGNED_T(lzo_int) -+ LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint) -+#if !(__LZO_UINTPTR_T_IS_POINTER) -+ LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uintptr_t) - #endif -+ LZOCHK_ASSERT(sizeof(lzo_uintptr_t) >= sizeof(lzo_voidp)) -+ LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_xint) - -- COMPILE_TIME_ASSERT(IS_SIGNED(ptrdiff_t)); -- COMPILE_TIME_ASSERT(IS_UNSIGNED(size_t)); -- COMPILE_TIME_ASSERT(IS_SIGNED(lzo_ptrdiff_t)); -- COMPILE_TIME_ASSERT(IS_SIGNED(lzo_sptr_t)); -- COMPILE_TIME_ASSERT(IS_UNSIGNED(lzo_ptr_t)); -- COMPILE_TIME_ASSERT(IS_UNSIGNED(lzo_moff_t)); -- -- return r; --} -- --static lzo_bool ptr_check(void) --{ -- lzo_bool r = 1; -- int i; -- char _wrkmem[10 * sizeof(lzo_byte *) + sizeof(lzo_full_align_t)]; -- lzo_bytep wrkmem; -- lzo_bytepp dict; -- unsigned char x[4 * sizeof(lzo_full_align_t)]; -- long d; -- lzo_full_align_t a; -- lzo_full_align_t u; -- -- for (i = 0; i < (int) sizeof(x); i++) -- x[i] = LZO_BYTE(i); -- -- wrkmem = LZO_PTR_ALIGN_UP((lzo_byte *)_wrkmem,sizeof(lzo_full_align_t)); -- --#if 0 -- dict = (lzo_bytepp) wrkmem; --#else -- -- u.a_lzo_bytep = wrkmem; dict = u.a_lzo_bytepp; - #endif -+#undef LZOCHK_ASSERT - -- d = (long) ((const lzo_bytep) dict - (const lzo_bytep) _wrkmem); -- r &= __lzo_assert(d >= 0); -- r &= __lzo_assert(d < (long) sizeof(lzo_full_align_t)); -- -- memset(&a,0,sizeof(a)); -- r &= __lzo_assert(a.a_lzo_voidp == NULL); -- -- memset(&a,0xff,sizeof(a)); -- r &= __lzo_assert(a.a_ushort == USHRT_MAX); -- r &= __lzo_assert(a.a_uint == UINT_MAX); -- r &= __lzo_assert(a.a_ulong == ULONG_MAX); -- r &= __lzo_assert(a.a_lzo_uint == LZO_UINT_MAX); -- r &= __lzo_assert(a.a_lzo_uint32 == LZO_UINT32_MAX); -- -- if (r == 1) -- { -- for (i = 0; i < 8; i++) -- r &= __lzo_assert((const lzo_voidp) (&dict[i]) == (const lzo_voidp) (&wrkmem[i * sizeof(lzo_byte *)])); -- } -- -- memset(&a,0,sizeof(a)); -- r &= __lzo_assert(a.a_char_p == NULL); -- r &= __lzo_assert(a.a_lzo_bytep == NULL); -- r &= __lzo_assert(NULL == (void *)0); -- if (r == 1) -- { -- for (i = 0; i < 10; i++) -- dict[i] = wrkmem; -- BZERO8_PTR(dict+1,sizeof(dict[0]),8); -- r &= __lzo_assert(dict[0] == wrkmem); -- for (i = 1; i < 9; i++) -- r &= __lzo_assert(dict[i] == NULL); -- r &= __lzo_assert(dict[9] == wrkmem); -- } -- -- if (r == 1) -- { -- unsigned k = 1; -- const unsigned n = (unsigned) sizeof(lzo_uint32); -- lzo_byte *p0; -- lzo_byte *p1; -- -- k += __lzo_align_gap(&x[k],n); -- p0 = (lzo_bytep) &x[k]; --#if defined(PTR_LINEAR) -- r &= __lzo_assert((PTR_LINEAR(p0) & (n-1)) == 0); --#else -- r &= __lzo_assert(n == 4); -- r &= __lzo_assert(PTR_ALIGNED_4(p0)); -+union lzo_config_check_union { -+ lzo_uint a[2]; -+ unsigned char b[2*LZO_MAX(8,sizeof(lzo_uint))]; -+#if defined(lzo_uint64_t) -+ lzo_uint64_t c[2]; - #endif -+}; - -- r &= __lzo_assert(k >= 1); -- p1 = (lzo_bytep) &x[1]; -- r &= __lzo_assert(PTR_GE(p0,p1)); -- -- r &= __lzo_assert(k < 1+n); -- p1 = (lzo_bytep) &x[1+n]; -- r &= __lzo_assert(PTR_LT(p0,p1)); -- -- if (r == 1) -- { -- lzo_uint32 v0, v1; - #if 0 -- v0 = * (lzo_uint32 *) &x[k]; -- v1 = * (lzo_uint32 *) &x[k+n]; -+#define u2p(ptr,off) ((lzo_voidp) (((lzo_bytep)(lzo_voidp)(ptr)) + (off))) - #else -- -- u.a_uchar_p = &x[k]; -- v0 = *u.a_lzo_uint32_p; -- u.a_uchar_p = &x[k+n]; -- v1 = *u.a_lzo_uint32_p; --#endif -- r &= __lzo_assert(v0 > 0); -- r &= __lzo_assert(v1 > 0); -- } -- } -- -- return r; -+static __lzo_noinline lzo_voidp u2p(lzo_voidp ptr, lzo_uint off) -+{ -+ return (lzo_voidp) ((lzo_bytep) ptr + off); - } -+#endif - - LZO_PUBLIC(int) - _lzo_config_check(void) - { -- lzo_bool r = 1; -- int i; -- union { -- lzo_uint32 a; -- unsigned short b; -- lzo_uint32 aa[4]; -- unsigned char x[4*sizeof(lzo_full_align_t)]; -- } u; -- -- COMPILE_TIME_ASSERT( (int) ((unsigned char) ((signed char) -1)) == 255); -- COMPILE_TIME_ASSERT( (((unsigned char)128) << (int)(8*sizeof(int)-8)) < 0); -- --#if 0 -- r &= __lzo_assert((const void *)&u == (const void *)&u.a); -- r &= __lzo_assert((const void *)&u == (const void *)&u.b); -- r &= __lzo_assert((const void *)&u == (const void *)&u.x[0]); -- r &= __lzo_assert((const void *)&u == (const void *)&u.aa[0]); --#endif -- -- r &= basic_integral_check(); -- r &= basic_ptr_check(); -- if (r != 1) -- return LZO_E_ERROR; -- -- u.a = 0; u.b = 0; -- for (i = 0; i < (int) sizeof(u.x); i++) -- u.x[i] = LZO_BYTE(i); -- --#if defined(LZO_BYTE_ORDER) -- if (r == 1) -- { --# if (LZO_BYTE_ORDER == LZO_LITTLE_ENDIAN) -- lzo_uint32 a = (lzo_uint32) (u.a & LZO_0xffffffffL); -- unsigned short b = (unsigned short) (u.b & 0xffff); -- r &= __lzo_assert(a == 0x03020100L); -- r &= __lzo_assert(b == 0x0100); --# elif (LZO_BYTE_ORDER == LZO_BIG_ENDIAN) -- lzo_uint32 a = u.a >> (8 * sizeof(u.a) - 32); -- unsigned short b = u.b >> (8 * sizeof(u.b) - 16); -- r &= __lzo_assert(a == 0x00010203L); -- r &= __lzo_assert(b == 0x0001); --# else --# error "invalid LZO_BYTE_ORDER" --# endif -- } --#endif -- --#if defined(LZO_UNALIGNED_OK_2) -- COMPILE_TIME_ASSERT(sizeof(short) == 2); -- if (r == 1) -- { -- unsigned short b[4]; -- -- for (i = 0; i < 4; i++) -- b[i] = * (const unsigned short *) &u.x[i]; -- --# if (LZO_BYTE_ORDER == LZO_LITTLE_ENDIAN) -- r &= __lzo_assert(b[0] == 0x0100); -- r &= __lzo_assert(b[1] == 0x0201); -- r &= __lzo_assert(b[2] == 0x0302); -- r &= __lzo_assert(b[3] == 0x0403); --# elif (LZO_BYTE_ORDER == LZO_BIG_ENDIAN) -- r &= __lzo_assert(b[0] == 0x0001); -- r &= __lzo_assert(b[1] == 0x0102); -- r &= __lzo_assert(b[2] == 0x0203); -- r &= __lzo_assert(b[3] == 0x0304); --# endif -- } --#endif -- --#if defined(LZO_UNALIGNED_OK_4) -- COMPILE_TIME_ASSERT(sizeof(lzo_uint32) == 4); -- if (r == 1) -- { -- lzo_uint32 a[4]; -- -- for (i = 0; i < 4; i++) -- a[i] = * (const lzo_uint32 *) &u.x[i]; -- --# if (LZO_BYTE_ORDER == LZO_LITTLE_ENDIAN) -- r &= __lzo_assert(a[0] == 0x03020100L); -- r &= __lzo_assert(a[1] == 0x04030201L); -- r &= __lzo_assert(a[2] == 0x05040302L); -- r &= __lzo_assert(a[3] == 0x06050403L); --# elif (LZO_BYTE_ORDER == LZO_BIG_ENDIAN) -- r &= __lzo_assert(a[0] == 0x00010203L); -- r &= __lzo_assert(a[1] == 0x01020304L); -- r &= __lzo_assert(a[2] == 0x02030405L); -- r &= __lzo_assert(a[3] == 0x03040506L); --# endif -- } --#endif -- --#if defined(LZO_ALIGNED_OK_4) -- COMPILE_TIME_ASSERT(sizeof(lzo_uint32) == 4); --#endif -- -- COMPILE_TIME_ASSERT(lzo_sizeof_dict_t == sizeof(lzo_dict_t)); -- --#if defined(__LZO_IN_MINLZO) -- if (r == 1) -- { -- lzo_uint32 adler; -- adler = lzo_adler32(0, NULL, 0); -- adler = lzo_adler32(adler, lzo_copyright(), 200); -- r &= __lzo_assert(adler == 0xc76f1751L); -- } --#endif -- -- if (r == 1) -- { -- r &= __lzo_assert(!schedule_insns_bug()); -- } -- -- if (r == 1) -- { -- static int x[3]; -- static unsigned xn = 3; -- register unsigned j; -- -- for (j = 0; j < xn; j++) -- x[j] = (int)j - 3; -- r &= __lzo_assert(!strength_reduce_bug(x)); -- } -- -- if (r == 1) -- { -- r &= ptr_check(); -- } -+#if (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030100ul && LZO_CC_CLANG < 0x030300ul)) -+# if 0 -+ volatile -+# endif -+#endif -+ union lzo_config_check_union u; -+ lzo_voidp p; -+ unsigned r = 1; -+ -+ u.a[0] = u.a[1] = 0; -+ p = u2p(&u, 0); -+ r &= ((* (lzo_bytep) p) == 0); -+#if !(LZO_CFG_NO_CONFIG_CHECK) -+#if (LZO_ABI_BIG_ENDIAN) -+ u.a[0] = u.a[1] = 0; u.b[sizeof(lzo_uint) - 1] = 128; -+ p = u2p(&u, 0); -+ r &= ((* (lzo_uintp) p) == 128); -+#endif -+#if (LZO_ABI_LITTLE_ENDIAN) -+ u.a[0] = u.a[1] = 0; u.b[0] = 128; -+ p = u2p(&u, 0); -+ r &= ((* (lzo_uintp) p) == 128); -+#endif -+ u.a[0] = u.a[1] = 0; -+ u.b[0] = 1; u.b[3] = 2; -+ p = u2p(&u, 1); -+ r &= UA_GET_NE16(p) == 0; -+ r &= UA_GET_LE16(p) == 0; -+ u.b[1] = 128; -+ r &= UA_GET_LE16(p) == 128; -+ u.b[2] = 129; -+ r &= UA_GET_LE16(p) == LZO_UINT16_C(0x8180); -+#if (LZO_ABI_BIG_ENDIAN) -+ r &= UA_GET_NE16(p) == LZO_UINT16_C(0x8081); -+#endif -+#if (LZO_ABI_LITTLE_ENDIAN) -+ r &= UA_GET_NE16(p) == LZO_UINT16_C(0x8180); -+#endif -+ u.a[0] = u.a[1] = 0; -+ u.b[0] = 3; u.b[5] = 4; -+ p = u2p(&u, 1); -+ r &= UA_GET_NE32(p) == 0; -+ r &= UA_GET_LE32(p) == 0; -+ u.b[1] = 128; -+ r &= UA_GET_LE32(p) == 128; -+ u.b[2] = 129; u.b[3] = 130; u.b[4] = 131; -+ r &= UA_GET_LE32(p) == LZO_UINT32_C(0x83828180); -+#if (LZO_ABI_BIG_ENDIAN) -+ r &= UA_GET_NE32(p) == LZO_UINT32_C(0x80818283); -+#endif -+#if (LZO_ABI_LITTLE_ENDIAN) -+ r &= UA_GET_NE32(p) == LZO_UINT32_C(0x83828180); -+#endif -+#if defined(UA_GET_NE64) -+ u.c[0] = u.c[1] = 0; -+ u.b[0] = 5; u.b[9] = 6; -+ p = u2p(&u, 1); -+ u.c[0] = u.c[1] = 0; -+ r &= UA_GET_NE64(p) == 0; -+#if defined(UA_GET_LE64) -+ r &= UA_GET_LE64(p) == 0; -+ u.b[1] = 128; -+ r &= UA_GET_LE64(p) == 128; -+#endif -+#endif -+#if defined(lzo_bitops_ctlz32) -+ { unsigned i = 0; lzo_uint32_t v; -+ for (v = 1; v != 0 && r == 1; v <<= 1, i++) { -+ r &= lzo_bitops_ctlz32(v) == 31 - i; -+ r &= lzo_bitops_ctlz32_func(v) == 31 - i; -+ }} -+#endif -+#if defined(lzo_bitops_ctlz64) -+ { unsigned i = 0; lzo_uint64_t v; -+ for (v = 1; v != 0 && r == 1; v <<= 1, i++) { -+ r &= lzo_bitops_ctlz64(v) == 63 - i; -+ r &= lzo_bitops_ctlz64_func(v) == 63 - i; -+ }} -+#endif -+#if defined(lzo_bitops_cttz32) -+ { unsigned i = 0; lzo_uint32_t v; -+ for (v = 1; v != 0 && r == 1; v <<= 1, i++) { -+ r &= lzo_bitops_cttz32(v) == i; -+ r &= lzo_bitops_cttz32_func(v) == i; -+ }} -+#endif -+#if defined(lzo_bitops_cttz64) -+ { unsigned i = 0; lzo_uint64_t v; -+ for (v = 1; v != 0 && r == 1; v <<= 1, i++) { -+ r &= lzo_bitops_cttz64(v) == i; -+ r &= lzo_bitops_cttz64_func(v) == i; -+ }} -+#endif -+#endif -+ LZO_UNUSED_FUNC(lzo_bitops_unused_funcs); - - return r == 1 ? LZO_E_OK : LZO_E_ERROR; - } - --static lzo_bool schedule_insns_bug(void) --{ --#if defined(__LZO_CHECKER) -- return 0; --#else -- const int clone[] = {1, 2, 0}; -- const int *q; -- q = clone; -- return (*q) ? 0 : 1; --#endif --} -- --static lzo_bool strength_reduce_bug(int *x) --{ -- return x[0] != -3 || x[1] != -2 || x[2] != -1; --} -- --#undef COMPILE_TIME_ASSERT -- --int __lzo_init_done = 0; -- - LZO_PUBLIC(int) --__lzo_init2(unsigned v, int s1, int s2, int s3, int s4, int s5, -- int s6, int s7, int s8, int s9) -+__lzo_init_v2(unsigned v, int s1, int s2, int s3, int s4, int s5, -+ int s6, int s7, int s8, int s9) - { - int r; - -- __lzo_init_done = 1; -+#if defined(__LZO_IN_MINILZO) -+#elif (LZO_CC_MSC && ((_MSC_VER) < 700)) -+#else -+#define LZO_WANT_ACC_CHK_CH 1 -+#undef LZOCHK_ASSERT -+#define LZOCHK_ASSERT(expr) LZO_COMPILE_TIME_ASSERT(expr) -+#endif -+#undef LZOCHK_ASSERT - - if (v == 0) -- return LZO_E_ERROR; -+ return LZO_E_ERROR; - - r = (s1 == -1 || s1 == (int) sizeof(short)) && -- (s2 == -1 || s2 == (int) sizeof(int)) && -- (s3 == -1 || s3 == (int) sizeof(long)) && -- (s4 == -1 || s4 == (int) sizeof(lzo_uint32)) && -- (s5 == -1 || s5 == (int) sizeof(lzo_uint)) && -- (s6 == -1 || s6 == (int) lzo_sizeof_dict_t) && -- (s7 == -1 || s7 == (int) sizeof(char *)) && -- (s8 == -1 || s8 == (int) sizeof(lzo_voidp)) && -- (s9 == -1 || s9 == (int) sizeof(lzo_compress_t)); -+ (s2 == -1 || s2 == (int) sizeof(int)) && -+ (s3 == -1 || s3 == (int) sizeof(long)) && -+ (s4 == -1 || s4 == (int) sizeof(lzo_uint32_t)) && -+ (s5 == -1 || s5 == (int) sizeof(lzo_uint)) && -+ (s6 == -1 || s6 == (int) lzo_sizeof_dict_t) && -+ (s7 == -1 || s7 == (int) sizeof(char *)) && -+ (s8 == -1 || s8 == (int) sizeof(lzo_voidp)) && -+ (s9 == -1 || s9 == (int) sizeof(lzo_callback_t)); - if (!r) -- return LZO_E_ERROR; -+ return LZO_E_ERROR; - - r = _lzo_config_check(); - if (r != LZO_E_OK) -- return r; -+ return r; - - return r; - } - - #if !defined(__LZO_IN_MINILZO) - --LZO_EXTERN(int) --__lzo_init(unsigned v,int s1,int s2,int s3,int s4,int s5,int s6,int s7); -+#if (LZO_OS_WIN16 && LZO_CC_WATCOMC) && defined(__SW_BD) - --LZO_PUBLIC(int) --__lzo_init(unsigned v,int s1,int s2,int s3,int s4,int s5,int s6,int s7) -+#if 0 -+BOOL FAR PASCAL LibMain ( HANDLE hInstance, WORD wDataSegment, -+ WORD wHeapSize, LPSTR lpszCmdLine ) -+#else -+int __far __pascal LibMain ( int a, short b, short c, long d ) -+#endif - { -- if (v == 0 || v > 0x1010) -- return LZO_E_ERROR; -- return __lzo_init2(v,s1,s2,s3,s4,s5,-1,-1,s6,s7); -+ LZO_UNUSED(a); LZO_UNUSED(b); LZO_UNUSED(c); LZO_UNUSED(d); -+ return 1; - } - - #endif - --#define do_compress _lzo1x_1_do_compress -+#endif -+ -+#endif -+ -+#define LZO1X 1 -+#define LZO_EOF_CODE 1 -+#define M2_MAX_OFFSET 0x0800 -+ -+#if !defined(MINILZO_CFG_SKIP_LZO1X_1_COMPRESS) -+ -+#if 1 && defined(UA_GET_LE32) -+#undef LZO_DICT_USE_PTR -+#define LZO_DICT_USE_PTR 0 -+#undef lzo_dict_t -+#define lzo_dict_t lzo_uint16_t -+#endif - --#define LZO_NEED_DICT_H -+#define LZO_NEED_DICT_H 1 -+#ifndef D_BITS - #define D_BITS 14 --#define D_INDEX1(d,p) d = DM((0x21*DX3(p,5,5,6)) >> 5) -+#endif -+#define D_INDEX1(d,p) d = DM(DMUL(0x21,DX3(p,5,5,6)) >> 5) - #define D_INDEX2(d,p) d = (d & (D_MASK & 0x7ff)) ^ (D_HIGH | 0x1f) -+#if 1 -+#define DINDEX(dv,p) DM(((DMUL(0x1824429d,dv)) >> (32-D_BITS))) -+#else -+#define DINDEX(dv,p) DM((dv) + ((dv) >> (32-D_BITS))) -+#endif - - #ifndef __LZO_CONFIG1X_H --#define __LZO_CONFIG1X_H -+#define __LZO_CONFIG1X_H 1 - - #if !defined(LZO1X) && !defined(LZO1Y) && !defined(LZO1Z) --# define LZO1X -+# define LZO1X 1 - #endif - - #if !defined(__LZO_IN_MINILZO) --#include -+#include "lzo/lzo1x.h" - #endif - --#define LZO_EOF_CODE -+#ifndef LZO_EOF_CODE -+#define LZO_EOF_CODE 1 -+#endif - #undef LZO_DETERMINISTIC - - #define M1_MAX_OFFSET 0x0400 -@@ -1417,7 +4369,7 @@ __lzo_init(unsigned v,int s1,int s2,int s3,int s4,int s5,int s6,int s7) - #define DL_MIN_LEN M2_MIN_LEN - - #ifndef __LZO_DICT_H --#define __LZO_DICT_H -+#define __LZO_DICT_H 1 - - #ifdef __cplusplus - extern "C" { -@@ -1458,10 +4410,10 @@ extern "C" { - #if (D_BITS != DL_BITS + DD_BITS) - # error "D_BITS does not match" - #endif --#if (D_BITS < 8 || D_BITS > 18) -+#if (D_BITS < 6 || D_BITS > 18) - # error "invalid D_BITS" - #endif --#if (DL_BITS < 8 || DL_BITS > 20) -+#if (DL_BITS < 6 || DL_BITS > 20) - # error "invalid DL_BITS" - #endif - #if (DD_BITS < 0 || DD_BITS > 6) -@@ -1484,29 +4436,32 @@ extern "C" { - # error "choose a hashing strategy" - #endif - -+#undef DM -+#undef DX -+ - #if (DL_MIN_LEN == 3) - # define _DV2_A(p,shift1,shift2) \ -- (((( (lzo_uint32)((p)[0]) << shift1) ^ (p)[1]) << shift2) ^ (p)[2]) -+ (((( (lzo_xint)((p)[0]) << shift1) ^ (p)[1]) << shift2) ^ (p)[2]) - # define _DV2_B(p,shift1,shift2) \ -- (((( (lzo_uint32)((p)[2]) << shift1) ^ (p)[1]) << shift2) ^ (p)[0]) -+ (((( (lzo_xint)((p)[2]) << shift1) ^ (p)[1]) << shift2) ^ (p)[0]) - # define _DV3_B(p,shift1,shift2,shift3) \ -- ((_DV2_B((p)+1,shift1,shift2) << (shift3)) ^ (p)[0]) -+ ((_DV2_B((p)+1,shift1,shift2) << (shift3)) ^ (p)[0]) - #elif (DL_MIN_LEN == 2) - # define _DV2_A(p,shift1,shift2) \ -- (( (lzo_uint32)(p[0]) << shift1) ^ p[1]) -+ (( (lzo_xint)(p[0]) << shift1) ^ p[1]) - # define _DV2_B(p,shift1,shift2) \ -- (( (lzo_uint32)(p[1]) << shift1) ^ p[2]) -+ (( (lzo_xint)(p[1]) << shift1) ^ p[2]) - #else - # error "invalid DL_MIN_LEN" - #endif - #define _DV_A(p,shift) _DV2_A(p,shift,shift) - #define _DV_B(p,shift) _DV2_B(p,shift,shift) - #define DA2(p,s1,s2) \ -- (((((lzo_uint32)((p)[2]) << (s2)) + (p)[1]) << (s1)) + (p)[0]) -+ (((((lzo_xint)((p)[2]) << (s2)) + (p)[1]) << (s1)) + (p)[0]) - #define DS2(p,s1,s2) \ -- (((((lzo_uint32)((p)[2]) << (s2)) - (p)[1]) << (s1)) - (p)[0]) -+ (((((lzo_xint)((p)[2]) << (s2)) - (p)[1]) << (s1)) - (p)[0]) - #define DX2(p,s1,s2) \ -- (((((lzo_uint32)((p)[2]) << (s2)) ^ (p)[1]) << (s1)) ^ (p)[0]) -+ (((((lzo_xint)((p)[2]) << (s2)) ^ (p)[1]) << (s1)) ^ (p)[0]) - #define DA3(p,s1,s2,s3) ((DA2((p)+1,s2,s3) << (s1)) + (p)[0]) - #define DS3(p,s1,s2,s3) ((DS2((p)+1,s2,s3) << (s1)) - (p)[0]) - #define DX3(p,s1,s2,s3) ((DX2((p)+1,s2,s3) << (s1)) ^ (p)[0]) -@@ -1517,26 +4472,26 @@ extern "C" { - # define _DINDEX(dv,p) (_DV_A((p),DL_SHIFT)) - - #elif (LZO_HASH == LZO_HASH_GZIP_INCREMENTAL) --# define __LZO_HASH_INCREMENTAL -+# define __LZO_HASH_INCREMENTAL 1 - # define DVAL_FIRST(dv,p) dv = _DV_A((p),DL_SHIFT) - # define DVAL_NEXT(dv,p) dv = (((dv) << DL_SHIFT) ^ p[2]) - # define _DINDEX(dv,p) (dv) - # define DVAL_LOOKAHEAD DL_MIN_LEN - - #elif (LZO_HASH == LZO_HASH_LZO_INCREMENTAL_A) --# define __LZO_HASH_INCREMENTAL -+# define __LZO_HASH_INCREMENTAL 1 - # define DVAL_FIRST(dv,p) dv = _DV_A((p),5) - # define DVAL_NEXT(dv,p) \ -- dv ^= (lzo_uint32)(p[-1]) << (2*5); dv = (((dv) << 5) ^ p[2]) --# define _DINDEX(dv,p) ((0x9f5f * (dv)) >> 5) -+ dv ^= (lzo_xint)(p[-1]) << (2*5); dv = (((dv) << 5) ^ p[2]) -+# define _DINDEX(dv,p) ((DMUL(0x9f5f,dv)) >> 5) - # define DVAL_LOOKAHEAD DL_MIN_LEN - - #elif (LZO_HASH == LZO_HASH_LZO_INCREMENTAL_B) --# define __LZO_HASH_INCREMENTAL -+# define __LZO_HASH_INCREMENTAL 1 - # define DVAL_FIRST(dv,p) dv = _DV_B((p),5) - # define DVAL_NEXT(dv,p) \ -- dv ^= p[-1]; dv = (((dv) >> 5) ^ ((lzo_uint32)(p[2]) << (2*5))) --# define _DINDEX(dv,p) ((0x9f5f * (dv)) >> 5) -+ dv ^= p[-1]; dv = (((dv) >> 5) ^ ((lzo_xint)(p[2]) << (2*5))) -+# define _DINDEX(dv,p) ((DMUL(0x9f5f,dv)) >> 5) - # define DVAL_LOOKAHEAD DL_MIN_LEN - - #else -@@ -1561,9 +4516,14 @@ extern "C" { - - #if !defined(DVAL_ASSERT) - #if defined(__LZO_HASH_INCREMENTAL) && !defined(NDEBUG) --static void DVAL_ASSERT(lzo_uint32 dv, const lzo_byte *p) -+#if (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZO_CC_LLVM) -+static void __attribute__((__unused__)) -+#else -+static void -+#endif -+DVAL_ASSERT(lzo_xint dv, const lzo_bytep p) - { -- lzo_uint32 df; -+ lzo_xint df; - DVAL_FIRST(df,(p)); - assert(DINDEX(dv,p) == DINDEX(df,p)); - } -@@ -1572,11 +4532,11 @@ static void DVAL_ASSERT(lzo_uint32 dv, const lzo_byte *p) - #endif - #endif - --#if defined(LZO_DICT_USE_PTR) -+#if (LZO_DICT_USE_PTR) - # define DENTRY(p,in) (p) - # define GINDEX(m_pos,m_off,dict,dindex,in) m_pos = dict[dindex] - #else --# define DENTRY(p,in) ((lzo_uint) ((p)-(in))) -+# define DENTRY(p,in) ((lzo_dict_t) pd(p, in)) - # define GINDEX(m_pos,m_off,dict,dindex,in) m_off = dict[dindex] - #endif - -@@ -1589,40 +4549,41 @@ static void DVAL_ASSERT(lzo_uint32 dv, const lzo_byte *p) - #else - - # define UPDATE_D(dict,drun,dv,p,in) \ -- dict[ DINDEX(dv,p) + drun++ ] = DENTRY(p,in); drun &= DD_MASK -+ dict[ DINDEX(dv,p) + drun++ ] = DENTRY(p,in); drun &= DD_MASK - # define UPDATE_I(dict,drun,index,p,in) \ -- dict[ (index) + drun++ ] = DENTRY(p,in); drun &= DD_MASK -+ dict[ (index) + drun++ ] = DENTRY(p,in); drun &= DD_MASK - # define UPDATE_P(ptr,drun,p,in) \ -- (ptr) [ drun++ ] = DENTRY(p,in); drun &= DD_MASK -+ (ptr) [ drun++ ] = DENTRY(p,in); drun &= DD_MASK - - #endif - --#if defined(LZO_DICT_USE_PTR) -+#if (LZO_DICT_USE_PTR) - - #define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \ -- (m_pos == NULL || (m_off = (lzo_moff_t) (ip - m_pos)) > max_offset) -+ (m_pos == NULL || (m_off = pd(ip, m_pos)) > max_offset) - - #define LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,max_offset) \ -- (BOUNDS_CHECKING_OFF_IN_EXPR( \ -- (PTR_LT(m_pos,in) || \ -- (m_off = (lzo_moff_t) PTR_DIFF(ip,m_pos)) <= 0 || \ -- m_off > max_offset) )) -+ (BOUNDS_CHECKING_OFF_IN_EXPR(( \ -+ m_pos = ip - (lzo_uint) PTR_DIFF(ip,m_pos), \ -+ PTR_LT(m_pos,in) || \ -+ (m_off = (lzo_uint) PTR_DIFF(ip,m_pos)) == 0 || \ -+ m_off > max_offset ))) - - #else - - #define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \ -- (m_off == 0 || \ -- ((m_off = (lzo_moff_t) ((ip)-(in)) - m_off) > max_offset) || \ -- (m_pos = (ip) - (m_off), 0) ) -+ (m_off == 0 || \ -+ ((m_off = pd(ip, in) - m_off) > max_offset) || \ -+ (m_pos = (ip) - (m_off), 0) ) - - #define LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,max_offset) \ -- ((lzo_moff_t) ((ip)-(in)) <= m_off || \ -- ((m_off = (lzo_moff_t) ((ip)-(in)) - m_off) > max_offset) || \ -- (m_pos = (ip) - (m_off), 0) ) -+ (pd(ip, in) <= m_off || \ -+ ((m_off = pd(ip, in) - m_off) > max_offset) || \ -+ (m_pos = (ip) - (m_off), 0) ) - - #endif - --#if defined(LZO_DETERMINISTIC) -+#if (LZO_DETERMINISTIC) - # define LZO_CHECK_MPOS LZO_CHECK_MPOS_DET - #else - # define LZO_CHECK_MPOS LZO_CHECK_MPOS_NON_DET -@@ -1638,336 +4599,402 @@ static void DVAL_ASSERT(lzo_uint32 dv, const lzo_byte *p) - - #endif - -+#define LZO_DETERMINISTIC !(LZO_DICT_USE_PTR) -+ -+#ifndef DO_COMPRESS - #define DO_COMPRESS lzo1x_1_compress -+#endif - --static --lzo_uint do_compress ( const lzo_byte *in , lzo_uint in_len, -- lzo_byte *out, lzo_uintp out_len, -- lzo_voidp wrkmem ) --{ --#if 0 && defined(__GNUC__) && defined(__i386__) -- register const lzo_byte *ip __asm__("%esi"); --#else -- register const lzo_byte *ip; -+#if 1 && defined(DO_COMPRESS) && !defined(do_compress) -+# define do_compress LZO_PP_ECONCAT2(DO_COMPRESS,_core) - #endif -- lzo_byte *op; -- const lzo_byte * const in_end = in + in_len; -- const lzo_byte * const ip_end = in + in_len - M2_MAX_LEN - 5; -- const lzo_byte *ii; -+ -+static __lzo_noinline lzo_uint -+do_compress ( const lzo_bytep in , lzo_uint in_len, -+ lzo_bytep out, lzo_uintp out_len, -+ lzo_uint ti, lzo_voidp wrkmem) -+{ -+ const lzo_bytep ip; -+ lzo_bytep op; -+ const lzo_bytep const in_end = in + in_len; -+ const lzo_bytep const ip_end = in + in_len - 20; -+ const lzo_bytep ii; - lzo_dict_p const dict = (lzo_dict_p) wrkmem; - - op = out; - ip = in; - ii = ip; - -- ip += 4; -+ ip += ti < 4 ? 4 - ti : 0; - for (;;) - { --#if 0 && defined(__GNUC__) && defined(__i386__) -- register const lzo_byte *m_pos __asm__("%edi"); --#else -- register const lzo_byte *m_pos; --#endif -- lzo_moff_t m_off; -- lzo_uint m_len; -- lzo_uint dindex; -- -- DINDEX1(dindex,ip); -- GINDEX(m_pos,m_off,dict,dindex,in); -- if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET)) -- goto literal; -+ const lzo_bytep m_pos; -+#if !(LZO_DETERMINISTIC) -+ LZO_DEFINE_UNINITIALIZED_VAR(lzo_uint, m_off, 0); -+ lzo_uint m_len; -+ lzo_uint dindex; -+next: -+ if __lzo_unlikely(ip >= ip_end) -+ break; -+ DINDEX1(dindex,ip); -+ GINDEX(m_pos,m_off,dict,dindex,in); -+ if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET)) -+ goto literal; - #if 1 -- if (m_off <= M2_MAX_OFFSET || m_pos[3] == ip[3]) -- goto try_match; -- DINDEX2(dindex,ip); -+ if (m_off <= M2_MAX_OFFSET || m_pos[3] == ip[3]) -+ goto try_match; -+ DINDEX2(dindex,ip); - #endif -- GINDEX(m_pos,m_off,dict,dindex,in); -- if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET)) -- goto literal; -- if (m_off <= M2_MAX_OFFSET || m_pos[3] == ip[3]) -- goto try_match; -- goto literal; -+ GINDEX(m_pos,m_off,dict,dindex,in); -+ if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET)) -+ goto literal; -+ if (m_off <= M2_MAX_OFFSET || m_pos[3] == ip[3]) -+ goto try_match; -+ goto literal; - - try_match: --#if 1 && defined(LZO_UNALIGNED_OK_2) -- if (* (const lzo_ushortp) m_pos != * (const lzo_ushortp) ip) -+#if (LZO_OPT_UNALIGNED32) -+ if (UA_GET_NE32(m_pos) != UA_GET_NE32(ip)) - #else -- if (m_pos[0] != ip[0] || m_pos[1] != ip[1]) -+ if (m_pos[0] != ip[0] || m_pos[1] != ip[1] || m_pos[2] != ip[2] || m_pos[3] != ip[3]) - #endif -- { -- } -- else -- { -- if (m_pos[2] == ip[2]) -- { --#if 0 -- if (m_off <= M2_MAX_OFFSET) -- goto match; -- if (lit <= 3) -- goto match; -- if (lit == 3) -- { -- assert(op - 2 > out); op[-2] |= LZO_BYTE(3); -- *op++ = *ii++; *op++ = *ii++; *op++ = *ii++; -- goto code_match; -- } -- if (m_pos[3] == ip[3]) --#endif -- goto match; -- } -- else -- { --#if 0 --#if 0 -- if (m_off <= M1_MAX_OFFSET && lit > 0 && lit <= 3) -+ { -+literal: -+ UPDATE_I(dict,0,dindex,ip,in); -+ ip += 1 + ((ip - ii) >> 5); -+ continue; -+ } -+ UPDATE_I(dict,0,dindex,ip,in); - #else -- if (m_off <= M1_MAX_OFFSET && lit == 3) --#endif -- { -- register lzo_uint t; -- -- t = lit; -- assert(op - 2 > out); op[-2] |= LZO_BYTE(t); -- do *op++ = *ii++; while (--t > 0); -- assert(ii == ip); -- m_off -= 1; -- *op++ = LZO_BYTE(M1_MARKER | ((m_off & 3) << 2)); -- *op++ = LZO_BYTE(m_off >> 2); -- ip += 2; -- goto match_done; -- } --#endif -- } -- } -- -+ lzo_uint m_off; -+ lzo_uint m_len; -+ { -+ lzo_uint32_t dv; -+ lzo_uint dindex; - literal: -- UPDATE_I(dict,0,dindex,ip,in); -- ++ip; -- if (ip >= ip_end) -- break; -- continue; -- --match: -- UPDATE_I(dict,0,dindex,ip,in); -- if (pd(ip,ii) > 0) -- { -- register lzo_uint t = pd(ip,ii); -- -- if (t <= 3) -- { -- assert(op - 2 > out); -- op[-2] |= LZO_BYTE(t); -- } -- else if (t <= 18) -- *op++ = LZO_BYTE(t - 3); -- else -- { -- register lzo_uint tt = t - 18; -- -- *op++ = 0; -- while (tt > 255) -- { -- tt -= 255; -- *op++ = 0; -- } -- assert(tt > 0); -- *op++ = LZO_BYTE(tt); -- } -- do *op++ = *ii++; while (--t > 0); -- } -- -- assert(ii == ip); -- ip += 3; -- if (m_pos[3] != *ip++ || m_pos[4] != *ip++ || m_pos[5] != *ip++ || -- m_pos[6] != *ip++ || m_pos[7] != *ip++ || m_pos[8] != *ip++ --#ifdef LZO1Y -- || m_pos[ 9] != *ip++ || m_pos[10] != *ip++ || m_pos[11] != *ip++ -- || m_pos[12] != *ip++ || m_pos[13] != *ip++ || m_pos[14] != *ip++ --#endif -- ) -- { -- --ip; -- m_len = ip - ii; -- assert(m_len >= 3); assert(m_len <= M2_MAX_LEN); -- -- if (m_off <= M2_MAX_OFFSET) -- { -- m_off -= 1; --#if defined(LZO1X) -- *op++ = LZO_BYTE(((m_len - 1) << 5) | ((m_off & 7) << 2)); -- *op++ = LZO_BYTE(m_off >> 3); --#elif defined(LZO1Y) -- *op++ = LZO_BYTE(((m_len + 1) << 4) | ((m_off & 3) << 2)); -- *op++ = LZO_BYTE(m_off >> 2); --#endif -- } -- else if (m_off <= M3_MAX_OFFSET) -- { -- m_off -= 1; -- *op++ = LZO_BYTE(M3_MARKER | (m_len - 2)); -- goto m3_m4_offset; -- } -- else -+ ip += 1 + ((ip - ii) >> 5); -+next: -+ if __lzo_unlikely(ip >= ip_end) -+ break; -+ dv = UA_GET_LE32(ip); -+ dindex = DINDEX(dv,ip); -+ GINDEX(m_off,m_pos,in+dict,dindex,in); -+ UPDATE_I(dict,0,dindex,ip,in); -+ if __lzo_unlikely(dv != UA_GET_LE32(m_pos)) -+ goto literal; -+ } -+#endif -+ -+ ii -= ti; ti = 0; -+ { -+ lzo_uint t = pd(ip,ii); -+ if (t != 0) -+ { -+ if (t <= 3) -+ { -+ op[-2] = LZO_BYTE(op[-2] | t); -+#if (LZO_OPT_UNALIGNED32) -+ UA_COPY4(op, ii); -+ op += t; -+#else -+ { do *op++ = *ii++; while (--t > 0); } -+#endif -+ } -+#if (LZO_OPT_UNALIGNED32) || (LZO_OPT_UNALIGNED64) -+ else if (t <= 16) -+ { -+ *op++ = LZO_BYTE(t - 3); -+ UA_COPY8(op, ii); -+ UA_COPY8(op+8, ii+8); -+ op += t; -+ } -+#endif -+ else -+ { -+ if (t <= 18) -+ *op++ = LZO_BYTE(t - 3); -+ else -+ { -+ lzo_uint tt = t - 18; -+ *op++ = 0; -+ while __lzo_unlikely(tt > 255) -+ { -+ tt -= 255; -+ UA_SET1(op, 0); -+ op++; -+ } -+ assert(tt > 0); -+ *op++ = LZO_BYTE(tt); -+ } -+#if (LZO_OPT_UNALIGNED32) || (LZO_OPT_UNALIGNED64) -+ do { -+ UA_COPY8(op, ii); -+ UA_COPY8(op+8, ii+8); -+ op += 16; ii += 16; t -= 16; -+ } while (t >= 16); if (t > 0) -+#endif -+ { do *op++ = *ii++; while (--t > 0); } -+ } -+ } -+ } -+ m_len = 4; -+ { -+#if (LZO_OPT_UNALIGNED64) -+ lzo_uint64_t v; -+ v = UA_GET_NE64(ip + m_len) ^ UA_GET_NE64(m_pos + m_len); -+ if __lzo_unlikely(v == 0) { -+ do { -+ m_len += 8; -+ v = UA_GET_NE64(ip + m_len) ^ UA_GET_NE64(m_pos + m_len); -+ if __lzo_unlikely(ip + m_len >= ip_end) -+ goto m_len_done; -+ } while (v == 0); -+ } -+#if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_ctlz64) -+ m_len += lzo_bitops_ctlz64(v) / CHAR_BIT; -+#elif (LZO_ABI_BIG_ENDIAN) -+ if ((v >> (64 - CHAR_BIT)) == 0) do { -+ v <<= CHAR_BIT; -+ m_len += 1; -+ } while ((v >> (64 - CHAR_BIT)) == 0); -+#elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_cttz64) -+ m_len += lzo_bitops_cttz64(v) / CHAR_BIT; -+#elif (LZO_ABI_LITTLE_ENDIAN) -+ if ((v & UCHAR_MAX) == 0) do { -+ v >>= CHAR_BIT; -+ m_len += 1; -+ } while ((v & UCHAR_MAX) == 0); -+#else -+ if (ip[m_len] == m_pos[m_len]) do { -+ m_len += 1; -+ } while (ip[m_len] == m_pos[m_len]); -+#endif -+#elif (LZO_OPT_UNALIGNED32) -+ lzo_uint32_t v; -+ v = UA_GET_NE32(ip + m_len) ^ UA_GET_NE32(m_pos + m_len); -+ if __lzo_unlikely(v == 0) { -+ do { -+ m_len += 4; -+ v = UA_GET_NE32(ip + m_len) ^ UA_GET_NE32(m_pos + m_len); -+ if (v != 0) -+ break; -+ m_len += 4; -+ v = UA_GET_NE32(ip + m_len) ^ UA_GET_NE32(m_pos + m_len); -+ if __lzo_unlikely(ip + m_len >= ip_end) -+ goto m_len_done; -+ } while (v == 0); -+ } -+#if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_ctlz32) -+ m_len += lzo_bitops_ctlz32(v) / CHAR_BIT; -+#elif (LZO_ABI_BIG_ENDIAN) -+ if ((v >> (32 - CHAR_BIT)) == 0) do { -+ v <<= CHAR_BIT; -+ m_len += 1; -+ } while ((v >> (32 - CHAR_BIT)) == 0); -+#elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_cttz32) -+ m_len += lzo_bitops_cttz32(v) / CHAR_BIT; -+#elif (LZO_ABI_LITTLE_ENDIAN) -+ if ((v & UCHAR_MAX) == 0) do { -+ v >>= CHAR_BIT; -+ m_len += 1; -+ } while ((v & UCHAR_MAX) == 0); -+#else -+ if (ip[m_len] == m_pos[m_len]) do { -+ m_len += 1; -+ } while (ip[m_len] == m_pos[m_len]); -+#endif -+#else -+ if __lzo_unlikely(ip[m_len] == m_pos[m_len]) { -+ do { -+ m_len += 1; -+ if (ip[m_len] != m_pos[m_len]) -+ break; -+ m_len += 1; -+ if (ip[m_len] != m_pos[m_len]) -+ break; -+ m_len += 1; -+ if (ip[m_len] != m_pos[m_len]) -+ break; -+ m_len += 1; -+ if (ip[m_len] != m_pos[m_len]) -+ break; -+ m_len += 1; -+ if (ip[m_len] != m_pos[m_len]) -+ break; -+ m_len += 1; -+ if (ip[m_len] != m_pos[m_len]) -+ break; -+ m_len += 1; -+ if (ip[m_len] != m_pos[m_len]) -+ break; -+ m_len += 1; -+ if __lzo_unlikely(ip + m_len >= ip_end) -+ goto m_len_done; -+ } while (ip[m_len] == m_pos[m_len]); -+ } -+#endif -+ } -+m_len_done: -+ m_off = pd(ip,m_pos); -+ ip += m_len; -+ ii = ip; -+ if (m_len <= M2_MAX_LEN && m_off <= M2_MAX_OFFSET) -+ { -+ m_off -= 1; - #if defined(LZO1X) -- { -- m_off -= 0x4000; -- assert(m_off > 0); assert(m_off <= 0x7fff); -- *op++ = LZO_BYTE(M4_MARKER | -- ((m_off & 0x4000) >> 11) | (m_len - 2)); -- goto m3_m4_offset; -- } -+ *op++ = LZO_BYTE(((m_len - 1) << 5) | ((m_off & 7) << 2)); -+ *op++ = LZO_BYTE(m_off >> 3); - #elif defined(LZO1Y) -- goto m4_match; --#endif -- } -- else -- { -- { -- const lzo_byte *end = in_end; -- const lzo_byte *m = m_pos + M2_MAX_LEN + 1; -- while (ip < end && *m == *ip) -- m++, ip++; -- m_len = (ip - ii); -- } -- assert(m_len > M2_MAX_LEN); -- -- if (m_off <= M3_MAX_OFFSET) -- { -- m_off -= 1; -- if (m_len <= 33) -- *op++ = LZO_BYTE(M3_MARKER | (m_len - 2)); -- else -- { -- m_len -= 33; -- *op++ = M3_MARKER | 0; -- goto m3_m4_len; -- } -- } -- else -- { --#if defined(LZO1Y) --m4_match: --#endif -- m_off -= 0x4000; -- assert(m_off > 0); assert(m_off <= 0x7fff); -- if (m_len <= M4_MAX_LEN) -- *op++ = LZO_BYTE(M4_MARKER | -- ((m_off & 0x4000) >> 11) | (m_len - 2)); -- else -- { -- m_len -= M4_MAX_LEN; -- *op++ = LZO_BYTE(M4_MARKER | ((m_off & 0x4000) >> 11)); --m3_m4_len: -- while (m_len > 255) -- { -- m_len -= 255; -- *op++ = 0; -- } -- assert(m_len > 0); -- *op++ = LZO_BYTE(m_len); -- } -- } -- --m3_m4_offset: -- *op++ = LZO_BYTE((m_off & 63) << 2); -- *op++ = LZO_BYTE(m_off >> 6); -- } -- --#if 0 --match_done: --#endif -- ii = ip; -- if (ip >= ip_end) -- break; -+ *op++ = LZO_BYTE(((m_len + 1) << 4) | ((m_off & 3) << 2)); -+ *op++ = LZO_BYTE(m_off >> 2); -+#endif -+ } -+ else if (m_off <= M3_MAX_OFFSET) -+ { -+ m_off -= 1; -+ if (m_len <= M3_MAX_LEN) -+ *op++ = LZO_BYTE(M3_MARKER | (m_len - 2)); -+ else -+ { -+ m_len -= M3_MAX_LEN; -+ *op++ = M3_MARKER | 0; -+ while __lzo_unlikely(m_len > 255) -+ { -+ m_len -= 255; -+ UA_SET1(op, 0); -+ op++; -+ } -+ *op++ = LZO_BYTE(m_len); -+ } -+ *op++ = LZO_BYTE(m_off << 2); -+ *op++ = LZO_BYTE(m_off >> 6); -+ } -+ else -+ { -+ m_off -= 0x4000; -+ if (m_len <= M4_MAX_LEN) -+ *op++ = LZO_BYTE(M4_MARKER | ((m_off >> 11) & 8) | (m_len - 2)); -+ else -+ { -+ m_len -= M4_MAX_LEN; -+ *op++ = LZO_BYTE(M4_MARKER | ((m_off >> 11) & 8)); -+ while __lzo_unlikely(m_len > 255) -+ { -+ m_len -= 255; -+ UA_SET1(op, 0); -+ op++; -+ } -+ *op++ = LZO_BYTE(m_len); -+ } -+ *op++ = LZO_BYTE(m_off << 2); -+ *op++ = LZO_BYTE(m_off >> 6); -+ } -+ goto next; - } - -- *out_len = op - out; -- return pd(in_end,ii); -+ *out_len = pd(op, out); -+ return pd(in_end,ii-ti); - } - - LZO_PUBLIC(int) --DO_COMPRESS ( const lzo_byte *in , lzo_uint in_len, -- lzo_byte *out, lzo_uintp out_len, -- lzo_voidp wrkmem ) -+DO_COMPRESS ( const lzo_bytep in , lzo_uint in_len, -+ lzo_bytep out, lzo_uintp out_len, -+ lzo_voidp wrkmem ) - { -- lzo_byte *op = out; -- lzo_uint t; -- --#if defined(__LZO_QUERY_COMPRESS) -- if (__LZO_IS_COMPRESS_QUERY(in,in_len,out,out_len,wrkmem)) -- return __LZO_QUERY_COMPRESS(in,in_len,out,out_len,wrkmem,D_SIZE,lzo_sizeof(lzo_dict_t)); --#endif -+ const lzo_bytep ip = in; -+ lzo_bytep op = out; -+ lzo_uint l = in_len; -+ lzo_uint t = 0; - -- if (in_len <= M2_MAX_LEN + 5) -- t = in_len; -- else -+ while (l > 20) - { -- t = do_compress(in,in_len,op,out_len,wrkmem); -- op += *out_len; -+ lzo_uint ll = l; -+ lzo_uintptr_t ll_end; -+#if 0 || (LZO_DETERMINISTIC) -+ ll = LZO_MIN(ll, 49152); -+#endif -+ ll_end = (lzo_uintptr_t)ip + ll; -+ if ((ll_end + ((t + ll) >> 5)) <= ll_end || (const lzo_bytep)(ll_end + ((t + ll) >> 5)) <= ip + ll) -+ break; -+#if (LZO_DETERMINISTIC) -+ lzo_memset(wrkmem, 0, ((lzo_uint)1 << D_BITS) * sizeof(lzo_dict_t)); -+#endif -+ t = do_compress(ip,ll,op,out_len,t,wrkmem); -+ ip += ll; -+ op += *out_len; -+ l -= ll; - } -+ t += l; - - if (t > 0) - { -- const lzo_byte *ii = in + in_len - t; -- -- if (op == out && t <= 238) -- *op++ = LZO_BYTE(17 + t); -- else if (t <= 3) -- op[-2] |= LZO_BYTE(t); -- else if (t <= 18) -- *op++ = LZO_BYTE(t - 3); -- else -- { -- lzo_uint tt = t - 18; -- -- *op++ = 0; -- while (tt > 255) -- { -- tt -= 255; -- *op++ = 0; -- } -- assert(tt > 0); -- *op++ = LZO_BYTE(tt); -- } -- do *op++ = *ii++; while (--t > 0); -+ const lzo_bytep ii = in + in_len - t; -+ -+ if (op == out && t <= 238) -+ *op++ = LZO_BYTE(17 + t); -+ else if (t <= 3) -+ op[-2] = LZO_BYTE(op[-2] | t); -+ else if (t <= 18) -+ *op++ = LZO_BYTE(t - 3); -+ else -+ { -+ lzo_uint tt = t - 18; -+ -+ *op++ = 0; -+ while (tt > 255) -+ { -+ tt -= 255; -+ UA_SET1(op, 0); -+ op++; -+ } -+ assert(tt > 0); -+ *op++ = LZO_BYTE(tt); -+ } -+ UA_COPYN(op, ii, t); -+ op += t; - } - - *op++ = M4_MARKER | 1; - *op++ = 0; - *op++ = 0; - -- *out_len = op - out; -+ *out_len = pd(op, out); - return LZO_E_OK; - } - -+#endif -+ - #undef do_compress - #undef DO_COMPRESS - #undef LZO_HASH - --#undef LZO_TEST_DECOMPRESS_OVERRUN --#undef LZO_TEST_DECOMPRESS_OVERRUN_INPUT --#undef LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT --#undef LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND -+#undef LZO_TEST_OVERRUN - #undef DO_DECOMPRESS - #define DO_DECOMPRESS lzo1x_decompress - --#if defined(LZO_TEST_DECOMPRESS_OVERRUN) --# if !defined(LZO_TEST_DECOMPRESS_OVERRUN_INPUT) --# define LZO_TEST_DECOMPRESS_OVERRUN_INPUT 2 -+#if !defined(MINILZO_CFG_SKIP_LZO1X_DECOMPRESS) -+ -+#if defined(LZO_TEST_OVERRUN) -+# if !defined(LZO_TEST_OVERRUN_INPUT) -+# define LZO_TEST_OVERRUN_INPUT 2 - # endif --# if !defined(LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT) --# define LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT 2 -+# if !defined(LZO_TEST_OVERRUN_OUTPUT) -+# define LZO_TEST_OVERRUN_OUTPUT 2 - # endif --# if !defined(LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND) --# define LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND -+# if !defined(LZO_TEST_OVERRUN_LOOKBEHIND) -+# define LZO_TEST_OVERRUN_LOOKBEHIND 1 - # endif - #endif - - #undef TEST_IP - #undef TEST_OP --#undef TEST_LOOKBEHIND -+#undef TEST_IP_AND_TEST_OP -+#undef TEST_LB -+#undef TEST_LBO - #undef NEED_IP - #undef NEED_OP -+#undef TEST_IV -+#undef TEST_OV - #undef HAVE_TEST_IP - #undef HAVE_TEST_OP - #undef HAVE_NEED_IP -@@ -1975,31 +5002,35 @@ DO_COMPRESS ( const lzo_byte *in , lzo_uint in_len, - #undef HAVE_ANY_IP - #undef HAVE_ANY_OP - --#if defined(LZO_TEST_DECOMPRESS_OVERRUN_INPUT) --# if (LZO_TEST_DECOMPRESS_OVERRUN_INPUT >= 1) -+#if defined(LZO_TEST_OVERRUN_INPUT) -+# if (LZO_TEST_OVERRUN_INPUT >= 1) - # define TEST_IP (ip < ip_end) - # endif --# if (LZO_TEST_DECOMPRESS_OVERRUN_INPUT >= 2) -+# if (LZO_TEST_OVERRUN_INPUT >= 2) - # define NEED_IP(x) \ -- if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x)) goto input_overrun -+ if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x)) goto input_overrun -+# define TEST_IV(x) if ((x) > (lzo_uint)0 - (511)) goto input_overrun - # endif - #endif - --#if defined(LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT) --# if (LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT >= 1) -+#if defined(LZO_TEST_OVERRUN_OUTPUT) -+# if (LZO_TEST_OVERRUN_OUTPUT >= 1) - # define TEST_OP (op <= op_end) - # endif --# if (LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT >= 2) -+# if (LZO_TEST_OVERRUN_OUTPUT >= 2) - # undef TEST_OP - # define NEED_OP(x) \ -- if ((lzo_uint)(op_end - op) < (lzo_uint)(x)) goto output_overrun -+ if ((lzo_uint)(op_end - op) < (lzo_uint)(x)) goto output_overrun -+# define TEST_OV(x) if ((x) > (lzo_uint)0 - (511)) goto output_overrun - # endif - #endif - --#if defined(LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND) --# define TEST_LOOKBEHIND(m_pos,out) if (m_pos < out) goto lookbehind_overrun -+#if defined(LZO_TEST_OVERRUN_LOOKBEHIND) -+# define TEST_LB(m_pos) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op)) goto lookbehind_overrun -+# define TEST_LBO(m_pos,o) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op-(o))) goto lookbehind_overrun - #else --# define TEST_LOOKBEHIND(m_pos,op) ((void) 0) -+# define TEST_LB(m_pos) ((void) 0) -+# define TEST_LBO(m_pos,o) ((void) 0) - #endif - - #if !defined(LZO_EOF_CODE) && !defined(TEST_IP) -@@ -2007,64 +5038,66 @@ DO_COMPRESS ( const lzo_byte *in , lzo_uint in_len, - #endif - - #if defined(TEST_IP) --# define HAVE_TEST_IP -+# define HAVE_TEST_IP 1 - #else - # define TEST_IP 1 - #endif - #if defined(TEST_OP) --# define HAVE_TEST_OP -+# define HAVE_TEST_OP 1 - #else - # define TEST_OP 1 - #endif - -+#if defined(HAVE_TEST_IP) && defined(HAVE_TEST_OP) -+# define TEST_IP_AND_TEST_OP (TEST_IP && TEST_OP) -+#elif defined(HAVE_TEST_IP) -+# define TEST_IP_AND_TEST_OP TEST_IP -+#elif defined(HAVE_TEST_OP) -+# define TEST_IP_AND_TEST_OP TEST_OP -+#else -+# define TEST_IP_AND_TEST_OP 1 -+#endif -+ - #if defined(NEED_IP) --# define HAVE_NEED_IP -+# define HAVE_NEED_IP 1 - #else - # define NEED_IP(x) ((void) 0) -+# define TEST_IV(x) ((void) 0) - #endif - #if defined(NEED_OP) --# define HAVE_NEED_OP -+# define HAVE_NEED_OP 1 - #else - # define NEED_OP(x) ((void) 0) -+# define TEST_OV(x) ((void) 0) - #endif - - #if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP) --# define HAVE_ANY_IP -+# define HAVE_ANY_IP 1 - #endif - #if defined(HAVE_TEST_OP) || defined(HAVE_NEED_OP) --# define HAVE_ANY_OP --#endif -- --#undef __COPY4 --#define __COPY4(dst,src) * (lzo_uint32p)(dst) = * (const lzo_uint32p)(src) -- --#undef COPY4 --#if defined(LZO_UNALIGNED_OK_4) --# define COPY4(dst,src) __COPY4(dst,src) --#elif defined(LZO_ALIGNED_OK_4) --# define COPY4(dst,src) __COPY4((lzo_ptr_t)(dst),(lzo_ptr_t)(src)) -+# define HAVE_ANY_OP 1 - #endif - - #if defined(DO_DECOMPRESS) - LZO_PUBLIC(int) --DO_DECOMPRESS ( const lzo_byte *in , lzo_uint in_len, -- lzo_byte *out, lzo_uintp out_len, -- lzo_voidp wrkmem ) -+DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len, -+ lzo_bytep out, lzo_uintp out_len, -+ lzo_voidp wrkmem ) - #endif - { -- register lzo_byte *op; -- register const lzo_byte *ip; -- register lzo_uint t; -+ lzo_bytep op; -+ const lzo_bytep ip; -+ lzo_uint t; - #if defined(COPY_DICT) - lzo_uint m_off; -- const lzo_byte *dict_end; -+ const lzo_bytep dict_end; - #else -- register const lzo_byte *m_pos; -+ const lzo_bytep m_pos; - #endif - -- const lzo_byte * const ip_end = in + in_len; -+ const lzo_bytep const ip_end = in + in_len; - #if defined(HAVE_ANY_OP) -- lzo_byte * const op_end = out + *out_len; -+ lzo_bytep const op_end = out + *out_len; - #endif - #if defined(LZO1Z) - lzo_uint last_m_off = 0; -@@ -2072,25 +5105,20 @@ DO_DECOMPRESS ( const lzo_byte *in , lzo_uint in_len, - - LZO_UNUSED(wrkmem); - --#if defined(__LZO_QUERY_DECOMPRESS) -- if (__LZO_IS_DECOMPRESS_QUERY(in,in_len,out,out_len,wrkmem)) -- return __LZO_QUERY_DECOMPRESS(in,in_len,out,out_len,wrkmem,0,0); --#endif -- - #if defined(COPY_DICT) - if (dict) - { -- if (dict_len > M4_MAX_OFFSET) -- { -- dict += dict_len - M4_MAX_OFFSET; -- dict_len = M4_MAX_OFFSET; -- } -- dict_end = dict + dict_len; -+ if (dict_len > M4_MAX_OFFSET) -+ { -+ dict += dict_len - M4_MAX_OFFSET; -+ dict_len = M4_MAX_OFFSET; -+ } -+ dict_end = dict + dict_len; - } - else - { -- dict_len = 0; -- dict_end = NULL; -+ dict_len = 0; -+ dict_end = NULL; - } - #endif - -@@ -2099,367 +5127,415 @@ DO_DECOMPRESS ( const lzo_byte *in , lzo_uint in_len, - op = out; - ip = in; - -+ NEED_IP(1); - if (*ip > 17) - { -- t = *ip++ - 17; -- if (t < 4) -- goto match_next; -- assert(t > 0); NEED_OP(t); NEED_IP(t+1); -- do *op++ = *ip++; while (--t > 0); -- goto first_literal_run; -+ t = *ip++ - 17; -+ if (t < 4) -+ goto match_next; -+ assert(t > 0); NEED_OP(t); NEED_IP(t+3); -+ do *op++ = *ip++; while (--t > 0); -+ goto first_literal_run; - } - -- while (TEST_IP && TEST_OP) -+ for (;;) - { -- t = *ip++; -- if (t >= 16) -- goto match; -- if (t == 0) -- { -- NEED_IP(1); -- while (*ip == 0) -- { -- t += 255; -- ip++; -- NEED_IP(1); -- } -- t += 15 + *ip++; -- } -- assert(t > 0); NEED_OP(t+3); NEED_IP(t+4); --#if defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4) --#if !defined(LZO_UNALIGNED_OK_4) -- if (PTR_ALIGNED2_4(op,ip)) -- { --#endif -- COPY4(op,ip); -- op += 4; ip += 4; -- if (--t > 0) -- { -- if (t >= 4) -- { -- do { -- COPY4(op,ip); -- op += 4; ip += 4; t -= 4; -- } while (t >= 4); -- if (t > 0) do *op++ = *ip++; while (--t > 0); -- } -- else -- do *op++ = *ip++; while (--t > 0); -- } --#if !defined(LZO_UNALIGNED_OK_4) -- } -- else --#endif --#endif --#if !defined(LZO_UNALIGNED_OK_4) -- { -- *op++ = *ip++; *op++ = *ip++; *op++ = *ip++; -- do *op++ = *ip++; while (--t > 0); -- } -+ NEED_IP(3); -+ t = *ip++; -+ if (t >= 16) -+ goto match; -+ if (t == 0) -+ { -+ while (*ip == 0) -+ { -+ t += 255; -+ ip++; -+ TEST_IV(t); -+ NEED_IP(1); -+ } -+ t += 15 + *ip++; -+ } -+ assert(t > 0); NEED_OP(t+3); NEED_IP(t+6); -+#if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32) -+ t += 3; -+ if (t >= 8) do -+ { -+ UA_COPY8(op,ip); -+ op += 8; ip += 8; t -= 8; -+ } while (t >= 8); -+ if (t >= 4) -+ { -+ UA_COPY4(op,ip); -+ op += 4; ip += 4; t -= 4; -+ } -+ if (t > 0) -+ { -+ *op++ = *ip++; -+ if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } } -+ } -+#elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4) -+#if !(LZO_OPT_UNALIGNED32) -+ if (PTR_ALIGNED2_4(op,ip)) -+ { -+#endif -+ UA_COPY4(op,ip); -+ op += 4; ip += 4; -+ if (--t > 0) -+ { -+ if (t >= 4) -+ { -+ do { -+ UA_COPY4(op,ip); -+ op += 4; ip += 4; t -= 4; -+ } while (t >= 4); -+ if (t > 0) do *op++ = *ip++; while (--t > 0); -+ } -+ else -+ do *op++ = *ip++; while (--t > 0); -+ } -+#if !(LZO_OPT_UNALIGNED32) -+ } -+ else -+#endif -+#endif -+#if !(LZO_OPT_UNALIGNED32) -+ { -+ *op++ = *ip++; *op++ = *ip++; *op++ = *ip++; -+ do *op++ = *ip++; while (--t > 0); -+ } - #endif - - first_literal_run: - -- t = *ip++; -- if (t >= 16) -- goto match; -+ t = *ip++; -+ if (t >= 16) -+ goto match; - #if defined(COPY_DICT) - #if defined(LZO1Z) -- m_off = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2); -- last_m_off = m_off; -+ m_off = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2); -+ last_m_off = m_off; - #else -- m_off = (1 + M2_MAX_OFFSET) + (t >> 2) + (*ip++ << 2); -+ m_off = (1 + M2_MAX_OFFSET) + (t >> 2) + (*ip++ << 2); - #endif -- NEED_OP(3); -- t = 3; COPY_DICT(t,m_off) -+ NEED_OP(3); -+ t = 3; COPY_DICT(t,m_off) - #else - #if defined(LZO1Z) -- t = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2); -- m_pos = op - t; -- last_m_off = t; -+ t = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2); -+ m_pos = op - t; -+ last_m_off = t; - #else -- m_pos = op - (1 + M2_MAX_OFFSET); -- m_pos -= t >> 2; -- m_pos -= *ip++ << 2; -+ m_pos = op - (1 + M2_MAX_OFFSET); -+ m_pos -= t >> 2; -+ m_pos -= *ip++ << 2; - #endif -- TEST_LOOKBEHIND(m_pos,out); NEED_OP(3); -- *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos; -+ TEST_LB(m_pos); NEED_OP(3); -+ *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos; - #endif -- goto match_done; -+ goto match_done; - -- while (TEST_IP && TEST_OP) -- { -+ for (;;) { - match: -- if (t >= 64) -- { -+ if (t >= 64) -+ { - #if defined(COPY_DICT) - #if defined(LZO1X) -- m_off = 1 + ((t >> 2) & 7) + (*ip++ << 3); -- t = (t >> 5) - 1; -+ m_off = 1 + ((t >> 2) & 7) + (*ip++ << 3); -+ t = (t >> 5) - 1; - #elif defined(LZO1Y) -- m_off = 1 + ((t >> 2) & 3) + (*ip++ << 2); -- t = (t >> 4) - 3; -+ m_off = 1 + ((t >> 2) & 3) + (*ip++ << 2); -+ t = (t >> 4) - 3; - #elif defined(LZO1Z) -- m_off = t & 0x1f; -- if (m_off >= 0x1c) -- m_off = last_m_off; -- else -- { -- m_off = 1 + (m_off << 6) + (*ip++ >> 2); -- last_m_off = m_off; -- } -- t = (t >> 5) - 1; -+ m_off = t & 0x1f; -+ if (m_off >= 0x1c) -+ m_off = last_m_off; -+ else -+ { -+ m_off = 1 + (m_off << 6) + (*ip++ >> 2); -+ last_m_off = m_off; -+ } -+ t = (t >> 5) - 1; - #endif - #else - #if defined(LZO1X) -- m_pos = op - 1; -- m_pos -= (t >> 2) & 7; -- m_pos -= *ip++ << 3; -- t = (t >> 5) - 1; -+ m_pos = op - 1; -+ m_pos -= (t >> 2) & 7; -+ m_pos -= *ip++ << 3; -+ t = (t >> 5) - 1; - #elif defined(LZO1Y) -- m_pos = op - 1; -- m_pos -= (t >> 2) & 3; -- m_pos -= *ip++ << 2; -- t = (t >> 4) - 3; -+ m_pos = op - 1; -+ m_pos -= (t >> 2) & 3; -+ m_pos -= *ip++ << 2; -+ t = (t >> 4) - 3; - #elif defined(LZO1Z) -- { -- lzo_uint off = t & 0x1f; -- m_pos = op; -- if (off >= 0x1c) -- { -- assert(last_m_off > 0); -- m_pos -= last_m_off; -- } -- else -- { -- off = 1 + (off << 6) + (*ip++ >> 2); -- m_pos -= off; -- last_m_off = off; -- } -- } -- t = (t >> 5) - 1; --#endif -- TEST_LOOKBEHIND(m_pos,out); assert(t > 0); NEED_OP(t+3-1); -- goto copy_match; --#endif -- } -- else if (t >= 32) -- { -- t &= 31; -- if (t == 0) -- { -- NEED_IP(1); -- while (*ip == 0) -- { -- t += 255; -- ip++; -- NEED_IP(1); -- } -- t += 31 + *ip++; -- } -+ { -+ lzo_uint off = t & 0x1f; -+ m_pos = op; -+ if (off >= 0x1c) -+ { -+ assert(last_m_off > 0); -+ m_pos -= last_m_off; -+ } -+ else -+ { -+ off = 1 + (off << 6) + (*ip++ >> 2); -+ m_pos -= off; -+ last_m_off = off; -+ } -+ } -+ t = (t >> 5) - 1; -+#endif -+ TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1); -+ goto copy_match; -+#endif -+ } -+ else if (t >= 32) -+ { -+ t &= 31; -+ if (t == 0) -+ { -+ while (*ip == 0) -+ { -+ t += 255; -+ ip++; -+ TEST_OV(t); -+ NEED_IP(1); -+ } -+ t += 31 + *ip++; -+ NEED_IP(2); -+ } - #if defined(COPY_DICT) - #if defined(LZO1Z) -- m_off = 1 + (ip[0] << 6) + (ip[1] >> 2); -- last_m_off = m_off; -+ m_off = 1 + (ip[0] << 6) + (ip[1] >> 2); -+ last_m_off = m_off; - #else -- m_off = 1 + (ip[0] >> 2) + (ip[1] << 6); -+ m_off = 1 + (ip[0] >> 2) + (ip[1] << 6); - #endif - #else - #if defined(LZO1Z) -- { -- lzo_uint off = 1 + (ip[0] << 6) + (ip[1] >> 2); -- m_pos = op - off; -- last_m_off = off; -- } --#elif defined(LZO_UNALIGNED_OK_2) && (LZO_BYTE_ORDER == LZO_LITTLE_ENDIAN) -- m_pos = op - 1; -- m_pos -= (* (const lzo_ushortp) ip) >> 2; --#else -- m_pos = op - 1; -- m_pos -= (ip[0] >> 2) + (ip[1] << 6); --#endif --#endif -- ip += 2; -- } -- else if (t >= 16) -- { -+ { -+ lzo_uint off = 1 + (ip[0] << 6) + (ip[1] >> 2); -+ m_pos = op - off; -+ last_m_off = off; -+ } -+#elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) -+ m_pos = op - 1; -+ m_pos -= UA_GET_LE16(ip) >> 2; -+#else -+ m_pos = op - 1; -+ m_pos -= (ip[0] >> 2) + (ip[1] << 6); -+#endif -+#endif -+ ip += 2; -+ } -+ else if (t >= 16) -+ { - #if defined(COPY_DICT) -- m_off = (t & 8) << 11; --#else -- m_pos = op; -- m_pos -= (t & 8) << 11; --#endif -- t &= 7; -- if (t == 0) -- { -- NEED_IP(1); -- while (*ip == 0) -- { -- t += 255; -- ip++; -- NEED_IP(1); -- } -- t += 7 + *ip++; -- } -+ m_off = (t & 8) << 11; -+#else -+ m_pos = op; -+ m_pos -= (t & 8) << 11; -+#endif -+ t &= 7; -+ if (t == 0) -+ { -+ while (*ip == 0) -+ { -+ t += 255; -+ ip++; -+ TEST_OV(t); -+ NEED_IP(1); -+ } -+ t += 7 + *ip++; -+ NEED_IP(2); -+ } - #if defined(COPY_DICT) - #if defined(LZO1Z) -- m_off += (ip[0] << 6) + (ip[1] >> 2); -+ m_off += (ip[0] << 6) + (ip[1] >> 2); - #else -- m_off += (ip[0] >> 2) + (ip[1] << 6); -+ m_off += (ip[0] >> 2) + (ip[1] << 6); - #endif -- ip += 2; -- if (m_off == 0) -- goto eof_found; -- m_off += 0x4000; -+ ip += 2; -+ if (m_off == 0) -+ goto eof_found; -+ m_off += 0x4000; - #if defined(LZO1Z) -- last_m_off = m_off; -+ last_m_off = m_off; - #endif - #else - #if defined(LZO1Z) -- m_pos -= (ip[0] << 6) + (ip[1] >> 2); --#elif defined(LZO_UNALIGNED_OK_2) && (LZO_BYTE_ORDER == LZO_LITTLE_ENDIAN) -- m_pos -= (* (const lzo_ushortp) ip) >> 2; -+ m_pos -= (ip[0] << 6) + (ip[1] >> 2); -+#elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) -+ m_pos -= UA_GET_LE16(ip) >> 2; - #else -- m_pos -= (ip[0] >> 2) + (ip[1] << 6); -+ m_pos -= (ip[0] >> 2) + (ip[1] << 6); - #endif -- ip += 2; -- if (m_pos == op) -- goto eof_found; -- m_pos -= 0x4000; -+ ip += 2; -+ if (m_pos == op) -+ goto eof_found; -+ m_pos -= 0x4000; - #if defined(LZO1Z) -- last_m_off = op - m_pos; -+ last_m_off = pd((const lzo_bytep)op, m_pos); - #endif - #endif -- } -- else -- { -+ } -+ else -+ { - #if defined(COPY_DICT) - #if defined(LZO1Z) -- m_off = 1 + (t << 6) + (*ip++ >> 2); -- last_m_off = m_off; -+ m_off = 1 + (t << 6) + (*ip++ >> 2); -+ last_m_off = m_off; - #else -- m_off = 1 + (t >> 2) + (*ip++ << 2); -+ m_off = 1 + (t >> 2) + (*ip++ << 2); - #endif -- NEED_OP(2); -- t = 2; COPY_DICT(t,m_off) -+ NEED_OP(2); -+ t = 2; COPY_DICT(t,m_off) - #else - #if defined(LZO1Z) -- t = 1 + (t << 6) + (*ip++ >> 2); -- m_pos = op - t; -- last_m_off = t; -+ t = 1 + (t << 6) + (*ip++ >> 2); -+ m_pos = op - t; -+ last_m_off = t; - #else -- m_pos = op - 1; -- m_pos -= t >> 2; -- m_pos -= *ip++ << 2; -+ m_pos = op - 1; -+ m_pos -= t >> 2; -+ m_pos -= *ip++ << 2; - #endif -- TEST_LOOKBEHIND(m_pos,out); NEED_OP(2); -- *op++ = *m_pos++; *op++ = *m_pos; -+ TEST_LB(m_pos); NEED_OP(2); -+ *op++ = *m_pos++; *op++ = *m_pos; - #endif -- goto match_done; -- } -+ goto match_done; -+ } - - #if defined(COPY_DICT) - -- NEED_OP(t+3-1); -- t += 3-1; COPY_DICT(t,m_off) -+ NEED_OP(t+3-1); -+ t += 3-1; COPY_DICT(t,m_off) - - #else - -- TEST_LOOKBEHIND(m_pos,out); assert(t > 0); NEED_OP(t+3-1); --#if defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4) --#if !defined(LZO_UNALIGNED_OK_4) -- if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos)) -- { -- assert((op - m_pos) >= 4); -+ TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1); -+#if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32) -+ if (op - m_pos >= 8) -+ { -+ t += (3 - 1); -+ if (t >= 8) do -+ { -+ UA_COPY8(op,m_pos); -+ op += 8; m_pos += 8; t -= 8; -+ } while (t >= 8); -+ if (t >= 4) -+ { -+ UA_COPY4(op,m_pos); -+ op += 4; m_pos += 4; t -= 4; -+ } -+ if (t > 0) -+ { -+ *op++ = m_pos[0]; -+ if (t > 1) { *op++ = m_pos[1]; if (t > 2) { *op++ = m_pos[2]; } } -+ } -+ } -+ else -+#elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4) -+#if !(LZO_OPT_UNALIGNED32) -+ if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos)) -+ { -+ assert((op - m_pos) >= 4); - #else -- if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4) -- { --#endif -- COPY4(op,m_pos); -- op += 4; m_pos += 4; t -= 4 - (3 - 1); -- do { -- COPY4(op,m_pos); -- op += 4; m_pos += 4; t -= 4; -- } while (t >= 4); -- if (t > 0) do *op++ = *m_pos++; while (--t > 0); -- } -- else --#endif -- { -+ if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4) -+ { -+#endif -+ UA_COPY4(op,m_pos); -+ op += 4; m_pos += 4; t -= 4 - (3 - 1); -+ do { -+ UA_COPY4(op,m_pos); -+ op += 4; m_pos += 4; t -= 4; -+ } while (t >= 4); -+ if (t > 0) do *op++ = *m_pos++; while (--t > 0); -+ } -+ else -+#endif -+ { - copy_match: -- *op++ = *m_pos++; *op++ = *m_pos++; -- do *op++ = *m_pos++; while (--t > 0); -- } -+ *op++ = *m_pos++; *op++ = *m_pos++; -+ do *op++ = *m_pos++; while (--t > 0); -+ } - - #endif - - match_done: - #if defined(LZO1Z) -- t = ip[-1] & 3; -+ t = ip[-1] & 3; - #else -- t = ip[-2] & 3; -+ t = ip[-2] & 3; - #endif -- if (t == 0) -- break; -+ if (t == 0) -+ break; - - match_next: -- assert(t > 0); NEED_OP(t); NEED_IP(t+1); -- do *op++ = *ip++; while (--t > 0); -- t = *ip++; -- } -- } -- --#if defined(HAVE_TEST_IP) || defined(HAVE_TEST_OP) -- *out_len = op - out; -- return LZO_E_EOF_NOT_FOUND; -+ assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+3); -+#if 0 -+ do *op++ = *ip++; while (--t > 0); -+#else -+ *op++ = *ip++; -+ if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } } - #endif -+ t = *ip++; -+ } -+ } - - eof_found: -- assert(t == 1); -- *out_len = op - out; -+ *out_len = pd(op, out); - return (ip == ip_end ? LZO_E_OK : -- (ip < ip_end ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN)); -+ (ip < ip_end ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN)); - - #if defined(HAVE_NEED_IP) - input_overrun: -- *out_len = op - out; -+ *out_len = pd(op, out); - return LZO_E_INPUT_OVERRUN; - #endif - - #if defined(HAVE_NEED_OP) - output_overrun: -- *out_len = op - out; -+ *out_len = pd(op, out); - return LZO_E_OUTPUT_OVERRUN; - #endif - --#if defined(LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND) -+#if defined(LZO_TEST_OVERRUN_LOOKBEHIND) - lookbehind_overrun: -- *out_len = op - out; -+ *out_len = pd(op, out); - return LZO_E_LOOKBEHIND_OVERRUN; - #endif - } - --#define LZO_TEST_DECOMPRESS_OVERRUN -+#endif -+ -+#define LZO_TEST_OVERRUN 1 - #undef DO_DECOMPRESS - #define DO_DECOMPRESS lzo1x_decompress_safe - --#if defined(LZO_TEST_DECOMPRESS_OVERRUN) --# if !defined(LZO_TEST_DECOMPRESS_OVERRUN_INPUT) --# define LZO_TEST_DECOMPRESS_OVERRUN_INPUT 2 -+#if !defined(MINILZO_CFG_SKIP_LZO1X_DECOMPRESS_SAFE) -+ -+#if defined(LZO_TEST_OVERRUN) -+# if !defined(LZO_TEST_OVERRUN_INPUT) -+# define LZO_TEST_OVERRUN_INPUT 2 - # endif --# if !defined(LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT) --# define LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT 2 -+# if !defined(LZO_TEST_OVERRUN_OUTPUT) -+# define LZO_TEST_OVERRUN_OUTPUT 2 - # endif --# if !defined(LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND) --# define LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND -+# if !defined(LZO_TEST_OVERRUN_LOOKBEHIND) -+# define LZO_TEST_OVERRUN_LOOKBEHIND 1 - # endif - #endif - - #undef TEST_IP - #undef TEST_OP --#undef TEST_LOOKBEHIND -+#undef TEST_IP_AND_TEST_OP -+#undef TEST_LB -+#undef TEST_LBO - #undef NEED_IP - #undef NEED_OP -+#undef TEST_IV -+#undef TEST_OV - #undef HAVE_TEST_IP - #undef HAVE_TEST_OP - #undef HAVE_NEED_IP -@@ -2467,31 +5543,35 @@ lookbehind_overrun: - #undef HAVE_ANY_IP - #undef HAVE_ANY_OP - --#if defined(LZO_TEST_DECOMPRESS_OVERRUN_INPUT) --# if (LZO_TEST_DECOMPRESS_OVERRUN_INPUT >= 1) -+#if defined(LZO_TEST_OVERRUN_INPUT) -+# if (LZO_TEST_OVERRUN_INPUT >= 1) - # define TEST_IP (ip < ip_end) - # endif --# if (LZO_TEST_DECOMPRESS_OVERRUN_INPUT >= 2) -+# if (LZO_TEST_OVERRUN_INPUT >= 2) - # define NEED_IP(x) \ -- if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x)) goto input_overrun -+ if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x)) goto input_overrun -+# define TEST_IV(x) if ((x) > (lzo_uint)0 - (511)) goto input_overrun - # endif - #endif - --#if defined(LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT) --# if (LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT >= 1) -+#if defined(LZO_TEST_OVERRUN_OUTPUT) -+# if (LZO_TEST_OVERRUN_OUTPUT >= 1) - # define TEST_OP (op <= op_end) - # endif --# if (LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT >= 2) -+# if (LZO_TEST_OVERRUN_OUTPUT >= 2) - # undef TEST_OP - # define NEED_OP(x) \ -- if ((lzo_uint)(op_end - op) < (lzo_uint)(x)) goto output_overrun -+ if ((lzo_uint)(op_end - op) < (lzo_uint)(x)) goto output_overrun -+# define TEST_OV(x) if ((x) > (lzo_uint)0 - (511)) goto output_overrun - # endif - #endif - --#if defined(LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND) --# define TEST_LOOKBEHIND(m_pos,out) if (m_pos < out) goto lookbehind_overrun -+#if defined(LZO_TEST_OVERRUN_LOOKBEHIND) -+# define TEST_LB(m_pos) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op)) goto lookbehind_overrun -+# define TEST_LBO(m_pos,o) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op-(o))) goto lookbehind_overrun - #else --# define TEST_LOOKBEHIND(m_pos,op) ((void) 0) -+# define TEST_LB(m_pos) ((void) 0) -+# define TEST_LBO(m_pos,o) ((void) 0) - #endif - - #if !defined(LZO_EOF_CODE) && !defined(TEST_IP) -@@ -2499,64 +5579,66 @@ lookbehind_overrun: - #endif - - #if defined(TEST_IP) --# define HAVE_TEST_IP -+# define HAVE_TEST_IP 1 - #else - # define TEST_IP 1 - #endif - #if defined(TEST_OP) --# define HAVE_TEST_OP -+# define HAVE_TEST_OP 1 - #else - # define TEST_OP 1 - #endif - -+#if defined(HAVE_TEST_IP) && defined(HAVE_TEST_OP) -+# define TEST_IP_AND_TEST_OP (TEST_IP && TEST_OP) -+#elif defined(HAVE_TEST_IP) -+# define TEST_IP_AND_TEST_OP TEST_IP -+#elif defined(HAVE_TEST_OP) -+# define TEST_IP_AND_TEST_OP TEST_OP -+#else -+# define TEST_IP_AND_TEST_OP 1 -+#endif -+ - #if defined(NEED_IP) --# define HAVE_NEED_IP -+# define HAVE_NEED_IP 1 - #else - # define NEED_IP(x) ((void) 0) -+# define TEST_IV(x) ((void) 0) - #endif - #if defined(NEED_OP) --# define HAVE_NEED_OP -+# define HAVE_NEED_OP 1 - #else - # define NEED_OP(x) ((void) 0) -+# define TEST_OV(x) ((void) 0) - #endif - - #if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP) --# define HAVE_ANY_IP -+# define HAVE_ANY_IP 1 - #endif - #if defined(HAVE_TEST_OP) || defined(HAVE_NEED_OP) --# define HAVE_ANY_OP --#endif -- --#undef __COPY4 --#define __COPY4(dst,src) * (lzo_uint32p)(dst) = * (const lzo_uint32p)(src) -- --#undef COPY4 --#if defined(LZO_UNALIGNED_OK_4) --# define COPY4(dst,src) __COPY4(dst,src) --#elif defined(LZO_ALIGNED_OK_4) --# define COPY4(dst,src) __COPY4((lzo_ptr_t)(dst),(lzo_ptr_t)(src)) -+# define HAVE_ANY_OP 1 - #endif - - #if defined(DO_DECOMPRESS) - LZO_PUBLIC(int) --DO_DECOMPRESS ( const lzo_byte *in , lzo_uint in_len, -- lzo_byte *out, lzo_uintp out_len, -- lzo_voidp wrkmem ) -+DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len, -+ lzo_bytep out, lzo_uintp out_len, -+ lzo_voidp wrkmem ) - #endif - { -- register lzo_byte *op; -- register const lzo_byte *ip; -- register lzo_uint t; -+ lzo_bytep op; -+ const lzo_bytep ip; -+ lzo_uint t; - #if defined(COPY_DICT) - lzo_uint m_off; -- const lzo_byte *dict_end; -+ const lzo_bytep dict_end; - #else -- register const lzo_byte *m_pos; -+ const lzo_bytep m_pos; - #endif - -- const lzo_byte * const ip_end = in + in_len; -+ const lzo_bytep const ip_end = in + in_len; - #if defined(HAVE_ANY_OP) -- lzo_byte * const op_end = out + *out_len; -+ lzo_bytep const op_end = out + *out_len; - #endif - #if defined(LZO1Z) - lzo_uint last_m_off = 0; -@@ -2564,25 +5646,20 @@ DO_DECOMPRESS ( const lzo_byte *in , lzo_uint in_len, - - LZO_UNUSED(wrkmem); - --#if defined(__LZO_QUERY_DECOMPRESS) -- if (__LZO_IS_DECOMPRESS_QUERY(in,in_len,out,out_len,wrkmem)) -- return __LZO_QUERY_DECOMPRESS(in,in_len,out,out_len,wrkmem,0,0); --#endif -- - #if defined(COPY_DICT) - if (dict) - { -- if (dict_len > M4_MAX_OFFSET) -- { -- dict += dict_len - M4_MAX_OFFSET; -- dict_len = M4_MAX_OFFSET; -- } -- dict_end = dict + dict_len; -+ if (dict_len > M4_MAX_OFFSET) -+ { -+ dict += dict_len - M4_MAX_OFFSET; -+ dict_len = M4_MAX_OFFSET; -+ } -+ dict_end = dict + dict_len; - } - else - { -- dict_len = 0; -- dict_end = NULL; -+ dict_len = 0; -+ dict_end = NULL; - } - #endif - -@@ -2591,345 +5668,386 @@ DO_DECOMPRESS ( const lzo_byte *in , lzo_uint in_len, - op = out; - ip = in; - -+ NEED_IP(1); - if (*ip > 17) - { -- t = *ip++ - 17; -- if (t < 4) -- goto match_next; -- assert(t > 0); NEED_OP(t); NEED_IP(t+1); -- do *op++ = *ip++; while (--t > 0); -- goto first_literal_run; -+ t = *ip++ - 17; -+ if (t < 4) -+ goto match_next; -+ assert(t > 0); NEED_OP(t); NEED_IP(t+3); -+ do *op++ = *ip++; while (--t > 0); -+ goto first_literal_run; - } - -- while (TEST_IP && TEST_OP) -+ for (;;) - { -- t = *ip++; -- if (t >= 16) -- goto match; -- if (t == 0) -- { -- NEED_IP(1); -- while (*ip == 0) -- { -- t += 255; -- ip++; -- NEED_IP(1); -- } -- t += 15 + *ip++; -- } -- assert(t > 0); NEED_OP(t+3); NEED_IP(t+4); --#if defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4) --#if !defined(LZO_UNALIGNED_OK_4) -- if (PTR_ALIGNED2_4(op,ip)) -- { --#endif -- COPY4(op,ip); -- op += 4; ip += 4; -- if (--t > 0) -- { -- if (t >= 4) -- { -- do { -- COPY4(op,ip); -- op += 4; ip += 4; t -= 4; -- } while (t >= 4); -- if (t > 0) do *op++ = *ip++; while (--t > 0); -- } -- else -- do *op++ = *ip++; while (--t > 0); -- } --#if !defined(LZO_UNALIGNED_OK_4) -- } -- else --#endif --#endif --#if !defined(LZO_UNALIGNED_OK_4) -- { -- *op++ = *ip++; *op++ = *ip++; *op++ = *ip++; -- do *op++ = *ip++; while (--t > 0); -- } -+ NEED_IP(3); -+ t = *ip++; -+ if (t >= 16) -+ goto match; -+ if (t == 0) -+ { -+ while (*ip == 0) -+ { -+ t += 255; -+ ip++; -+ TEST_IV(t); -+ NEED_IP(1); -+ } -+ t += 15 + *ip++; -+ } -+ assert(t > 0); NEED_OP(t+3); NEED_IP(t+6); -+#if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32) -+ t += 3; -+ if (t >= 8) do -+ { -+ UA_COPY8(op,ip); -+ op += 8; ip += 8; t -= 8; -+ } while (t >= 8); -+ if (t >= 4) -+ { -+ UA_COPY4(op,ip); -+ op += 4; ip += 4; t -= 4; -+ } -+ if (t > 0) -+ { -+ *op++ = *ip++; -+ if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } } -+ } -+#elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4) -+#if !(LZO_OPT_UNALIGNED32) -+ if (PTR_ALIGNED2_4(op,ip)) -+ { -+#endif -+ UA_COPY4(op,ip); -+ op += 4; ip += 4; -+ if (--t > 0) -+ { -+ if (t >= 4) -+ { -+ do { -+ UA_COPY4(op,ip); -+ op += 4; ip += 4; t -= 4; -+ } while (t >= 4); -+ if (t > 0) do *op++ = *ip++; while (--t > 0); -+ } -+ else -+ do *op++ = *ip++; while (--t > 0); -+ } -+#if !(LZO_OPT_UNALIGNED32) -+ } -+ else -+#endif -+#endif -+#if !(LZO_OPT_UNALIGNED32) -+ { -+ *op++ = *ip++; *op++ = *ip++; *op++ = *ip++; -+ do *op++ = *ip++; while (--t > 0); -+ } - #endif - - first_literal_run: - -- t = *ip++; -- if (t >= 16) -- goto match; -+ t = *ip++; -+ if (t >= 16) -+ goto match; - #if defined(COPY_DICT) - #if defined(LZO1Z) -- m_off = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2); -- last_m_off = m_off; -+ m_off = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2); -+ last_m_off = m_off; - #else -- m_off = (1 + M2_MAX_OFFSET) + (t >> 2) + (*ip++ << 2); -+ m_off = (1 + M2_MAX_OFFSET) + (t >> 2) + (*ip++ << 2); - #endif -- NEED_OP(3); -- t = 3; COPY_DICT(t,m_off) -+ NEED_OP(3); -+ t = 3; COPY_DICT(t,m_off) - #else - #if defined(LZO1Z) -- t = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2); -- m_pos = op - t; -- last_m_off = t; -+ t = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2); -+ m_pos = op - t; -+ last_m_off = t; - #else -- m_pos = op - (1 + M2_MAX_OFFSET); -- m_pos -= t >> 2; -- m_pos -= *ip++ << 2; -+ m_pos = op - (1 + M2_MAX_OFFSET); -+ m_pos -= t >> 2; -+ m_pos -= *ip++ << 2; - #endif -- TEST_LOOKBEHIND(m_pos,out); NEED_OP(3); -- *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos; -+ TEST_LB(m_pos); NEED_OP(3); -+ *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos; - #endif -- goto match_done; -+ goto match_done; - -- while (TEST_IP && TEST_OP) -- { -+ for (;;) { - match: -- if (t >= 64) -- { -+ if (t >= 64) -+ { - #if defined(COPY_DICT) - #if defined(LZO1X) -- m_off = 1 + ((t >> 2) & 7) + (*ip++ << 3); -- t = (t >> 5) - 1; -+ m_off = 1 + ((t >> 2) & 7) + (*ip++ << 3); -+ t = (t >> 5) - 1; - #elif defined(LZO1Y) -- m_off = 1 + ((t >> 2) & 3) + (*ip++ << 2); -- t = (t >> 4) - 3; -+ m_off = 1 + ((t >> 2) & 3) + (*ip++ << 2); -+ t = (t >> 4) - 3; - #elif defined(LZO1Z) -- m_off = t & 0x1f; -- if (m_off >= 0x1c) -- m_off = last_m_off; -- else -- { -- m_off = 1 + (m_off << 6) + (*ip++ >> 2); -- last_m_off = m_off; -- } -- t = (t >> 5) - 1; -+ m_off = t & 0x1f; -+ if (m_off >= 0x1c) -+ m_off = last_m_off; -+ else -+ { -+ m_off = 1 + (m_off << 6) + (*ip++ >> 2); -+ last_m_off = m_off; -+ } -+ t = (t >> 5) - 1; - #endif - #else - #if defined(LZO1X) -- m_pos = op - 1; -- m_pos -= (t >> 2) & 7; -- m_pos -= *ip++ << 3; -- t = (t >> 5) - 1; -+ m_pos = op - 1; -+ m_pos -= (t >> 2) & 7; -+ m_pos -= *ip++ << 3; -+ t = (t >> 5) - 1; - #elif defined(LZO1Y) -- m_pos = op - 1; -- m_pos -= (t >> 2) & 3; -- m_pos -= *ip++ << 2; -- t = (t >> 4) - 3; -+ m_pos = op - 1; -+ m_pos -= (t >> 2) & 3; -+ m_pos -= *ip++ << 2; -+ t = (t >> 4) - 3; - #elif defined(LZO1Z) -- { -- lzo_uint off = t & 0x1f; -- m_pos = op; -- if (off >= 0x1c) -- { -- assert(last_m_off > 0); -- m_pos -= last_m_off; -- } -- else -- { -- off = 1 + (off << 6) + (*ip++ >> 2); -- m_pos -= off; -- last_m_off = off; -- } -- } -- t = (t >> 5) - 1; --#endif -- TEST_LOOKBEHIND(m_pos,out); assert(t > 0); NEED_OP(t+3-1); -- goto copy_match; --#endif -- } -- else if (t >= 32) -- { -- t &= 31; -- if (t == 0) -- { -- NEED_IP(1); -- while (*ip == 0) -- { -- t += 255; -- ip++; -- NEED_IP(1); -- } -- t += 31 + *ip++; -- } -+ { -+ lzo_uint off = t & 0x1f; -+ m_pos = op; -+ if (off >= 0x1c) -+ { -+ assert(last_m_off > 0); -+ m_pos -= last_m_off; -+ } -+ else -+ { -+ off = 1 + (off << 6) + (*ip++ >> 2); -+ m_pos -= off; -+ last_m_off = off; -+ } -+ } -+ t = (t >> 5) - 1; -+#endif -+ TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1); -+ goto copy_match; -+#endif -+ } -+ else if (t >= 32) -+ { -+ t &= 31; -+ if (t == 0) -+ { -+ while (*ip == 0) -+ { -+ t += 255; -+ ip++; -+ TEST_OV(t); -+ NEED_IP(1); -+ } -+ t += 31 + *ip++; -+ NEED_IP(2); -+ } - #if defined(COPY_DICT) - #if defined(LZO1Z) -- m_off = 1 + (ip[0] << 6) + (ip[1] >> 2); -- last_m_off = m_off; -+ m_off = 1 + (ip[0] << 6) + (ip[1] >> 2); -+ last_m_off = m_off; - #else -- m_off = 1 + (ip[0] >> 2) + (ip[1] << 6); -+ m_off = 1 + (ip[0] >> 2) + (ip[1] << 6); - #endif - #else - #if defined(LZO1Z) -- { -- lzo_uint off = 1 + (ip[0] << 6) + (ip[1] >> 2); -- m_pos = op - off; -- last_m_off = off; -- } --#elif defined(LZO_UNALIGNED_OK_2) && (LZO_BYTE_ORDER == LZO_LITTLE_ENDIAN) -- m_pos = op - 1; -- m_pos -= (* (const lzo_ushortp) ip) >> 2; --#else -- m_pos = op - 1; -- m_pos -= (ip[0] >> 2) + (ip[1] << 6); --#endif --#endif -- ip += 2; -- } -- else if (t >= 16) -- { -+ { -+ lzo_uint off = 1 + (ip[0] << 6) + (ip[1] >> 2); -+ m_pos = op - off; -+ last_m_off = off; -+ } -+#elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) -+ m_pos = op - 1; -+ m_pos -= UA_GET_LE16(ip) >> 2; -+#else -+ m_pos = op - 1; -+ m_pos -= (ip[0] >> 2) + (ip[1] << 6); -+#endif -+#endif -+ ip += 2; -+ } -+ else if (t >= 16) -+ { - #if defined(COPY_DICT) -- m_off = (t & 8) << 11; --#else -- m_pos = op; -- m_pos -= (t & 8) << 11; --#endif -- t &= 7; -- if (t == 0) -- { -- NEED_IP(1); -- while (*ip == 0) -- { -- t += 255; -- ip++; -- NEED_IP(1); -- } -- t += 7 + *ip++; -- } -+ m_off = (t & 8) << 11; -+#else -+ m_pos = op; -+ m_pos -= (t & 8) << 11; -+#endif -+ t &= 7; -+ if (t == 0) -+ { -+ while (*ip == 0) -+ { -+ t += 255; -+ ip++; -+ TEST_OV(t); -+ NEED_IP(1); -+ } -+ t += 7 + *ip++; -+ NEED_IP(2); -+ } - #if defined(COPY_DICT) - #if defined(LZO1Z) -- m_off += (ip[0] << 6) + (ip[1] >> 2); -+ m_off += (ip[0] << 6) + (ip[1] >> 2); - #else -- m_off += (ip[0] >> 2) + (ip[1] << 6); -+ m_off += (ip[0] >> 2) + (ip[1] << 6); - #endif -- ip += 2; -- if (m_off == 0) -- goto eof_found; -- m_off += 0x4000; -+ ip += 2; -+ if (m_off == 0) -+ goto eof_found; -+ m_off += 0x4000; - #if defined(LZO1Z) -- last_m_off = m_off; -+ last_m_off = m_off; - #endif - #else - #if defined(LZO1Z) -- m_pos -= (ip[0] << 6) + (ip[1] >> 2); --#elif defined(LZO_UNALIGNED_OK_2) && (LZO_BYTE_ORDER == LZO_LITTLE_ENDIAN) -- m_pos -= (* (const lzo_ushortp) ip) >> 2; -+ m_pos -= (ip[0] << 6) + (ip[1] >> 2); -+#elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) -+ m_pos -= UA_GET_LE16(ip) >> 2; - #else -- m_pos -= (ip[0] >> 2) + (ip[1] << 6); -+ m_pos -= (ip[0] >> 2) + (ip[1] << 6); - #endif -- ip += 2; -- if (m_pos == op) -- goto eof_found; -- m_pos -= 0x4000; -+ ip += 2; -+ if (m_pos == op) -+ goto eof_found; -+ m_pos -= 0x4000; - #if defined(LZO1Z) -- last_m_off = op - m_pos; -+ last_m_off = pd((const lzo_bytep)op, m_pos); - #endif - #endif -- } -- else -- { -+ } -+ else -+ { - #if defined(COPY_DICT) - #if defined(LZO1Z) -- m_off = 1 + (t << 6) + (*ip++ >> 2); -- last_m_off = m_off; -+ m_off = 1 + (t << 6) + (*ip++ >> 2); -+ last_m_off = m_off; - #else -- m_off = 1 + (t >> 2) + (*ip++ << 2); -+ m_off = 1 + (t >> 2) + (*ip++ << 2); - #endif -- NEED_OP(2); -- t = 2; COPY_DICT(t,m_off) -+ NEED_OP(2); -+ t = 2; COPY_DICT(t,m_off) - #else - #if defined(LZO1Z) -- t = 1 + (t << 6) + (*ip++ >> 2); -- m_pos = op - t; -- last_m_off = t; -+ t = 1 + (t << 6) + (*ip++ >> 2); -+ m_pos = op - t; -+ last_m_off = t; - #else -- m_pos = op - 1; -- m_pos -= t >> 2; -- m_pos -= *ip++ << 2; -+ m_pos = op - 1; -+ m_pos -= t >> 2; -+ m_pos -= *ip++ << 2; - #endif -- TEST_LOOKBEHIND(m_pos,out); NEED_OP(2); -- *op++ = *m_pos++; *op++ = *m_pos; -+ TEST_LB(m_pos); NEED_OP(2); -+ *op++ = *m_pos++; *op++ = *m_pos; - #endif -- goto match_done; -- } -+ goto match_done; -+ } - - #if defined(COPY_DICT) - -- NEED_OP(t+3-1); -- t += 3-1; COPY_DICT(t,m_off) -+ NEED_OP(t+3-1); -+ t += 3-1; COPY_DICT(t,m_off) - - #else - -- TEST_LOOKBEHIND(m_pos,out); assert(t > 0); NEED_OP(t+3-1); --#if defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4) --#if !defined(LZO_UNALIGNED_OK_4) -- if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos)) -- { -- assert((op - m_pos) >= 4); -+ TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1); -+#if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32) -+ if (op - m_pos >= 8) -+ { -+ t += (3 - 1); -+ if (t >= 8) do -+ { -+ UA_COPY8(op,m_pos); -+ op += 8; m_pos += 8; t -= 8; -+ } while (t >= 8); -+ if (t >= 4) -+ { -+ UA_COPY4(op,m_pos); -+ op += 4; m_pos += 4; t -= 4; -+ } -+ if (t > 0) -+ { -+ *op++ = m_pos[0]; -+ if (t > 1) { *op++ = m_pos[1]; if (t > 2) { *op++ = m_pos[2]; } } -+ } -+ } -+ else -+#elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4) -+#if !(LZO_OPT_UNALIGNED32) -+ if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos)) -+ { -+ assert((op - m_pos) >= 4); - #else -- if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4) -- { --#endif -- COPY4(op,m_pos); -- op += 4; m_pos += 4; t -= 4 - (3 - 1); -- do { -- COPY4(op,m_pos); -- op += 4; m_pos += 4; t -= 4; -- } while (t >= 4); -- if (t > 0) do *op++ = *m_pos++; while (--t > 0); -- } -- else --#endif -- { -+ if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4) -+ { -+#endif -+ UA_COPY4(op,m_pos); -+ op += 4; m_pos += 4; t -= 4 - (3 - 1); -+ do { -+ UA_COPY4(op,m_pos); -+ op += 4; m_pos += 4; t -= 4; -+ } while (t >= 4); -+ if (t > 0) do *op++ = *m_pos++; while (--t > 0); -+ } -+ else -+#endif -+ { - copy_match: -- *op++ = *m_pos++; *op++ = *m_pos++; -- do *op++ = *m_pos++; while (--t > 0); -- } -+ *op++ = *m_pos++; *op++ = *m_pos++; -+ do *op++ = *m_pos++; while (--t > 0); -+ } - - #endif - - match_done: - #if defined(LZO1Z) -- t = ip[-1] & 3; -+ t = ip[-1] & 3; - #else -- t = ip[-2] & 3; -+ t = ip[-2] & 3; - #endif -- if (t == 0) -- break; -+ if (t == 0) -+ break; - - match_next: -- assert(t > 0); NEED_OP(t); NEED_IP(t+1); -- do *op++ = *ip++; while (--t > 0); -- t = *ip++; -- } -- } -- --#if defined(HAVE_TEST_IP) || defined(HAVE_TEST_OP) -- *out_len = op - out; -- return LZO_E_EOF_NOT_FOUND; -+ assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+3); -+#if 0 -+ do *op++ = *ip++; while (--t > 0); -+#else -+ *op++ = *ip++; -+ if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } } - #endif -+ t = *ip++; -+ } -+ } - - eof_found: -- assert(t == 1); -- *out_len = op - out; -+ *out_len = pd(op, out); - return (ip == ip_end ? LZO_E_OK : -- (ip < ip_end ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN)); -+ (ip < ip_end ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN)); - - #if defined(HAVE_NEED_IP) - input_overrun: -- *out_len = op - out; -+ *out_len = pd(op, out); - return LZO_E_INPUT_OVERRUN; - #endif - - #if defined(HAVE_NEED_OP) - output_overrun: -- *out_len = op - out; -+ *out_len = pd(op, out); - return LZO_E_OUTPUT_OVERRUN; - #endif - --#if defined(LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND) -+#if defined(LZO_TEST_OVERRUN_LOOKBEHIND) - lookbehind_overrun: -- *out_len = op - out; -+ *out_len = pd(op, out); - return LZO_E_LOOKBEHIND_OVERRUN; - #endif - } - --/***** End of minilzo.c *****/ -+#endif - -+/***** End of minilzo.c *****/ -diff --git a/lzo/minilzo.h b/lzo/minilzo.h -index e3270f9..7937454 100644 ---- a/lzo/minilzo.h -+++ b/lzo/minilzo.h -@@ -2,13 +2,7 @@ - - This file is part of the LZO real-time data compression library. - -- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer -- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer -+ Copyright (C) 1996-2014 Markus Franz Xaver Johannes Oberhumer - All Rights Reserved. - - The LZO library is free software; you can redistribute it and/or -@@ -24,7 +18,7 @@ - You should have received a copy of the GNU General Public License - along with the LZO library; see the file COPYING. - If not, write to the Free Software Foundation, Inc., -- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - Markus F.X.J. Oberhumer - -@@ -39,9 +33,9 @@ - - - #ifndef __MINILZO_H --#define __MINILZO_H -+#define __MINILZO_H 1 - --#define MINILZO_VERSION 0x1080 -+#define MINILZO_VERSION 0x2080 - - #ifdef __LZOCONF_H - # error "you cannot use both LZO and miniLZO" -@@ -69,26 +63,26 @@ extern "C" { - */ - - #define LZO1X_MEM_COMPRESS LZO1X_1_MEM_COMPRESS --#define LZO1X_1_MEM_COMPRESS ((lzo_uint32) (16384L * lzo_sizeof_dict_t)) -+#define LZO1X_1_MEM_COMPRESS ((lzo_uint32_t) (16384L * lzo_sizeof_dict_t)) - #define LZO1X_MEM_DECOMPRESS (0) - - - /* compression */ - LZO_EXTERN(int) --lzo1x_1_compress ( const lzo_byte *src, lzo_uint src_len, -- lzo_byte *dst, lzo_uintp dst_len, -+lzo1x_1_compress ( const lzo_bytep src, lzo_uint src_len, -+ lzo_bytep dst, lzo_uintp dst_len, - lzo_voidp wrkmem ); - - /* decompression */ - LZO_EXTERN(int) --lzo1x_decompress ( const lzo_byte *src, lzo_uint src_len, -- lzo_byte *dst, lzo_uintp dst_len, -+lzo1x_decompress ( const lzo_bytep src, lzo_uint src_len, -+ lzo_bytep dst, lzo_uintp dst_len, - lzo_voidp wrkmem /* NOT USED */ ); - - /* safe decompression with overrun testing */ - LZO_EXTERN(int) --lzo1x_decompress_safe ( const lzo_byte *src, lzo_uint src_len, -- lzo_byte *dst, lzo_uintp dst_len, -+lzo1x_decompress_safe ( const lzo_bytep src, lzo_uint src_len, -+ lzo_bytep dst, lzo_uintp dst_len, - lzo_voidp wrkmem /* NOT USED */ ); - - diff --git a/distcc.changes b/distcc.changes index 4224271..614fd83 100644 --- a/distcc.changes +++ b/distcc.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Tue Mar 13 00:02:21 UTC 2018 - avindra@opensuse.org + +- Update to 3.3 + * Use masquerade as compiler white-list. + * New --allow-private (the default) which allows non-global IP + and IPv6 addresses. + * Cross-compilation support. + * Fix parsing of IPv6 addresses. + * Python 3, not python 2. + * Can build without python (and without pump mode or tests). +- cleanup with spec-cleaner +- use %autosetup macro +- drop distcc-minilzo-2.08.patch (upstreamed) +- drop distcc-3.0-fix-fortify.patch (upstreamed) +- rebase distcc-3.2_rc1-freedesktop.patch +- rebase distcc-3.2_rc1-gssapi.patch +- rebase distcc-3.2_rc1-python.patch +- renumber patches + ------------------------------------------------------------------- Thu Nov 23 13:49:22 UTC 2017 - rbrown@suse.com diff --git a/distcc.spec b/distcc.spec index ff7de58..be62741 100644 --- a/distcc.spec +++ b/distcc.spec @@ -1,7 +1,7 @@ # # spec file for package distcc # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 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 @@ -18,31 +18,30 @@ #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} - %define _fillupdir /var/adm/fillup-templates + %define _fillupdir %{_localstatedir}/adm/fillup-templates %endif - Name: distcc -Version: 3.2rc1 +Version: 3.3 Release: 0 Summary: A fast, free distributed C/C++ compiler -License: GPL-2.0+ +License: GPL-2.0-or-later Group: Development/Tools/Building Url: https://github.com/distcc/distcc -Source0: https://github.com/distcc/distcc/archive/v%{version}.tar.gz +Source0: https://github.com/distcc/distcc/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: distccd.sysconfig Source2: distccd.service Source3: distccd.firewall -Patch0: distcc-3.0-fix-fortify.patch -Patch2: distcc-3.2_rc1-freedesktop.patch -Patch3: distcc-3.2_rc1-gssapi.patch -Patch4: distcc-3.2_rc1-python.patch -Patch5: distcc-minilzo-2.08.patch +Patch1: distcc-3.2_rc1-freedesktop.patch +Patch2: distcc-3.2_rc1-gssapi.patch +Patch3: distcc-3.2_rc1-python.patch BuildRequires: autoconf BuildRequires: automake +BuildRequires: binutils-devel BuildRequires: fdupes BuildRequires: gcc BuildRequires: libtool BuildRequires: make +BuildRequires: pkgconfig BuildRequires: python BuildRequires: systemd BuildRequires: update-desktop-files @@ -52,7 +51,7 @@ BuildRequires: pkgconfig(libgnome-2.0) BuildRequires: pkgconfig(libgnomeui-2.0) BuildRequires: pkgconfig(libgssglue) BuildRequires: pkgconfig(pango) -BuildRequires: pkgconfig(python) +BuildRequires: pkgconfig(python3) Recommends: %{name}-server = %{version} Suggests: %{name}-gui = %{version} @@ -82,12 +81,7 @@ Requires: %{name} = %{version} This package contains the compilation server needed to use %{name}. %prep -%setup -q -%patch0 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 +%autosetup -p1 # do not use date/time in the c files modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")" @@ -103,7 +97,6 @@ autoreconf -fvi export CFLAGS="%{optflags} -fno-strict-aliasing" export CXXFLAGS="%{optflags} -fno-strict-aliasing" %configure \ - --with-docdir=%{_docdir}/%{name} \ --disable-Werror \ --enable-rfc2553 \ --with-gtk \ @@ -117,7 +110,7 @@ sed -i \ make %{?_smp_mflags} %install -%make_install +%make_install docdir=%{_docdir}/%{name} # service mkdir -p %{buildroot}/%{_sbindir} ln -sf service %{buildroot}/%{_sbindir}/rc%{name}d @@ -135,8 +128,9 @@ ln -sf %{_bindir}/%{name} %{buildroot}%{_libexecdir}/%{name}/bin/c++ ln -sf %{_bindir}/%{name} %{buildroot}%{_libexecdir}/%{name}/bin/cpp ln -sf %{_bindir}/%{name} %{buildroot}%{_libexecdir}/%{name}/bin/clang ln -sf %{_bindir}/%{name} %{buildroot}%{_libexecdir}/%{name}/bin/clang++ -# pointless installed file -rm -rf %{buildroot}%{_docdir}/distcc/INSTALL + +# pointless files +rm -rf %{buildroot}%{_docdir}/%{name}/{INSTALL,COPYING} # cleanups %suse_update_desktop_file -r distccmon-gnome Development Building %fdupes ${buildroot} @@ -161,11 +155,11 @@ rm -rf %{buildroot}%{_docdir}/distcc/INSTALL %desktop_database_postun %files -%defattr(-,root,root) -%doc AUTHORS doc/* NEWS README.pump TODO -%doc COPYING README survey.txt +%license COPYING +%doc AUTHORS doc/* NEWS README.pump TODO README survey.txt %dir %{_libexecdir}/distcc %dir %{_libexecdir}/distcc/bin +%dir %{_docdir}/distcc %{_libexecdir}/distcc/bin/c++ %{_libexecdir}/distcc/bin/cc %{_libexecdir}/distcc/bin/cpp @@ -173,19 +167,21 @@ rm -rf %{buildroot}%{_docdir}/distcc/INSTALL %{_libexecdir}/distcc/bin/gcc %{_libexecdir}/distcc/bin/clang %{_libexecdir}/distcc/bin/clang++ +%{_sbindir}/update-distcc-symlinks %{_bindir}/distcc %{_bindir}/distccmon-text %{_bindir}/lsdistcc %{_bindir}/pump -%{_mandir}/man1/distcc.1.* +%{_mandir}/man1/distcc.1%{?ext_man} +%{_mandir}/man1/lsdistcc.1%{?ext_man} %{_mandir}/man1/pump* -%{_mandir}/man1/distccmon-text.1.* +%{_mandir}/man1/distccmon-text.1%{?ext_man} %dir %{_sysconfdir}/distcc %config(noreplace) %{_sysconfdir}/%{name}/hosts %files server -%defattr(-,root,root) -%doc COPYING README +%license COPYING +%doc README %{_bindir}/distccd %{_unitdir}/distccd.service %{_sbindir}/rcdistccd @@ -195,10 +191,9 @@ rm -rf %{buildroot}%{_docdir}/distcc/INSTALL %{_mandir}/man1/include_server* %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/distccd %{_fillupdir}/* -%{python_sitearch}/include_server* +%{python3_sitearch}/include_server* %files gui -%defattr(-,root,root) %{_bindir}/distccmon-gnome %{_datadir}/applications/distccmon-gnome.desktop %{_datadir}/pixmaps/distccmon-gnome-icon.png diff --git a/v3.2rc1.tar.gz b/v3.2rc1.tar.gz deleted file mode 100644 index 430177b..0000000 --- a/v3.2rc1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:33e85981ff6afd94efc38b23b2d8b9036b3dff2dc6eac6982b9ff0ae1de64caa -size 936590 From 1e029ed486425c3c3977b214c12c87eac2f440123bd17f37009d73087ad5f0ba Mon Sep 17 00:00:00 2001 From: Martin Pluskal Date: Tue, 13 Mar 2018 09:22:00 +0000 Subject: [PATCH 2/2] Accepting request 586292 from home:jengelh:branches:devel:tools:building - Ensure neutrality of description. OBS-URL: https://build.opensuse.org/request/show/586292 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/distcc?expand=0&rev=15 --- distcc.changes | 5 +++++ distcc.spec | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/distcc.changes b/distcc.changes index 614fd83..dbefa70 100644 --- a/distcc.changes +++ b/distcc.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Mar 13 09:09:59 UTC 2018 - jengelh@inai.de + +- Ensure neutrality of description. + ------------------------------------------------------------------- Tue Mar 13 00:02:21 UTC 2018 - avindra@opensuse.org diff --git a/distcc.spec b/distcc.spec index be62741..1f12ee6 100644 --- a/distcc.spec +++ b/distcc.spec @@ -23,7 +23,7 @@ Name: distcc Version: 3.3 Release: 0 -Summary: A fast, free distributed C/C++ compiler +Summary: A distributed C/C++ compiler License: GPL-2.0-or-later Group: Development/Tools/Building Url: https://github.com/distcc/distcc @@ -56,20 +56,20 @@ Recommends: %{name}-server = %{version} Suggests: %{name}-gui = %{version} %description -distcc is a program to distribute builds of C, C++, Objective C or Objective -C++ code across several machines on a network. distcc should always generate -the same results as a local build, is simple to install and use, and is -usually much faster than a local compile. +distcc is a program to distribute builds of C, C++, Objective C or +Objective C++ code across several machines on a network, thereby +completing the task in less time. distcc should always generate the +same results as a local build. %package gui Summary: GUI monitor for distcc server/client Group: Development/Tools/Building %description gui -distcc is a program to distribute builds of C, C++, Objective C or Objective -C++ code across several machines on a network. distcc should always generate -the same results as a local build, is simple to install and use, and is -usually much faster than a local compile. +distcc is a program to distribute builds of C, C++, Objective C or +Objective C++ code across several machines on a network, thereby +completing the task in less time. distcc should always generate the +same results as a local build. %package server Summary: Server for distributed C/C++ compilation