You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mm...@apache.org on 2002/02/01 22:10:26 UTC

cvs commit: xml-xalan/java/src/org/apache/xpath VariableStack.java XPathContext.java

mmidy       02/02/01 13:10:26

  Modified:    java/src/org/apache/xalan/transformer TransformerImpl.java
               java/src/org/apache/xpath VariableStack.java
                        XPathContext.java
  Log:
  Bug 6156: Change variable stack reset to just get a new object. Also make sure that the stack of result tree fragments is also cleaned ot during a reset.
  
  Revision  Changes    Path
  1.123     +2 -2      xml-xalan/java/src/org/apache/xalan/transformer/TransformerImpl.java
  
  Index: TransformerImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/TransformerImpl.java,v
  retrieving revision 1.122
  retrieving revision 1.123
  diff -u -r1.122 -r1.123
  --- TransformerImpl.java	31 Jan 2002 16:08:23 -0000	1.122
  +++ TransformerImpl.java	1 Feb 2002 21:10:25 -0000	1.123
  @@ -461,9 +461,9 @@
         m_stackGuard = new StackGuard();
   
         m_xcontext.reset();
  -      m_xcontext.getVarStack().clearLocalSlots(0, m_xcontext.getVarStack().size());
  -      resetUserParameters();
  +      
         m_xcontext.getVarStack().reset();
  +      resetUserParameters();
         
   
         int n = m_currentTemplateElements.length;
  
  
  
  1.38      +1 -0      xml-xalan/java/src/org/apache/xpath/VariableStack.java
  
  Index: VariableStack.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/VariableStack.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- VariableStack.java	18 Oct 2001 21:24:44 -0000	1.37
  +++ VariableStack.java	1 Feb 2002 21:10:25 -0000	1.38
  @@ -171,6 +171,7 @@
       // to look one under without having to check if we're at zero.
       // (As long as the caller doesn't screw up link/unlink.)
       _links[_linksTop++] = 0;
  +    _sf = new XObject[_sf.length]; 
     }
   
     /**
  
  
  
  1.33      +4 -2      xml-xalan/java/src/org/apache/xpath/XPathContext.java
  
  Index: XPathContext.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/XPathContext.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- XPathContext.java	23 Jan 2002 22:53:47 -0000	1.32
  +++ XPathContext.java	1 Feb 2002 21:10:25 -0000	1.33
  @@ -369,6 +369,8 @@
     	if(m_rtfdtm_stack!=null)
     		 for (java.util.Enumeration e = m_rtfdtm_stack.elements() ; e.hasMoreElements() ;) 
     		 	m_dtmManager.release((DTM)e.nextElement(), true);
  +    m_rtfdtm_stack=null; // drop our references too
  +    m_which_rtfdtm=-1;
     	
       m_dtmManager = DTMManager.newInstance(
                      org.apache.xpath.objects.XMLStringFactoryImpl.getFactory());
  @@ -1210,7 +1212,7 @@
   	{
   		m_rtfdtm_stack=new Vector();
     		rtfdtm=(SAX2RTFDTM)m_dtmManager.getDTM(null,true,null,false,false);
  -		m_rtfdtm_stack.add(rtfdtm);
  +		m_rtfdtm_stack.addElement(rtfdtm);
   		++m_which_rtfdtm;
   	}
   	else
  @@ -1229,7 +1231,7 @@
   	  		else
   	  		{
   		  		rtfdtm=(SAX2RTFDTM)m_dtmManager.getDTM(null,true,null,false,false);
  -				m_rtfdtm_stack.add(rtfdtm); 		
  +				m_rtfdtm_stack.addElement(rtfdtm); 		
   	  		}
    	 	}
   	}
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org