Merge pull request #644 from libexpat/issue-642-release-2-4-9

Prepare release 2.4.9 (part of #642)
diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml
index 3de0347..03eefe9 100644
--- a/.github/workflows/coverage.yml
+++ b/.github/workflows/coverage.yml
@@ -66,11 +66,11 @@
         #   1. Remove all packages that ppa:ondrej/php has but plain Ubuntu doesn't, e.g. everything PHP
         #   2. Revert (remaining) packages that ppa:ondrej/php and plain Ubuntu share, back to the plain Ubuntu version
         #   3. Assert that no packages from ppa:ondrej/php are left installed
-        dpkg -l | grep '^ii' | fgrep deb.sury.org | awk '{print $2}' | grep '^php' \
+        dpkg -l | grep '^ii' | grep -F deb.sury.org | awk '{print $2}' | grep '^php' \
           | xargs -r -t sudo apt-get remove --yes libpcre2-posix3 libzip4
-        dpkg -l | grep '^ii' | fgrep deb.sury.org | awk '{print $2}' | sed "s,\$,/${UBUNTU_CODENAME}," \
+        dpkg -l | grep '^ii' | grep -F deb.sury.org | awk '{print $2}' | sed "s,\$,/${UBUNTU_CODENAME}," \
           | xargs -r -t sudo apt-get install --yes --no-install-recommends --allow-downgrades -V
-        ! dpkg -l | grep '^ii' | fgrep deb.sury.org
+        ! dpkg -l | grep '^ii' | grep -F deb.sury.org
 
         # Install 32bit Wine
         sudo dpkg --add-architecture i386  # for wine32
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
index 6d88ae3..68d2c06 100644
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -93,11 +93,11 @@
         #   1. Remove all packages that ppa:ondrej/php has but plain Ubuntu doesn't, e.g. everything PHP
         #   2. Revert (remaining) packages that ppa:ondrej/php and plain Ubuntu share, back to the plain Ubuntu version
         #   3. Assert that no packages from ppa:ondrej/php are left installed
-        dpkg -l | grep '^ii' | fgrep deb.sury.org | awk '{print $2}' | grep '^php' \
+        dpkg -l | grep '^ii' | grep -F deb.sury.org | awk '{print $2}' | grep '^php' \
           | xargs -r -t sudo apt-get remove --yes libpcre2-posix3 libzip4
-        dpkg -l | grep '^ii' | fgrep deb.sury.org | awk '{print $2}' | sed "s,\$,/${UBUNTU_CODENAME}," \
+        dpkg -l | grep '^ii' | grep -F deb.sury.org | awk '{print $2}' | sed "s,\$,/${UBUNTU_CODENAME}," \
           | xargs -r -t sudo apt-get install --yes --no-install-recommends --allow-downgrades -V
-        ! dpkg -l | grep '^ii' | fgrep deb.sury.org
+        ! dpkg -l | grep '^ii' | grep -F deb.sury.org
 
         # Install 32bit Wine
         sudo dpkg --add-architecture i386  # for wine32
diff --git a/.github/workflows/scripts/list-shared-library-symbols.sh b/.github/workflows/scripts/list-shared-library-symbols.sh
index 88df478..eeef949 100755
--- a/.github/workflows/scripts/list-shared-library-symbols.sh
+++ b/.github/workflows/scripts/list-shared-library-symbols.sh
@@ -6,7 +6,7 @@
 #                      \___/_/\_\ .__/ \__,_|\__|
 #                               |_| XML parser
 #
-# Copyright (c) 2021 Sebastian Pipping <sebastian@pipping.org>
+# Copyright (c) 2021-2022 Sebastian Pipping <sebastian@pipping.org>
 # Licensed under the MIT license:
 #
 # Permission is  hereby granted,  free of charge,  to any  person obtaining
@@ -33,4 +33,4 @@
     echo "usage: $(basename "$0") SO_FILE_PATH" >&2
     exit 1
 fi
-nm -D -p "${1}" | fgrep ' T ' | awk '{print $3}' | sort -f -d
+nm -D -p "${1}" | grep -F ' T ' | awk '{print $3}' | sort -f -d
diff --git a/expat/CMake.README b/expat/CMake.README
index be805e4..a050230 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.4.8 is the source directory of expat, add a subdirectory
+Assuming ~/expat-2.4.9 is the source directory of expat, add a subdirectory
 build and change into that directory:
-~/expat-2.4.8$ mkdir build && cd build
-~/expat-2.4.8/build$
+~/expat-2.4.9$ mkdir build && cd build
+~/expat-2.4.9/build$
 
 From that directory, call cmake first, then call make, make test and
 make install in the usual way:
-~/expat-2.4.8/build$ cmake ..
+~/expat-2.4.9/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.4.8/build
+-- Build files have been written to: /home/patrick/expat-2.4.9/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.4.8/build$ make && make test && make install
+~/expat-2.4.9/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 9702824..170ff18 100644
--- a/expat/CMakeLists.txt
+++ b/expat/CMakeLists.txt
@@ -30,6 +30,7 @@
 # Copyright (c) 2020      Thomas Beutlich <tc@tbeu.de>
 # Copyright (c) 2021      Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
 # Copyright (c) 2022      Johnny Jazeix <jazeix@gmail.com>
+# Copyright (c) 2022      David Faure <david.faure@kdab.com>
 # Unlike most of Expat,
 # this file is copyrighted under the BSD-license for buildsystem files of KDE.
 
@@ -37,7 +38,7 @@
 
 project(expat
     VERSION
-        2.4.8
+        2.4.9
     LANGUAGES
         C
 )
@@ -436,7 +437,7 @@
 endforeach()
 
 set(LIBCURRENT 9)   # sync
-set(LIBREVISION 8)  # with
+set(LIBREVISION 9)  # with
 set(LIBAGE 8)       # configure.ac!
 math(EXPR LIBCURRENT_MINUS_AGE "${LIBCURRENT} - ${LIBAGE}")
 
diff --git a/expat/Changes b/expat/Changes
index a57f098..cfc83a0 100644
--- a/expat/Changes
+++ b/expat/Changes
@@ -2,7 +2,7 @@
       https://github.com/libexpat/libexpat/labels/help%20wanted
       If you can help, please get in touch.  Thanks!
 
-Release x.x.x xxx xxxxx xx xxxx
+Release 2.4.9 Tue September 20 2022
         Security fixes:
        #629 #640  CVE-2022-40674 -- Heap use-after-free vulnerability in
                     function doContent. Expected impact is denial of service
@@ -10,6 +10,8 @@
 
         Bug fixes:
             #634  MinGW: Fix mis-compilation for -D__USE_MINGW_ANSI_STDIO=0
+            #614  docs: Fix documentation on effect of switch XML_DTD on
+                    symbol visibility in doc/reference.html
 
         Other changes:
             #638  MinGW: Make fix-xmltest-log.sh drop more Wine bug output
@@ -28,19 +30,29 @@
             #632  MinGW|CMake: Set missing variable CMAKE_RC_COMPILER in
                     toolchain file "cmake/mingw-toolchain.cmake" to avoid
                     error "windres: Command not found" on e.g. Ubuntu 20.04
-       #597 #626  CMake: Unify inconsistent use of set() and option() in
+       #597 #627  CMake: Unify inconsistent use of set() and option() in
                     context of public build time options to take need for
                     set(.. FORCE) in projects using Expat by means of
                     add_subdirectory(..) off Expat's users' shoulders
        #626 #641  Stop exporting API symbols when building a static library
+            #644  Resolve use of deprecated "fgrep" by "grep -F"
             #620  CMake: Make documentation on variables a bit more consistent
-            #610  Address Cppcheck 2.8.1 warning
+            #636  CMake: Drop leading whitespace from a #cmakedefine line in
+                    file expat_config.h.cmake
+            #594  xmlwf: Fix harmless variable mix-up in function nsattcmp
+  #592 #593 #610  Address Cppcheck warnings
             #643  Address Clang 15 compiler warnings
+       #642 #644  Version info bumped from 9:8:8 to 9:9:8;
+                    see https://verbump.de/ for what these numbers do
 
         Infrastructure:
        #597 #598  CI: Windows: Start covering MSVC 2022
+            #619  CI: macOS: Migrate off deprecated macOS 10.15
             #632  CI: Linux: Make migration off deprecated Ubuntu 18.04 work
             #643  CI: Upgrade Clang from 14 to 15
+            #637  apply-clang-format.sh: Add support for BSD find
+            #633  coverage.sh: Exclude MinGW headers
+            #635  coverage.sh: Fix name collision for -funsigned-char
 
         Special thanks to:
             David Faure
@@ -48,6 +60,7 @@
             Frank Bergmann
             Rhodri James
             Rosen Penev
+            Thijs Schreijer
             Vincent Torri
                  and
             Google Project Zero
diff --git a/expat/README.md b/expat/README.md
index d2b866d..c0ac8b0 100644
--- a/expat/README.md
+++ b/expat/README.md
@@ -5,7 +5,7 @@
 [![Downloads GitHub](https://img.shields.io/github/downloads/libexpat/libexpat/total?label=Downloads%20GitHub)](https://github.com/libexpat/libexpat/releases)
 
 
-# Expat, Release 2.4.8
+# Expat, Release 2.4.9
 
 This is Expat, a C library for parsing XML, started by
 [James Clark](https://en.wikipedia.org/wiki/James_Clark_%28programmer%29) in 1997.
diff --git a/expat/apply-clang-format.sh b/expat/apply-clang-format.sh
index a073eee..d13b432 100755
--- a/expat/apply-clang-format.sh
+++ b/expat/apply-clang-format.sh
@@ -6,7 +6,8 @@
 #                      \___/_/\_\ .__/ \__,_|\__|
 #                               |_| XML parser
 #
-# Copyright (c) 2019-2021 Sebastian Pipping <sebastian@pipping.org>
+# Copyright (c) 2019-2022 Sebastian Pipping <sebastian@pipping.org>
+# Copyright (c) 2022      Rosen Penev <rosenp@gmail.com>
 # Licensed under the MIT license:
 #
 # Permission is  hereby granted,  free of charge,  to any  person obtaining
diff --git a/expat/buildconf.sh b/expat/buildconf.sh
index 5edbc56..5e2b326 100755
--- a/expat/buildconf.sh
+++ b/expat/buildconf.sh
@@ -6,7 +6,7 @@
 #                      \___/_/\_\ .__/ \__,_|\__|
 #                               |_| XML parser
 #
-# Copyright (c) 2017-2021 Sebastian Pipping <sebastian@pipping.org>
+# Copyright (c) 2017-2022 Sebastian Pipping <sebastian@pipping.org>
 # Copyright (c) 2018      Marco Maggi <marco.maggi-ipsu@poste.it>
 # Licensed under the MIT license:
 #
@@ -40,7 +40,7 @@
 # not put SIZEOF_VOID_P in the eventual expat_config.h.
 patch_expat_config_h_in() {
     local filename="$1"
-    local sizeof_void_p_line_number="$(fgrep -n SIZEOF_VOID_P "${filename}" | awk -F: '{print $1}')"
+    local sizeof_void_p_line_number="$(grep -F -n SIZEOF_VOID_P "${filename}" | awk -F: '{print $1}')"
     [[ ${sizeof_void_p_line_number} =~ ^[0-9]+$ ]]  # cheap assert
     local first_line_to_delete=$(( sizeof_void_p_line_number - 1 ))
     local last_line_to_delete=$(( sizeof_void_p_line_number + 1 ))
diff --git a/expat/configure.ac b/expat/configure.ac
index 0364c5f..4721694 100644
--- a/expat/configure.ac
+++ b/expat/configure.ac
@@ -82,7 +82,7 @@
 dnl
 
 LIBCURRENT=9   # sync
-LIBREVISION=8  # with
+LIBREVISION=9  # with
 LIBAGE=8       # CMakeLists.txt!
 
 AC_CONFIG_HEADERS([expat_config.h])
diff --git a/expat/coverage.sh b/expat/coverage.sh
index 1051211..29855cc 100755
--- a/expat/coverage.sh
+++ b/expat/coverage.sh
@@ -6,7 +6,7 @@
 #                      \___/_/\_\ .__/ \__,_|\__|
 #                               |_| XML parser
 #
-# Copyright (c) 2017-2021 Sebastian Pipping <sebastian@pipping.org>
+# Copyright (c) 2017-2022 Sebastian Pipping <sebastian@pipping.org>
 # Copyright (c) 2018      Marco Maggi <marco.maggi-ipsu@poste.it>
 # Copyright (c) 2019      Mohammed Khajapasha <mohammed.khajapasha@intel.com>
 # Licensed under the MIT license:
diff --git a/expat/doc/reference.html b/expat/doc/reference.html
index bbde082..4ab8d5a 100644
--- a/expat/doc/reference.html
+++ b/expat/doc/reference.html
@@ -50,7 +50,7 @@
   <div>
     <h1>
       The Expat XML Parser
-      <small>Release 2.4.8</small>
+      <small>Release 2.4.9</small>
     </h1>
   </div>
 <div class="content">
diff --git a/expat/doc/xmlwf.xml b/expat/doc/xmlwf.xml
index 48714b8..09d8dc8 100644
--- a/expat/doc/xmlwf.xml
+++ b/expat/doc/xmlwf.xml
@@ -21,7 +21,7 @@
           "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
   <!ENTITY dhfirstname "<firstname>Scott</firstname>">
   <!ENTITY dhsurname   "<surname>Bronson</surname>">
-  <!ENTITY dhdate      "<date>March 28, 2022</date>">
+  <!ENTITY dhdate      "<date>September 20, 2022</date>">
   <!-- Please adjust this^^ date whenever cutting a new release. -->
   <!ENTITY dhsection   "<manvolnum>1</manvolnum>">
   <!ENTITY dhemail     "<email>bronson@rinspin.com</email>">
diff --git a/expat/fix-xmltest-log.sh b/expat/fix-xmltest-log.sh
index 8213196..7981cf3 100755
--- a/expat/fix-xmltest-log.sh
+++ b/expat/fix-xmltest-log.sh
@@ -6,7 +6,7 @@
 #                      \___/_/\_\ .__/ \__,_|\__|
 #                               |_| XML parser
 #
-# Copyright (c) 2019 Sebastian Pipping <sebastian@pipping.org>
+# Copyright (c) 2019-2022 Sebastian Pipping <sebastian@pipping.org>
 # Licensed under the MIT license:
 #
 # Permission is  hereby granted,  free of charge,  to any  person obtaining
diff --git a/expat/lib/Makefile.am b/expat/lib/Makefile.am
index 822a138..0e0185b 100644
--- a/expat/lib/Makefile.am
+++ b/expat/lib/Makefile.am
@@ -6,7 +6,7 @@
 #                      \___/_/\_\ .__/ \__,_|\__|
 #                               |_| XML parser
 #
-# Copyright (c) 2017-2021 Sebastian Pipping <sebastian@pipping.org>
+# Copyright (c) 2017-2022 Sebastian Pipping <sebastian@pipping.org>
 # Copyright (c) 2017      Tomasz Kłoczko <kloczek@fedoraproject.org>
 # Copyright (c) 2019      David Loffredo <loffredo@steptools.com>
 # Licensed under the MIT license:
diff --git a/expat/lib/expat.h b/expat/lib/expat.h
index e2020a4..2b47ce2 100644
--- a/expat/lib/expat.h
+++ b/expat/lib/expat.h
@@ -1055,7 +1055,7 @@
 */
 #define XML_MAJOR_VERSION 2
 #define XML_MINOR_VERSION 4
-#define XML_MICRO_VERSION 8
+#define XML_MICRO_VERSION 9
 
 #ifdef __cplusplus
 }
diff --git a/expat/lib/internal.h b/expat/lib/internal.h
index 08d030f..e09f533 100644
--- a/expat/lib/internal.h
+++ b/expat/lib/internal.h
@@ -28,7 +28,7 @@
    Copyright (c) 2002-2003 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
    Copyright (c) 2002-2006 Karl Waclawek <karl@waclawek.net>
    Copyright (c) 2003      Greg Stein <gstein@users.sourceforge.net>
-   Copyright (c) 2016-2021 Sebastian Pipping <sebastian@pipping.org>
+   Copyright (c) 2016-2022 Sebastian Pipping <sebastian@pipping.org>
    Copyright (c) 2018      Yury Gribov <tetra2005@gmail.com>
    Copyright (c) 2019      David Loffredo <loffredo@steptools.com>
    Licensed under the MIT license:
diff --git a/expat/lib/xmlparse.c b/expat/lib/xmlparse.c
index d73f419..c0bece5 100644
--- a/expat/lib/xmlparse.c
+++ b/expat/lib/xmlparse.c
@@ -1,4 +1,4 @@
-/* 2722de33b8d95adcfb16db05afdec6ed1d40d51565cda2176c61806b5350eafe (2.4.8+)
+/* 90815a2b2c80c03b2b889fe1d427bb2b9e3282aa065e42784e001db4f23de324 (2.4.9+)
                             __  __            _
                          ___\ \/ /_ __   __ _| |_
                         / _ \\  /| '_ \ / _` | __|
@@ -19,7 +19,7 @@
    Copyright (c) 2016      Gustavo Grieco <gustavo.grieco@imag.fr>
    Copyright (c) 2016      Pascal Cuoq <cuoq@trust-in-soft.com>
    Copyright (c) 2016      Ed Schouten <ed@nuxi.nl>
-   Copyright (c) 2017-2018 Rhodri James <rhodri@wildebeest.org.uk>
+   Copyright (c) 2017-2022 Rhodri James <rhodri@wildebeest.org.uk>
    Copyright (c) 2017      Václav Slavík <vaclav@slavik.io>
    Copyright (c) 2017      Viktor Szakats <commit@vsz.me>
    Copyright (c) 2017      Chanho Park <chanho61.park@samsung.com>
diff --git a/expat/qa.sh b/expat/qa.sh
index cb1eb5f..525deb3 100755
--- a/expat/qa.sh
+++ b/expat/qa.sh
@@ -6,7 +6,7 @@
 #                      \___/_/\_\ .__/ \__,_|\__|
 #                               |_| XML parser
 #
-# Copyright (c) 2016-2021 Sebastian Pipping <sebastian@pipping.org>
+# Copyright (c) 2016-2022 Sebastian Pipping <sebastian@pipping.org>
 # Copyright (c) 2019      Philippe Antoine <contact@catenacyber.fr>
 # Copyright (c) 2019      Hanno Böck <hanno@gentoo.org>
 # Licensed under the MIT license:
diff --git a/expat/tests/runtests.c b/expat/tests/runtests.c
index 9a1dc93..530f184 100644
--- a/expat/tests/runtests.c
+++ b/expat/tests/runtests.c
@@ -7661,7 +7661,7 @@
     fail("Version mismatch");
 
 #if ! defined(XML_UNICODE) || defined(XML_UNICODE_WCHAR_T)
-  if (xcstrcmp(version_text, XCS("expat_2.4.8"))) /* needs bump on releases */
+  if (xcstrcmp(version_text, XCS("expat_2.4.9"))) /* 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/build_expat_iss.bat b/expat/win32/build_expat_iss.bat
index 2e2d6fd..53e4351 100644
--- a/expat/win32/build_expat_iss.bat
+++ b/expat/win32/build_expat_iss.bat
@@ -7,7 +7,7 @@
 REM                      \___/_/\_\ .__/ \__,_|\__|
 REM                               |_| XML parser
 REM
-REM Copyright (c) 2019 Sebastian Pipping <sebastian@pipping.org>
+REM Copyright (c) 2019-2021 Sebastian Pipping <sebastian@pipping.org>
 REM Licensed under the MIT license:
 REM
 REM Permission is  hereby granted,  free of charge,  to any  person obtaining
@@ -43,7 +43,7 @@
 
 MD build_shared_char || EXIT /b 1
 CD build_shared_char || EXIT /b 1
-    cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF .. || EXIT /b 1
+    cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_WARNINGS_AS_ERRORS=ON -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF .. || EXIT /b 1
     msbuild /m expat.sln || EXIT /b 1
     DIR %CONFIGURATION% || EXIT /b 1
     CD .. || EXIT /b 1
@@ -53,7 +53,7 @@
 
 MD build_static_char || EXIT /b 1
 CD build_static_char || EXIT /b 1
-    cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_SHARED_LIBS=OFF .. || EXIT /b 1
+    cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_WARNINGS_AS_ERRORS=ON -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_SHARED_LIBS=OFF .. || EXIT /b 1
     msbuild /m expat.sln || EXIT /b 1
     DIR %CONFIGURATION% || EXIT /b 1
     CD .. || EXIT /b 1
@@ -63,7 +63,7 @@
 
 MD build_shared_wchar_t || EXIT /b 1
 CD build_shared_wchar_t || EXIT /b 1
-    cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_CHAR_TYPE=wchar_t .. || EXIT /b 1
+    cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_WARNINGS_AS_ERRORS=ON -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_CHAR_TYPE=wchar_t .. || EXIT /b 1
     msbuild /m expat.sln || EXIT /b 1
     DIR %CONFIGURATION% || EXIT /b 1
     CD .. || EXIT /b 1
@@ -73,7 +73,7 @@
 
 MD build_static_wchar_t || EXIT /b 1
 CD build_static_wchar_t || EXIT /b 1
-    cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_SHARED_LIBS=OFF -DEXPAT_CHAR_TYPE=wchar_t .. || EXIT /b 1
+    cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_WARNINGS_AS_ERRORS=ON -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_SHARED_LIBS=OFF -DEXPAT_CHAR_TYPE=wchar_t .. || EXIT /b 1
     msbuild /m expat.sln || EXIT /b 1
     DIR %CONFIGURATION% || EXIT /b 1
     CD .. || EXIT /b 1
diff --git a/expat/win32/expat.iss b/expat/win32/expat.iss
index d57fd77..5b234ec 100644
--- a/expat/win32/expat.iss
+++ b/expat/win32/expat.iss
@@ -37,7 +37,7 @@
 ; OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 ; USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-#define expatVer "2.4.8"
+#define expatVer "2.4.9"
 
 [Setup]
 AppName=Expat
diff --git a/expat/xmlwf/win32filemap.c b/expat/xmlwf/win32filemap.c
index a0ed75b..a2db8ea 100644
--- a/expat/xmlwf/win32filemap.c
+++ b/expat/xmlwf/win32filemap.c
@@ -9,7 +9,7 @@
    Copyright (c) 1997-2000 Thai Open Source Software Center Ltd
    Copyright (c) 2000      Clark Cooper <coopercc@users.sourceforge.net>
    Copyright (c) 2002      Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
-   Copyright (c) 2016-2017 Sebastian Pipping <sebastian@pipping.org>
+   Copyright (c) 2016-2022 Sebastian Pipping <sebastian@pipping.org>
    Copyright (c) 2022      Martin Ettl <ettl.martin78@googlemail.com>
    Licensed under the MIT license: