svn commit: r1165488 - in /xalan/c/trunk/src/xalanc/XSLT: KeyTable.cpp KeyTable.hpp

[email protected] Tue, 06 Sep 2011 03:02:29 -0000
Newsgroups gmane.text.xml.xalan.cvs
Message-ID <[email protected]>
Author: shathaway
Date: Tue Sep  6 03:02:28 2011
New Revision: 1165488

URL: http://svn.apache.org/viewvc?rev=1165488&view=rev
Log:
JIRA [XALANC-701] Update: Fix on bad XALAN-675 patch -- XSLT/KeyTable issue

Modified:
    xalan/c/trunk/src/xalanc/XSLT/KeyTable.cpp
    xalan/c/trunk/src/xalanc/XSLT/KeyTable.hpp

Modified: xalan/c/trunk/src/xalanc/XSLT/KeyTable.cpp
URL: http://svn.apache.org/viewvc/xalan/c/trunk/src/xalanc/XSLT/KeyTable.cpp?rev=1165488&r1=1165487&r2=1165488&view=diff
==============================================================================
--- xalan/c/trunk/src/xalanc/XSLT/KeyTable.cpp (original)
+++ xalan/c/trunk/src/xalanc/XSLT/KeyTable.cpp Tue Sep  6 03:02:28 2011
@@ -66,6 +66,8 @@ KeyTable::KeyTable(
 {
     XalanNode*  pos = startNode;
 
+	m_allKeys=keyDeclarations;
+
     const KeyDeclarationVectorType::size_type   nDeclarations =
             keyDeclarations.size();
 
@@ -253,6 +255,17 @@ KeyTable::getNodeSetByKey(
             return &s_dummyList;
         }
     }
+    else
+    {
+        size_type nDeclarations=m_allKeys.size();
+        for (KeyDeclarationVectorType::size_type i = 0; i < nDeclarations; ++i)
+        {
+            if (*m_allKeys[i].getQName()==qname)
+            {
+                return &s_dummyList;
+            }
+        }
+    }
 
     return 0;
 }

Modified: xalan/c/trunk/src/xalanc/XSLT/KeyTable.hpp
URL: http://svn.apache.org/viewvc/xalan/c/trunk/src/xalanc/XSLT/KeyTable.hpp?rev=1165488&r1=1165487&r2=1165488&view=diff
==============================================================================
--- xalan/c/trunk/src/xalanc/XSLT/KeyTable.hpp (original)
+++ xalan/c/trunk/src/xalanc/XSLT/KeyTable.hpp Tue Sep  6 03:02:28 2011
@@ -152,6 +152,8 @@ private:
     KeysMapType                         m_keys;
 
     static const MutableNodeRefList     s_dummyList;
+
+    KeyDeclarationVectorType m_allKeys;
 };