From dd4e97bae896ce653d0830015689785c00b4f206 Mon Sep 17 00:00:00 2001
From: Tinny Ng <tng@apache.org>
Date: Mon, 27 May 2002 18:02:40 +0000
Subject: [PATCH] define XMLSize_t, XMLSSize_t and their associate MAX

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@173741 13f79535-47bb-0310-9956-ffa450edef68
---
 src/xercesc/util/Compilers/BorlandCDefs.hpp   | 21 +++++++++++----
 src/xercesc/util/Compilers/CSetDefs.hpp       | 25 ++++++++++++++----
 .../util/Compilers/CodeWarriorDefs.hpp        | 21 +++++++++++----
 src/xercesc/util/Compilers/DECCXXDefs.hpp     | 21 +++++++++++----
 src/xercesc/util/Compilers/GCCDefs.hpp        | 20 ++++++++++----
 src/xercesc/util/Compilers/HPCCDefs.hpp       | 25 ++++++++++++++----
 src/xercesc/util/Compilers/IBMVAOS2Defs.hpp   | 22 +++++++++-------
 src/xercesc/util/Compilers/IBMVAW32Defs.hpp   | 23 ++++++++++++----
 src/xercesc/util/Compilers/MIPSproDefs.hpp    | 24 +++++++++++++----
 src/xercesc/util/Compilers/MVSCPPDefs.hpp     | 26 ++++++++++++++-----
 src/xercesc/util/Compilers/OS400SetDefs.hpp   | 21 +++++++++++----
 src/xercesc/util/Compilers/PTXCCDefs.hpp      | 25 ++++++++++++++----
 src/xercesc/util/Compilers/SCOCCDefs.hpp      | 25 ++++++++++++++----
 src/xercesc/util/Compilers/SunCCDefs.hpp      | 25 ++++++++++++++----
 src/xercesc/util/Compilers/SunKaiDefs.hpp     | 22 +++++++++++-----
 src/xercesc/util/Compilers/TandemCCDefs.hpp   | 24 +++++++++++++----
 src/xercesc/util/Compilers/VCPPDefs.hpp       | 24 +++++++++++++----
 17 files changed, 303 insertions(+), 91 deletions(-)

diff --git a/src/xercesc/util/Compilers/BorlandCDefs.hpp b/src/xercesc/util/Compilers/BorlandCDefs.hpp
index 0bda9d103..7b3d2df6d 100644
--- a/src/xercesc/util/Compilers/BorlandCDefs.hpp
+++ b/src/xercesc/util/Compilers/BorlandCDefs.hpp
@@ -61,6 +61,12 @@
 #if !defined(BORLANDCDEFS_HPP)
 #define BORLANDCDEFS_HPP
 
+// ---------------------------------------------------------------------------
+//  Include some runtime files that will be needed product wide
+// ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
+
 
 // ---------------------------------------------------------------------------
 // The following values represent various compiler version levels stored in
@@ -127,14 +133,19 @@ typedef unsigned int    XMLUInt32;
 typedef int             XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
 
 
 //WLH-2000-08-18 -- Add more compiler quirk cross-defines
diff --git a/src/xercesc/util/Compilers/CSetDefs.hpp b/src/xercesc/util/Compilers/CSetDefs.hpp
index 1ec55f3b4..970d5e149 100644
--- a/src/xercesc/util/Compilers/CSetDefs.hpp
+++ b/src/xercesc/util/Compilers/CSetDefs.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.3  2002/05/27 18:02:40  tng
+ * define XMLSize_t, XMLSSize_t and their associate MAX
+ *
  * Revision 1.2  2002/05/21 19:45:53  tng
  * Define DOMSize_t and XMLSize_t
  *
@@ -103,6 +106,12 @@
 #if !defined(CSETDEFS_HPP)
 #define CSETDEFS_HPP
 
+// ---------------------------------------------------------------------------
+//  Include some runtime files that will be needed product wide
+// ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
+
 // ---------------------------------------------------------------------------
 // Define these away for this platform
 // ---------------------------------------------------------------------------
@@ -144,14 +153,20 @@ typedef unsigned int   XMLUInt32;
 typedef int             XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
+
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
diff --git a/src/xercesc/util/Compilers/CodeWarriorDefs.hpp b/src/xercesc/util/Compilers/CodeWarriorDefs.hpp
index 9b71e01bf..77a8710f2 100644
--- a/src/xercesc/util/Compilers/CodeWarriorDefs.hpp
+++ b/src/xercesc/util/Compilers/CodeWarriorDefs.hpp
@@ -61,6 +61,12 @@
 #if !defined(CODEWARRIORDEFS_HPP)
 #define CODEWARRIORDEFS_HPP
 
+// ---------------------------------------------------------------------------
+//  Include some runtime files that will be needed product wide
+// ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
+
 
 // ---------------------------------------------------------------------------
 //  A define in the build for each project is also used to control whether
@@ -107,14 +113,19 @@ typedef unsigned int    XMLUInt32;
 typedef int             XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
diff --git a/src/xercesc/util/Compilers/DECCXXDefs.hpp b/src/xercesc/util/Compilers/DECCXXDefs.hpp
index a3f6ed5e2..ea400a5f0 100644
--- a/src/xercesc/util/Compilers/DECCXXDefs.hpp
+++ b/src/xercesc/util/Compilers/DECCXXDefs.hpp
@@ -61,6 +61,12 @@
 #if !defined(DECCXXDEFS_HPP)
 #define	DECCXXDEFS_HPP
 
+// ---------------------------------------------------------------------------
+//  Include some runtime files that will be needed product wide
+// ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
+
 // ---------------------------------------------------------------------------
 // Define these away for this platform
 // ---------------------------------------------------------------------------
@@ -100,14 +106,19 @@ typedef unsigned int    XMLUInt32;
 typedef int             XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
diff --git a/src/xercesc/util/Compilers/GCCDefs.hpp b/src/xercesc/util/Compilers/GCCDefs.hpp
index d18769337..d87ab610c 100644
--- a/src/xercesc/util/Compilers/GCCDefs.hpp
+++ b/src/xercesc/util/Compilers/GCCDefs.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.3  2002/05/27 18:02:40  tng
+ * define XMLSize_t, XMLSSize_t and their associate MAX
+ *
  * Revision 1.2  2002/05/21 19:45:53  tng
  * Define DOMSize_t and XMLSize_t
  *
@@ -115,6 +118,8 @@
 // ---------------------------------------------------------------------------
 //  Include some runtime files that will be needed product wide
 // ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
 
 
 // ---------------------------------------------------------------------------
@@ -158,14 +163,19 @@ typedef unsigned int    XMLUInt32;
 typedef int             XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
diff --git a/src/xercesc/util/Compilers/HPCCDefs.hpp b/src/xercesc/util/Compilers/HPCCDefs.hpp
index eec4d4154..8122d64b0 100644
--- a/src/xercesc/util/Compilers/HPCCDefs.hpp
+++ b/src/xercesc/util/Compilers/HPCCDefs.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.3  2002/05/27 18:02:40  tng
+ * define XMLSize_t, XMLSSize_t and their associate MAX
+ *
  * Revision 1.2  2002/05/21 19:45:53  tng
  * Define DOMSize_t and XMLSize_t
  *
@@ -110,6 +113,12 @@
 #if !defined(HPCCDEFS_HPP)
 #define HPCCDEFS_HPP
 
+// ---------------------------------------------------------------------------
+//  Include some runtime files that will be needed product wide
+// ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
+
 
 // ---------------------------------------------------------------------------
 // Define these away for this platform
@@ -150,14 +159,20 @@ typedef unsigned int    XMLUInt32;
 typedef int             XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
+
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
diff --git a/src/xercesc/util/Compilers/IBMVAOS2Defs.hpp b/src/xercesc/util/Compilers/IBMVAOS2Defs.hpp
index 3171e845d..c04c6b306 100644
--- a/src/xercesc/util/Compilers/IBMVAOS2Defs.hpp
+++ b/src/xercesc/util/Compilers/IBMVAOS2Defs.hpp
@@ -64,10 +64,9 @@
 // ---------------------------------------------------------------------------
 //  Include some common headers that are needed product wide
 // ---------------------------------------------------------------------------
