From cb47e7fe89634f81de6dce49f8f2dfb8bf976fea Mon Sep 17 00:00:00 2001
From: Alberto Massari <amassari@apache.org>
Date: Tue, 16 Dec 2003 17:53:56 +0000
Subject: [PATCH] The DOMTypeInfo should have a NULL namespace and type name
 when DTD validation is used, not empty strings

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@175573 13f79535-47bb-0310-9956-ffa450edef68
---
 src/xercesc/dom/impl/DOMTypeInfoImpl.cpp | 4 ++--
 src/xercesc/internal/DGXMLScanner.cpp    | 4 ++--
 src/xercesc/internal/IGXMLScanner.cpp    | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/xercesc/dom/impl/DOMTypeInfoImpl.cpp b/src/xercesc/dom/impl/DOMTypeInfoImpl.cpp
index f687568ee..d67162b31 100644
--- a/src/xercesc/dom/impl/DOMTypeInfoImpl.cpp
+++ b/src/xercesc/dom/impl/DOMTypeInfoImpl.cpp
@@ -61,8 +61,8 @@
 XERCES_CPP_NAMESPACE_BEGIN
 
 DOMTypeInfoImpl::DOMTypeInfoImpl(const XMLCh* n, const XMLCh* nURI, DOMDocumentImpl *impl) {
-    name = impl->getPooledString(n);
-    namespaceURI = impl->getPooledString(nURI);
+    name = n?impl->getPooledString(n):n;
+    namespaceURI = nURI?impl->getPooledString(nURI):nURI;
 }
 
 DOMTypeInfoImpl::DOMTypeInfoImpl() : name(0), namespaceURI(0) {}
diff --git a/src/xercesc/internal/DGXMLScanner.cpp b/src/xercesc/internal/DGXMLScanner.cpp
index 19bc879fd..dd50c5db6 100644
--- a/src/xercesc/internal/DGXMLScanner.cpp
+++ b/src/xercesc/internal/DGXMLScanner.cpp
@@ -759,7 +759,7 @@ void DGXMLScanner::scanEndTag(bool& gotData)
                 : XMLUni::fgZeroLenString
         );
         // pass back type name information
-        fDocHandler->elementTypeInfo(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString); 
+        fDocHandler->elementTypeInfo(0, 0); 
     }
 
     // If this was the root, then done with content
@@ -1594,7 +1594,7 @@ bool DGXMLScanner::scanStartTag(bool& gotData)
                                   : XMLUni::fgZeroLenString
             );
             // pass back type name information
-            fDocHandler->elementTypeInfo(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString); 
+            fDocHandler->elementTypeInfo(0, 0); 
         }
 
         // Pop the element stack back off since it'll never be used now
diff --git a/src/xercesc/internal/IGXMLScanner.cpp b/src/xercesc/internal/IGXMLScanner.cpp
index 145076556..480b37591 100644
--- a/src/xercesc/internal/IGXMLScanner.cpp
+++ b/src/xercesc/internal/IGXMLScanner.cpp
@@ -1254,7 +1254,7 @@ void IGXMLScanner::scanEndTag(bool& gotData)
         }
         else 
         {
-            fDocHandler->elementTypeInfo(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString); 
+            fDocHandler->elementTypeInfo(0, 0); 
         }
     }
 
@@ -3033,7 +3033,7 @@ bool IGXMLScanner::scanStartTagNS(bool& gotData)
             }
             else 
             {
-                fDocHandler->elementTypeInfo(XMLUni::fgZeroLenString, XMLUni::fgZeroLenString); 
+                fDocHandler->elementTypeInfo(0, 0); 
             }
         }
 
-- 
GitLab