XERCESC-2138: Use <cstdio> in place of <stdio.h>
diff --git a/cmake/XercesTranscoderSelection.cmake b/cmake/XercesTranscoderSelection.cmake
index b6ff114..32e606a 100644
--- a/cmake/XercesTranscoderSelection.cmake
+++ b/cmake/XercesTranscoderSelection.cmake
@@ -44,7 +44,6 @@
 check_include_file_cxx(iconv.h HAVE_ICONV_H)
 check_include_file_cxx(wchar.h HAVE_WCHAR_H)
 check_include_file_cxx(string.h HAVE_STRING_H)
-check_include_file_cxx(stdio.h HAVE_STDIO_H)
 check_include_file_cxx(ctype.h HAVE_CTYPE_H)
 check_include_file_cxx(locale.h HAVE_LOCALE_H)
 check_include_file_cxx(errno.h HAVE_ERRNO_H)
@@ -57,7 +56,7 @@
 
 set(gnuiconv_available 0)
 if(HAVE_ICONV_H AND HAVE_WCHAR_H AND HAVE_STRING_H AND
-   HAVE_STDIO_H AND HAVE_CTYPE_H AND HAVE_LOCALE_H AND HAVE_ERRNO_H)
+   HAVE_CTYPE_H AND HAVE_LOCALE_H AND HAVE_ERRNO_H)
   if (HAVE_ENDIAN_H OR HAVE_MACHINE_ENDIAN_H OR HAVE_ARPA_NAMESER_COMPAT_H)
     if(HAVE_ICONV_OPEN AND HAVE_ICONV_CLOSE AND HAVE_ICONV)
       set(gnuiconv_available 1)
diff --git a/config.h.cmake.in b/config.h.cmake.in
index c99fd33..feabddf 100644
--- a/config.h.cmake.in
+++ b/config.h.cmake.in
@@ -180,9 +180,6 @@
 /* Define to 1 if you have the <stddef.h> header file. */
 #cmakedefine HAVE_STDDEF_H 1
 
-/* Define to 1 if you have the <stdio.h> header file. */
-#cmakedefine HAVE_STDIO_H 1
-
 /* Define to 1 if you have the `strcasecmp' function. */
 #cmakedefine HAVE_STRCASECMP 1
 
diff --git a/m4/xerces_transcoder_selection.m4 b/m4/xerces_transcoder_selection.m4
index 96f69e2..74707ca 100644
--- a/m4/xerces_transcoder_selection.m4
+++ b/m4/xerces_transcoder_selection.m4
@@ -23,7 +23,7 @@
 
 	# Check for GNU iconv support
 	no_GNUiconv=false
