Merge branch 'issue-415-release-expat-2-2-10' (#415)
diff --git a/expat/CMake.README b/expat/CMake.README
index ce1d508..aa098b4 100644
--- a/expat/CMake.README
+++ b/expat/CMake.README
@@ -3,25 +3,25 @@
 The cmake based buildsystem for expat works on Windows (cygwin, mingw, Visual
 Studio) and should work on all other platform cmake supports.
 
-Assuming ~/expat-2.2.9 is the source directory of expat, add a subdirectory
+Assuming ~/expat-2.2.10 is the source directory of expat, add a subdirectory
 build and change into that directory:
-~/expat-2.2.9$ mkdir build && cd build
-~/expat-2.2.9/build$
+~/expat-2.2.10$ mkdir build && cd build
+~/expat-2.2.10/build$
 
 From that directory, call cmake first, then call make, make test and
 make install in the usual way:
-~/expat-2.2.9/build$ cmake ..
+~/expat-2.2.10/build$ cmake ..
 -- The C compiler identification is GNU
 -- The CXX compiler identification is GNU
 ....
 -- Configuring done
 -- Generating done
--- Build files have been written to: /home/patrick/expat-2.2.9/build
+-- Build files have been written to: /home/patrick/expat-2.2.10/build
 
 If you want to specify the install location for your files, append
 -DCMAKE_INSTALL_PREFIX=/your/install/path to the cmake call.
 
-~/expat-2.2.9/build$ make && make test && make install
+~/expat-2.2.10/build$ make && make test && make install
 Scanning dependencies of target expat
 [  5%] Building C object CMakeFiles/expat.dir/lib/xmlparse.c.o
 [ 11%] Building C object CMakeFiles/expat.dir/lib/xmlrole.c.o
diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt
index 5cda568..dfbd0c5 100644
--- a/expat/CMakeLists.txt
+++ b/expat/CMakeLists.txt
@@ -33,7 +33,7 @@
 
 project(expat
     VERSION
-        2.2.9
+        2.2.10
     LANGUAGES
         C
 )
@@ -228,14 +228,14 @@
 if(FLAG_VISIBILITY)
   add_definitions(-DXML_ENABLE_VISIBILITY=1)
   set(EXTRA_COMPILE_FLAGS "${EXTRA_COMPILE_FLAGS} -fvisibility=hidden")
-endif(FLAG_VISIBILITY)
+endif()
 if (EXPAT_WARNINGS_AS_ERRORS)
     if(MSVC)
         add_definitions(/WX)
-    else(MSVC)
+    else()
         set(EXTRA_COMPILE_FLAGS "${EXTRA_COMPILE_FLAGS} -Werror")
-    endif(MSVC)
-endif(EXPAT_WARNINGS_AS_ERRORS)
+    endif()
+endif()
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_COMPILE_FLAGS}")
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_COMPILE_FLAGS}")
 
@@ -260,7 +260,7 @@
 include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/lib)
 if(MSVC)
     add_definitions(-D_CRT_SECURE_NO_WARNINGS -wd4996)
-endif(MSVC)
+endif()
 if(WIN32)
     if(_EXPAT_UNICODE_WCHAR_T)
         set(_POSTFIX_WIDE "w")
@@ -288,7 +288,7 @@
 
         set(${postfix_var} "${_POSTFIX_WIDE}${_POSTFIX_DEBUG}${_POSTFIX_CRT}" CACHE STRING "Windows binary postfix, e.g. libexpat<postfix=[w][d][MD|MT]>.lib")
     endforeach()
-endif(WIN32)
+endif()
 
 #
 # C library
@@ -306,10 +306,10 @@
     set(_SHARED SHARED)
     if(MSVC)
         set(expat_SRCS ${expat_SRCS} lib/libexpat.def)
-    endif(MSVC)
-else(EXPAT_SHARED_LIBS)
+    endif()
+else()
     set(_SHARED STATIC)
-endif(EXPAT_SHARED_LIBS)
+endif()
 
 # Avoid colliding with Expat.dll of Perl's XML::Parser::Expat
 if(WIN32 AND NOT MINGW)
@@ -328,7 +328,7 @@
 endif()
 
 set(LIBCURRENT 7)    # sync
-set(LIBREVISION 11)  # with
+set(LIBREVISION 12)  # with
 set(LIBAGE 6)        # configure.ac!
 math(EXPR LIBCURRENT_MINUS_AGE "${LIBCURRENT} - ${LIBAGE}")
 
@@ -337,7 +337,7 @@
     set_property(TARGET expat PROPERTY VERSION ${LIBCURRENT_MINUS_AGE}.${LIBAGE}.${LIBREVISION})
     set_property(TARGET expat PROPERTY SOVERSION ${LIBCURRENT_MINUS_AGE})
     set_property(TARGET expat PROPERTY NO_SONAME ${NO_SONAME})