-#include <STRING.h>
-#include <FLOAT.h>
-#include <MEMORY.h>
-#include <BOOL.h>
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
+
 
 // ---------------------------------------------------------------------------
 //  A define in the build for each project is also used to control whether
@@ -119,14 +118,19 @@ typedef unsigned int   XMLUInt32;
 typedef int             XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
diff --git a/src/xercesc/util/Compilers/IBMVAW32Defs.hpp b/src/xercesc/util/Compilers/IBMVAW32Defs.hpp
index 95b22e7dc..481cc2cd6 100644
--- a/src/xercesc/util/Compilers/IBMVAW32Defs.hpp
+++ b/src/xercesc/util/Compilers/IBMVAW32Defs.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.3  2002/05/27 18:02:40  tng
+ * define XMLSize_t, XMLSSize_t and their associate MAX
+ *
  * Revision 1.2  2002/05/21 19:45:53  tng
  * Define DOMSize_t and XMLSize_t
  *
@@ -84,6 +87,11 @@
 #if !defined(IBMVAW32DEFS_HPP)
 #define IBMVAW32DEFS_HPP
 
+// ---------------------------------------------------------------------------
+//  Include some runtime files that will be needed product wide
+// ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
 
 // ---------------------------------------------------------------------------
 //  A define in the build for each project is also used to control whether
@@ -126,14 +134,19 @@ typedef unsigned int   XMLUInt32;
 typedef int            XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
diff --git a/src/xercesc/util/Compilers/MIPSproDefs.hpp b/src/xercesc/util/Compilers/MIPSproDefs.hpp
index fb7407fa2..12a3a01a8 100644
--- a/src/xercesc/util/Compilers/MIPSproDefs.hpp
+++ b/src/xercesc/util/Compilers/MIPSproDefs.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.3  2002/05/27 18:02:40  tng
+ * define XMLSize_t, XMLSSize_t and their associate MAX
+ *
  * Revision 1.2  2002/05/21 19:45:53  tng
  * Define DOMSize_t and XMLSize_t
  *
@@ -91,6 +94,12 @@
 #if !defined(MIPSPRODEFS_HPP)
 #define MIPSPRODEFS_HPP
 
+// ---------------------------------------------------------------------------
+//  Include some runtime files that will be needed product wide
+// ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
+
 
 // ---------------------------------------------------------------------------
 // Define these away for this platform
@@ -133,14 +142,19 @@ typedef unsigned int    XMLUInt32;
 typedef int             XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
diff --git a/src/xercesc/util/Compilers/MVSCPPDefs.hpp b/src/xercesc/util/Compilers/MVSCPPDefs.hpp
index f8ff524ae..1411ded5d 100644
--- a/src/xercesc/util/Compilers/MVSCPPDefs.hpp
+++ b/src/xercesc/util/Compilers/MVSCPPDefs.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.3  2002/05/27 18:02:40  tng
+ * define XMLSize_t, XMLSSize_t and their associate MAX
+ *
  * Revision 1.2  2002/05/21 19:45:53  tng
  * Define DOMSize_t and XMLSize_t
  *
@@ -109,6 +112,12 @@
 #if !defined(MVSCPPDEFS_HPP)
 #define MVSCPPDEFS_HPP
 
+// ---------------------------------------------------------------------------
+//  Include some runtime files that will be needed product wide
+// ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
+
 // ---------------------------------------------------------------------------
 // Define these away for this platform
 // ---------------------------------------------------------------------------
@@ -148,15 +157,20 @@ typedef unsigned int   XMLUInt32;
 typedef int            XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
-n
+
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
 // ---------------------------------------------------------------------------
diff --git a/src/xercesc/util/Compilers/OS400SetDefs.hpp b/src/xercesc/util/Compilers/OS400SetDefs.hpp
index 6d935710f..840f65406 100644
--- a/src/xercesc/util/Compilers/OS400SetDefs.hpp
+++ b/src/xercesc/util/Compilers/OS400SetDefs.hpp
@@ -62,6 +62,12 @@
 #ifndef OS400SETDEFS_H
 #define OS400SETDEFS_H
 
+// ---------------------------------------------------------------------------
+//  Include some runtime files that will be needed product wide
+// ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
+
 // ---------------------------------------------------------------------------
 // Define these away for this platform
 // ---------------------------------------------------------------------------
@@ -104,14 +110,19 @@ typedef unsigned int   XMLUInt32;
 typedef int            XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
diff --git a/src/xercesc/util/Compilers/PTXCCDefs.hpp b/src/xercesc/util/Compilers/PTXCCDefs.hpp
index ac5236d52..b9e961506 100644
--- a/src/xercesc/util/Compilers/PTXCCDefs.hpp
+++ b/src/xercesc/util/Compilers/PTXCCDefs.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.3  2002/05/27 18:02:40  tng
+ * define XMLSize_t, XMLSSize_t and their associate MAX
+ *
  * Revision 1.2  2002/05/21 19:45:53  tng
  * Define DOMSize_t and XMLSize_t
  *
@@ -74,6 +77,12 @@
 #if !defined(PTXCCDEFS_HPP)
 #define PTXCCDEFS_HPP
 
+// ---------------------------------------------------------------------------
+//  Include some runtime files that will be needed product wide
+// ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
+
 // ---------------------------------------------------------------------------
 // Define these away for this platform
 // ---------------------------------------------------------------------------
@@ -113,14 +122,20 @@ typedef unsigned int    XMLUInt32;
 typedef int             XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
+
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
diff --git a/src/xercesc/util/Compilers/SCOCCDefs.hpp b/src/xercesc/util/Compilers/SCOCCDefs.hpp
index a857bd035..fd6d4bbf1 100644
--- a/src/xercesc/util/Compilers/SCOCCDefs.hpp
+++ b/src/xercesc/util/Compilers/SCOCCDefs.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.3  2002/05/27 18:02:40  tng
+ * define XMLSize_t, XMLSSize_t and their associate MAX
+ *
  * Revision 1.2  2002/05/21 19:45:53  tng
  * Define DOMSize_t and XMLSize_t
  *
@@ -80,6 +83,12 @@
 #if !defined(SCOCCDEFS_HPP)
 #define SCOCCDEFS_HPP
 
+// ---------------------------------------------------------------------------
+//  Include some runtime files that will be needed product wide
+// ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
+
 
 // ---------------------------------------------------------------------------
 // Define these away for this platform
@@ -120,14 +129,20 @@ typedef unsigned int    XMLUInt32;
 typedef int             XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
+
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
diff --git a/src/xercesc/util/Compilers/SunCCDefs.hpp b/src/xercesc/util/Compilers/SunCCDefs.hpp
index 0cc7dabc1..35b7fdf02 100644
--- a/src/xercesc/util/Compilers/SunCCDefs.hpp
+++ b/src/xercesc/util/Compilers/SunCCDefs.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.3  2002/05/27 18:02:40  tng
+ * define XMLSize_t, XMLSSize_t and their associate MAX
+ *
  * Revision 1.2  2002/05/21 19:45:53  tng
  * Define DOMSize_t and XMLSize_t
  *
@@ -111,6 +114,12 @@
 #if !defined(SUNCCDEFS_HPP)
 #define SUNCCDEFS_HPP
 
+// ---------------------------------------------------------------------------
+//  Include some runtime files that will be needed product wide
+// ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
+
 // ---------------------------------------------------------------------------
 // Define these away for this platform
 // ---------------------------------------------------------------------------
@@ -154,14 +163,20 @@ typedef unsigned int    XMLUInt32;
 typedef int             XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
+
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
diff --git a/src/xercesc/util/Compilers/SunKaiDefs.hpp b/src/xercesc/util/Compilers/SunKaiDefs.hpp
index badca2e61..d932e9eb4 100644
--- a/src/xercesc/util/Compilers/SunKaiDefs.hpp
+++ b/src/xercesc/util/Compilers/SunKaiDefs.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.3  2002/05/27 18:02:40  tng
+ * define XMLSize_t, XMLSSize_t and their associate MAX
+ *
  * Revision 1.2  2002/05/21 19:45:53  tng
  * Define DOMSize_t and XMLSize_t
  *
@@ -90,7 +93,8 @@
 // ---------------------------------------------------------------------------
 #include <memory.h>
 #include <strings.h>
-
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
 
 
 // ---------------------------------------------------------------------------
@@ -136,14 +140,20 @@ typedef unsigned int    XMLUInt32;
 typedef int             XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
+
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
diff --git a/src/xercesc/util/Compilers/TandemCCDefs.hpp b/src/xercesc/util/Compilers/TandemCCDefs.hpp
index 15ad3fc4c..6af1fe64e 100644
--- a/src/xercesc/util/Compilers/TandemCCDefs.hpp
+++ b/src/xercesc/util/Compilers/TandemCCDefs.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.3  2002/05/27 18:02:40  tng
+ * define XMLSize_t, XMLSSize_t and their associate MAX
+ *
  * Revision 1.2  2002/05/21 19:45:53  tng
  * Define DOMSize_t and XMLSize_t
  *
@@ -87,6 +90,12 @@
 #if !defined(TANDEMCCDEFS_HPP)
 #define TANDEMCCDEFS_HPP
 
+// ---------------------------------------------------------------------------
+//  Include some runtime files that will be needed product wide
+// ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
+
 // ---------------------------------------------------------------------------
 // Define these away for this platform
 // ---------------------------------------------------------------------------
@@ -126,14 +135,19 @@ typedef unsigned int    XMLUInt32;
 typedef int             XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
diff --git a/src/xercesc/util/Compilers/VCPPDefs.hpp b/src/xercesc/util/Compilers/VCPPDefs.hpp
index 1945b6e35..83eb7eccf 100644
--- a/src/xercesc/util/Compilers/VCPPDefs.hpp
+++ b/src/xercesc/util/Compilers/VCPPDefs.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.4  2002/05/27 18:02:40  tng
+ * define XMLSize_t, XMLSSize_t and their associate MAX
+ *
  * Revision 1.3  2002/05/21 19:45:53  tng
  * Define DOMSize_t and XMLSize_t
  *
@@ -119,6 +122,12 @@
 #if !defined(VCPPDEFS_HPP)
 #define VCPPDEFS_HPP
 
+// ---------------------------------------------------------------------------
+//  Include some runtime files that will be needed product wide
+// ---------------------------------------------------------------------------
+#include <sys/types.h>  // for size_t and ssize_t
+#include <limits.h>  // for MAX of size_t and ssize_t
+
 
 // ---------------------------------------------------------------------------
 //  A define in the build for each project is also used to control whether
@@ -166,14 +175,19 @@ typedef unsigned int    XMLUInt32;
 typedef int             XMLInt32;
 
 // ---------------------------------------------------------------------------
-//  XMLSize_t and DOMSize_t are the unsigned integral type.
+//  XMLSize_t is the unsigned integral type.
 // ---------------------------------------------------------------------------
-#ifdef _SIZE_T
-typedef size_t              XMLSize_t;
+#if defined(_SIZE_T) && defined(SIZE_MAX) && defined(_SSIZE_T) && defined(SSIZE_MAX)
+    typedef size_t              XMLSize_t
+    #define XML_SIZE_MAX        SIZE_MAX
+    typedef ssize_t             XMLSSize_t
+    #define XML_SSIZE_MAX       SSIZE_MAX
 #else
-typedef unsigned long       XMLSize_t;
+    typedef unsigned long       XMLSize_t;
+    #define XML_SIZE_MAX        ULONG_MAX
+    typedef long                XMLSSize_t;
+    #define XML_SSIZE_MAX       LONG_MAX
 #endif
-typedef XMLSize_t           DOMSize_t;
 
 // ---------------------------------------------------------------------------
 //  Force on the Xerces debug token if it was on in the build environment
-- 
GitLab