-	AC_CHECK_HEADERS([iconv.h wchar.h string.h stdio.h ctype.h locale.h errno.h], [], [no_GNUiconv=true])
+	AC_CHECK_HEADERS([iconv.h wchar.h string.h ctype.h locale.h errno.h], [], [no_GNUiconv=true])
         # The code in iconv needs just on of these include files
 	AC_CHECK_HEADER([endian.h],
                         [],
diff --git a/samples/src/PSVIWriter/PSVIWriterHandlers.cpp b/samples/src/PSVIWriter/PSVIWriterHandlers.cpp
index 29965a5..9c3ea37 100644
--- a/samples/src/PSVIWriter/PSVIWriterHandlers.cpp
+++ b/samples/src/PSVIWriter/PSVIWriterHandlers.cpp
@@ -35,7 +35,7 @@
 #include <xercesc/framework/psvi/XSValue.hpp>
 
 #include <string.h>
-#include <stdio.h>
+#include <cstdio>
 
 XERCES_CPP_NAMESPACE_USE
 
diff --git a/src/xercesc/dom/impl/DOMNodeIDMap.cpp b/src/xercesc/dom/impl/DOMNodeIDMap.cpp
index 3e90029..6916318 100644
--- a/src/xercesc/dom/impl/DOMNodeIDMap.cpp
+++ b/src/xercesc/dom/impl/DOMNodeIDMap.cpp
@@ -25,7 +25,7 @@
 
 #include <xercesc/util/XMLString.hpp>
 #include <xercesc/util/RuntimeException.hpp>
-#include <stdio.h>
+#include <cstdio>
 
 XERCES_CPP_NAMESPACE_BEGIN
 
diff --git a/src/xercesc/dom/impl/DOMNodeImpl.cpp b/src/xercesc/dom/impl/DOMNodeImpl.cpp
index d2f8a8b..5e4c6a7 100644
--- a/src/xercesc/dom/impl/DOMNodeImpl.cpp
+++ b/src/xercesc/dom/impl/DOMNodeImpl.cpp
@@ -36,7 +36,7 @@
 #include <xercesc/util/XMLUniDefs.hpp>
 #include <xercesc/util/PlatformUtils.hpp>
 #include <xercesc/util/XMLInitializer.hpp>
-#include <stdio.h>
+#include <cstdio>
 #include <assert.h>
 
 XERCES_CPP_NAMESPACE_BEGIN
diff --git a/src/xercesc/framework/StdOutFormatTarget.cpp b/src/xercesc/framework/StdOutFormatTarget.cpp
index bdfa24c..a46af89 100644
--- a/src/xercesc/framework/StdOutFormatTarget.cpp
+++ b/src/xercesc/framework/StdOutFormatTarget.cpp
@@ -20,7 +20,7 @@
  */
 
 #include <xercesc/framework/StdOutFormatTarget.hpp>
-#include <stdio.h>
+#include <cstdio>
 
 XERCES_CPP_NAMESPACE_BEGIN
 
diff --git a/src/xercesc/internal/XSerializeEngine.cpp b/src/xercesc/internal/XSerializeEngine.cpp
index 5804bb0..5abae49 100644
--- a/src/xercesc/internal/XSerializeEngine.cpp
+++ b/src/xercesc/internal/XSerializeEngine.cpp
@@ -31,7 +31,7 @@
 #include <xercesc/framework/BinOutputStream.hpp>
 #include <xercesc/util/BinInputStream.hpp>
 
-#include <stdio.h>
+#include <cstdio>
 #include <assert.h>
 
 XERCES_CPP_NAMESPACE_BEGIN
diff --git a/src/xercesc/internal/XTemplateSerializer.cpp b/src/xercesc/internal/XTemplateSerializer.cpp
index b64404d..3844e27 100644
--- a/src/xercesc/internal/XTemplateSerializer.cpp
+++ b/src/xercesc/internal/XTemplateSerializer.cpp
@@ -24,7 +24,7 @@
 #include <xercesc/framework/XMLGrammarPool.hpp>
 #include <xercesc/validators/common/Grammar.hpp>
 
-#include <stdio.h>
+#include <cstdio>
 #include <cstdlib>
 #include <assert.h>
 
diff --git a/src/xercesc/util/DefaultPanicHandler.cpp b/src/xercesc/util/DefaultPanicHandler.cpp
index 517913d..0ff4411 100644
--- a/src/xercesc/util/DefaultPanicHandler.cpp
+++ b/src/xercesc/util/DefaultPanicHandler.cpp
@@ -25,7 +25,7 @@
 // ---------------------------------------------------------------------------
 #include <xercesc/util/DefaultPanicHandler.hpp>
 
-#include <stdio.h>
+#include <cstdio>
 #include <cstdlib>
 
 XERCES_CPP_NAMESPACE_BEGIN
diff --git a/src/xercesc/util/FileManagers/PosixFileMgr.cpp b/src/xercesc/util/FileManagers/PosixFileMgr.cpp
index e29efe1..51e5831 100644
--- a/src/xercesc/util/FileManagers/PosixFileMgr.cpp
+++ b/src/xercesc/util/FileManagers/PosixFileMgr.cpp
@@ -20,7 +20,7 @@
  */
 
 #include <config.h>
-#include <stdio.h>
+#include <cstdio>
 
 #if HAVE_UNISTD_H
 #include <unistd.h>
diff --git a/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp b/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp
index 202fe7d..9cf42db 100644
--- a/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp
+++ b/src/xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp
@@ -35,7 +35,7 @@
 #include "unicode/udata.h"
 
 #include "string.h"
-#include <stdio.h>
+#include <cstdio>
 #include <cstdlib>
 
 XERCES_CPP_NAMESPACE_BEGIN
diff --git a/src/xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.cpp b/src/xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.cpp
index 1d7755d..290456d 100644
--- a/src/xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.cpp
+++ b/src/xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.cpp
@@ -34,7 +34,7 @@
 
 #include <locale.h>
 #include <cstdlib>
-#include <stdio.h>
+#include <cstdio>
 #include <string.h>
 
 XERCES_CPP_NAMESPACE_BEGIN
diff --git a/src/xercesc/util/NetAccessors/Curl/CurlURLInputStream.cpp b/src/xercesc/util/NetAccessors/Curl/CurlURLInputStream.cpp
index 1727a3f..fa29c5a 100644
--- a/src/xercesc/util/NetAccessors/Curl/CurlURLInputStream.cpp
+++ b/src/xercesc/util/NetAccessors/Curl/CurlURLInputStream.cpp
@@ -23,7 +23,7 @@
   #include <config.h>
 #endif
 
-#include <stdio.h>
+#include <cstdio>
 #include <cstdlib>
 #include <string.h>
 #if HAVE_ERRNO_H
diff --git a/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp b/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp
index 289519e..418bf32 100644
--- a/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp
+++ b/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp
@@ -27,7 +27,7 @@
 #include <ws2tcpip.h>
 #endif
 
-#include <stdio.h>
+#include <cstdio>
 #include <string.h>
 
 #include <xercesc/util/PlatformUtils.hpp>
diff --git a/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp b/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp
index d08811b..f84741c 100644
--- a/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp
+++ b/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp
@@ -45,7 +45,7 @@
 
 #include <string.h>
 #include <cstdlib>
-#include <stdio.h>
+#include <cstdio>
 
 #include "IconvTransService.hpp"
 #include <xercesc/util/XMLUniDefs.hpp>
diff --git a/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.cpp b/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.cpp
index c151020..4899589 100644
--- a/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.cpp
+++ b/src/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.cpp
@@ -105,7 +105,7 @@
 #include <wchar.h>
 #include <string.h>
 #include <cstdlib>
-#include <stdio.h>
+#include <cstdio>
 
 #include <xercesc/util/XMLString.hpp>
 #include <xercesc/util/XMLUniDefs.hpp>
diff --git a/src/xercesc/util/XMLChar.cpp b/src/xercesc/util/XMLChar.cpp
index 46a61da..8746a12 100644
--- a/src/xercesc/util/XMLChar.cpp
+++ b/src/xercesc/util/XMLChar.cpp
@@ -8835,7 +8835,7 @@
 
 #if defined(NEED_TO_GEN_TABLE)
 
-#include <stdio.h>
+#include <cstdio>
 
 static XMLCh gTmpCharTable[0x10000];
 
diff --git a/src/xercesc/util/XMLDateTime.cpp b/src/xercesc/util/XMLDateTime.cpp
index 3740c64..6660356 100644
--- a/src/xercesc/util/XMLDateTime.cpp
+++ b/src/xercesc/util/XMLDateTime.cpp
@@ -27,7 +27,7 @@
 #endif
 
 #include <cstdlib>
-#include <stdio.h>
+#include <cstdio>
 #include <assert.h>
 #include <errno.h>
 
diff --git a/src/xercesc/util/regx/TokenFactory.cpp b/src/xercesc/util/regx/TokenFactory.cpp
index 2933ac1..18d44cd 100644
--- a/src/xercesc/util/regx/TokenFactory.cpp
+++ b/src/xercesc/util/regx/TokenFactory.cpp
@@ -188,7 +188,7 @@
    #include <unicode/uchar.h>
 #endif
 
-#include <stdio.h>
+#include <cstdio>
 void TokenFactory::printUnicode() {
 
 #if XERCES_USE_TRANSCODER_ICU
diff --git a/src/xercesc/validators/datatype/AnyURIDatatypeValidator.cpp b/src/xercesc/validators/datatype/AnyURIDatatypeValidator.cpp
index 7f11626..1f5eff4 100644
--- a/src/xercesc/validators/datatype/AnyURIDatatypeValidator.cpp
+++ b/src/xercesc/validators/datatype/AnyURIDatatypeValidator.cpp
@@ -22,7 +22,7 @@
 // ---------------------------------------------------------------------------
 //  Includes
 // ---------------------------------------------------------------------------
-#include <stdio.h>
+#include <cstdio>
 #include <xercesc/util/OutOfMemoryException.hpp>
 #include <xercesc/util/XMLUTF8Transcoder.hpp>
 #include <xercesc/framework/XMLBuffer.hpp>
diff --git a/src/xercesc/validators/schema/GeneralAttributeCheck.cpp b/src/xercesc/validators/schema/GeneralAttributeCheck.cpp
index 657526f..4e58ee1 100644
--- a/src/xercesc/validators/schema/GeneralAttributeCheck.cpp
+++ b/src/xercesc/validators/schema/GeneralAttributeCheck.cpp
@@ -400,7 +400,7 @@
 
 #if defined(NEED_TO_GEN_ELEM_ATT_MAP_TABLE)
 
-#include <stdio.h>
+#include <cstdio>
 
 void GeneralAttributeCheck::initCharFlagTable()
 {
diff --git a/tests/src/DOM/DOMMemTest/DOMMemTest.cpp b/tests/src/DOM/DOMMemTest/DOMMemTest.cpp
index c6271cf..66a37a2 100644
--- a/tests/src/DOM/DOMMemTest/DOMMemTest.cpp
+++ b/tests/src/DOM/DOMMemTest/DOMMemTest.cpp
@@ -24,7 +24,7 @@
  * $Id$
  */
 
-#include <stdio.h>
+#include <cstdio>
 #include <string.h>
 #include <xercesc/dom/DOM.hpp>
 #include <xercesc/util/PlatformUtils.hpp>
diff --git a/tests/src/DOM/DOMTest/DTest.cpp b/tests/src/DOM/DOMTest/DTest.cpp
index 99c8b97..2980ca6 100644
--- a/tests/src/DOM/DOMTest/DTest.cpp
+++ b/tests/src/DOM/DOMTest/DTest.cpp
@@ -27,7 +27,7 @@
  *
  */
 
-#include <stdio.h>
+#include <cstdio>
 #include "DTest.h"
 #include <xercesc/util/PlatformUtils.hpp>
 #include <xercesc/util/XMLException.hpp>
diff --git a/tests/src/DOM/RangeTest/RangeTest.cpp b/tests/src/DOM/RangeTest/RangeTest.cpp
index 6b1a7bd..dfd08b9 100644
--- a/tests/src/DOM/RangeTest/RangeTest.cpp
+++ b/tests/src/DOM/RangeTest/RangeTest.cpp
@@ -28,7 +28,7 @@
  *  corner cases.
  */
 
-#include <stdio.h>
+#include <cstdio>
 #include <xercesc/dom/DOM.hpp>
 #include <xercesc/util/PlatformUtils.hpp>
 #include <xercesc/util/XMLException.hpp>
diff --git a/tests/src/DOM/Traversal/Traversal.cpp b/tests/src/DOM/Traversal/Traversal.cpp
index 1cc1c59..21bb2ef 100644
--- a/tests/src/DOM/Traversal/Traversal.cpp
+++ b/tests/src/DOM/Traversal/Traversal.cpp
@@ -29,7 +29,7 @@
  * $Id$
  */
 
-#include <stdio.h>
+#include <cstdio>
 #include <string.h>
 #include <xercesc/dom/DOM.hpp>
 #include <xercesc/util/PlatformUtils.hpp>
diff --git a/tests/src/EncodingTest/EncodingTest.cpp b/tests/src/EncodingTest/EncodingTest.cpp
index ffce121..30438b0 100644
--- a/tests/src/EncodingTest/EncodingTest.cpp
+++ b/tests/src/EncodingTest/EncodingTest.cpp
@@ -38,7 +38,7 @@
 #include <xercesc/util/OutOfMemoryException.hpp>
 #include <xercesc/parsers/XercesDOMParser.hpp>
 #include <xercesc/dom/DOM.hpp>
-#include <stdio.h>
+#include <cstdio>
 
 XERCES_CPP_NAMESPACE_USE
 
diff --git a/tests/src/ThreadTest/ThreadTest.cpp b/tests/src/ThreadTest/ThreadTest.cpp
index be1846b..6d01f57 100644
--- a/tests/src/ThreadTest/ThreadTest.cpp
+++ b/tests/src/ThreadTest/ThreadTest.cpp
@@ -26,7 +26,7 @@
 #endif
 
 #include <cstdlib>
-#include <stdio.h>
+#include <cstdio>
 #include <string.h>
 #include <ctype.h>
 #include <xercesc/parsers/SAXParser.hpp>
diff --git a/tests/src/XSValueTest/XSValueTest.cpp b/tests/src/XSValueTest/XSValueTest.cpp
index 420d044..889f20c 100644
--- a/tests/src/XSValueTest/XSValueTest.cpp
+++ b/tests/src/XSValueTest/XSValueTest.cpp
@@ -33,7 +33,7 @@
 
 #include <fstream>
 
-#include <stdio.h>
+#include <cstdio>
 #include <math.h>
 
 #include <xercesc/framework/psvi/XSValue.hpp>
diff --git a/tests/src/XSerializerTest/XSerializerTest.cpp b/tests/src/XSerializerTest/XSerializerTest.cpp
index c19626c..124c108 100644
--- a/tests/src/XSerializerTest/XSerializerTest.cpp
+++ b/tests/src/XSerializerTest/XSerializerTest.cpp
@@ -69,7 +69,7 @@
 *
 ***/
 
-#include <stdio.h>
+#include <cstdio>
 
 static
 void parseCase(const char* const xmlFile);
diff --git a/tools/IANACharset/IANACharset.cpp b/tools/IANACharset/IANACharset.cpp
index ddbccf3..3e29714 100644
--- a/tools/IANACharset/IANACharset.cpp
+++ b/tools/IANACharset/IANACharset.cpp
@@ -37,7 +37,7 @@
 // ---------------------------------------------------------------------------
 //  Includes
 // ---------------------------------------------------------------------------
-#include <stdio.h>
+#include <cstdio>
 
 #include <xercesc/util/PlatformUtils.hpp>
 #include <xercesc/sax/SAXParseException.hpp>
diff --git a/tools/ICUData/ICUData.cpp b/tools/ICUData/ICUData.cpp
index 160fe6b..24e2e9e 100644
--- a/tools/ICUData/ICUData.cpp
+++ b/tools/ICUData/ICUData.cpp
@@ -38,7 +38,7 @@
 //  Includes
 // ---------------------------------------------------------------------------
 #include    <ctype.h>
-#include    <stdio.h>
+#include    <cstdio>
 #include    <cstdlib>
 #include    <iostream.h>
 #include    <string.h>
diff --git a/tools/NLS/Xlat/Xlat.hpp b/tools/NLS/Xlat/Xlat.hpp
index 07db290..52f92ba 100644
--- a/tools/NLS/Xlat/Xlat.hpp
+++ b/tools/NLS/Xlat/Xlat.hpp
@@ -35,7 +35,7 @@
 // ---------------------------------------------------------------------------
 //  Includes
 // ---------------------------------------------------------------------------
-#include <stdio.h>
+#include <cstdio>
 #include <wchar.h>
 #include <cstdlib>