-endif(NOT WIN32)
+endif()
 
 target_include_directories(expat
     INTERFACE
@@ -416,7 +416,7 @@
     add_executable(outline examples/outline.c)
     set_property(TARGET outline PROPERTY RUNTIME_OUTPUT_DIRECTORY examples)
     target_link_libraries(outline expat)
-endif(EXPAT_BUILD_EXAMPLES)
+endif()
 
 #
 # C/C++ test runners
@@ -457,7 +457,7 @@
     set_property(TARGET runtestspp PROPERTY RUNTIME_OUTPUT_DIRECTORY tests)
     target_link_libraries(runtestspp expat)
     expat_add_test(runtestspp $<TARGET_FILE:runtestspp>)
-endif(EXPAT_BUILD_TESTS)
+endif()
 
 if(EXPAT_BUILD_FUZZERS)
     if(NOT "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
@@ -486,7 +486,7 @@
             "LIB_FUZZING_ENGINE to be set. If you are seeing this "
             "warning, it points to a deeper problem in the ossfuzz "
             "build setup.")
-    endif(EXPAT_OSSFUZZ_BUILD AND NOT DEFINED ENV{LIB_FUZZING_ENGINE})
+    endif()
 
     set(encoding_types UTF-16 UTF-8 ISO-8859-1 US-ASCII UTF-16BE UTF-16LE)
     set(fuzz_targets xml_parse_fuzzer xml_parsebuffer_fuzzer)
@@ -494,7 +494,7 @@
     add_library(fuzzpat STATIC ${expat_SRCS})
     if(NOT EXPAT_OSSFUZZ_BUILD)
         target_compile_options(fuzzpat PRIVATE -fsanitize=fuzzer-no-link)
-    endif(NOT EXPAT_OSSFUZZ_BUILD)
+    endif()
 
     foreach(fuzz_target ${fuzz_targets})
         foreach(encoding_type ${encoding_types})
@@ -505,14 +505,14 @@
                 PRIVATE ENCODING_FOR_FUZZING=${encoding_type})
             if(NOT EXPAT_OSSFUZZ_BUILD)
                 target_compile_options(${target_name} PRIVATE -fsanitize=fuzzer-no-link)
-            endif(NOT EXPAT_OSSFUZZ_BUILD)
+            endif()
             # NOTE: Avoiding target_link_options here only because it needs CMake >=3.13
             if(EXPAT_OSSFUZZ_BUILD)
                 set_target_properties(${target_name} PROPERTIES LINK_FLAGS $ENV{LIB_FUZZING_ENGINE})
                 set_target_properties(${target_name} PROPERTIES LINKER_LANGUAGE "CXX")
             else()
                 set_target_properties(${target_name} PROPERTIES LINK_FLAGS -fsanitize=fuzzer)
-            endif(EXPAT_OSSFUZZ_BUILD)
+            endif()
             set_property(
                 TARGET ${target_name} PROPERTY RUNTIME_OUTPUT_DIRECTORY fuzz)
         endforeach()
@@ -523,8 +523,8 @@
                 "Attempting to perform an ossfuzz build without turning on the fuzzer build. "
                 "This is likely in error - consider adding "
                 "-DEXPAT_BUILD_FUZZERS=ON to your cmake execution.")
-    endif(EXPAT_OSSFUZZ_BUILD)
-endif(EXPAT_BUILD_FUZZERS)
+    endif()
+endif()
 
 #
 # Custom target "run-xmltest"
diff --git a/expat/Changes b/expat/Changes
index e788163..b74a7c5 100644
--- a/expat/Changes
+++ b/expat/Changes
@@ -2,11 +2,11 @@
       https://github.com/libexpat/libexpat/labels/help%20wanted
       If you can help, please get in touch.  Thanks!
 
-Release x.x.x xxx xxxxxxxxx xx xxxx
+Release 2.2.10 Sat October 3 2020
         Bug fixes:
   #390 #395 #398  Fix undefined behavior during parsing caused by
                     pointer arithmetic with NULL pointers
-            #404  Fix reading uninitialized variable during parsing
+       #404 #405  Fix reading uninitialized variable during parsing
             #406  xmlwf: Add missing check for malloc NULL return
 
         Other changes:
@@ -16,9 +16,10 @@
             #403  xmlwf: Document exit codes in xmlwf manpage and
                     exit with code 3 (rather than code 1) for output errors
                     when used with "-d DIRECTORY"
+       #356 #359  MinGW: Provide declaration of rand_s for mingwrt <5.3.0
        #383 #392  Autotools: Use -Werror while configure tests the compiler
                     for supported compile flags to avoid false positives
-       #383 #393  Autotools: Improve handling of user (C|CPP|CXX|LD)FLAGS,
+  #383 #393 #394  Autotools: Improve handling of user (C|CPP|CXX|LD)FLAGS,
                     e.g. ensure that they have the last word over flags added
                     while running ./configure
             #360  CMake: Create libexpatw.{dll,so} and expatw.pc (with emphasis
@@ -38,12 +39,19 @@
                     to control generation of pkg-config file "expat.pc"
             #424  CMake: Add minimalistic support for building binary packages
                     with CMake target "package"; based on CPack
+            #366  CMake: Add option -DEXPAT_OSSFUZZ_BUILD=(ON|OFF) with
+                    default OFF to build fuzzer code against OSS-Fuzz and
+                    related environment variable LIB_FUZZING_ENGINE
             #354  Fix testsuite for -DEXPAT_DTD=OFF and -DEXPAT_NS=OFF, each
-  #354 #355 #356  Address compiler warnings
+    #354 #355 ..
+       #356 #412  Address compiler warnings
+       #368 #369  Address pngcheck warnings with doc/*.png images
+                  Version info bumped from 7:11:6 to 7:12:6
 
         Special thanks to:
             asavah
             Ben Wagner
+            Bhargava Shastry
             Frank Landgraf
             Jeffrey Walton
             Joe Orton
diff --git a/expat/README.md b/expat/README.md
index fabe5d1..428a11a 100644
--- a/expat/README.md
+++ b/expat/README.md
@@ -3,7 +3,7 @@
 [![Packaging status](https://repology.org/badge/tiny-repos/expat.svg)](https://repology.org/metapackage/expat/versions)
 
 
-# Expat, Release 2.2.9
+# Expat, Release 2.2.10
 
 This is Expat, a C library for parsing XML, started by
 [James Clark](https://en.wikipedia.org/wiki/James_Clark_(programmer)) in 1997.
diff --git a/expat/configure.ac b/expat/configure.ac
index 9b0a087..82ec1fd 100644
--- a/expat/configure.ac
+++ b/expat/configure.ac
@@ -49,7 +49,7 @@
 dnl
 
 LIBCURRENT=7    # sync
-LIBREVISION=11  # with
+LIBREVISION=12  # with
 LIBAGE=6        # CMakeLists.txt!
 
 AX_APPEND_FLAG([-DHAVE_EXPAT_CONFIG_H], [AM_CPPFLAGS])
diff --git a/expat/lib/expat.h b/expat/lib/expat.h
index 4eb6ddf..cb828db 100644
--- a/expat/lib/expat.h
+++ b/expat/lib/expat.h
@@ -1015,7 +1015,7 @@
 */
 #define XML_MAJOR_VERSION 2
 #define XML_MINOR_VERSION 2
-#define XML_MICRO_VERSION 9
+#define XML_MICRO_VERSION 10
 
 #ifdef __cplusplus
 }
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
index 60785dd..dfc316c 100644
--- a/expat/lib/xmlparse.c
+++ b/expat/lib/xmlparse.c
@@ -1,4 +1,4 @@
-/* f519f27c7c3b79fee55aeb8b1e53b7384b079d9118bf3a62eb3a60986a6742f2 (2.2.9+)
+/* 5cd169f2942b85c05e0b1b96f9990f91ac3d07e470ad7ce906ac8590c8ed4f35 (2.2.10+)
                             __  __            _
                          ___\ \/ /_ __   __ _| |_
                         / _ \\  /| '_ \ / _` | __|
diff --git a/expat/tests/runtests.c b/expat/tests/runtests.c
index 7791fe0..2490d86 100644
--- a/expat/tests/runtests.c
+++ b/expat/tests/runtests.c
@@ -108,7 +108,7 @@
 
 static XML_Parser g_parser = NULL;
 
-void
+static void
 tcase_add_test__ifdef_xml_dtd(TCase *tc, tcase_test_function test) {
 #ifdef XML_DTD
   tcase_add_test(tc, test);
@@ -7365,7 +7365,7 @@
     fail("Version mismatch");
 
 #if ! defined(XML_UNICODE) || defined(XML_UNICODE_WCHAR_T)
-  if (xcstrcmp(version_text, XCS("expat_2.2.9"))) /* needs bump on releases */
+  if (xcstrcmp(version_text, XCS("expat_2.2.10"))) /* needs bump on releases */
     fail("XML_*_VERSION in expat.h out of sync?\n");
 #else
   /* If we have XML_UNICODE defined but not XML_UNICODE_WCHAR_T
diff --git a/expat/win32/expat.iss b/expat/win32/expat.iss
index 0f65c87..ef95f17 100644
--- a/expat/win32/expat.iss
+++ b/expat/win32/expat.iss
@@ -4,7 +4,7 @@
 ; This script was contributed by Tim Peters.
 ; It was designed for Inno Setup 2.0.19 but works with later versions as well.
 
-#define expatVer "2.2.9"
+#define expatVer "2.2.10"
 
 [Setup]
 AppName=Expat