From a43ee6987ed64b08fb92b3ed138ed9f4d15bd840 Mon Sep 17 00:00:00 2001
From: Tinny Ng <tng@apache.org>
Date: Tue, 16 Jul 2002 16:08:27 +0000
Subject: [PATCH] DOM fix: internal subset is incorrectly overwritten instead
 of being appended

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@174018 13f79535-47bb-0310-9956-ffa450edef68
---
 src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp b/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp
index b7919f215..60a0535fa 100644
--- a/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp
+++ b/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp
@@ -314,7 +314,11 @@ const XMLCh * DOMDocumentTypeImpl::getSystemId() const
 
 const XMLCh * DOMDocumentTypeImpl::getInternalSubset() const
 {
-    return internalSubset.getRawBuffer();
+    const XMLCh* subset = internalSubset.getRawBuffer();
+    if (!XMLString::stringLen(subset))
+        return 0;
+    else
+        return subset;
 }
 
 bool DOMDocumentTypeImpl::isIntSubsetReading() const
-- 
GitLab