dbertoni    2004/10/12 12:20:16

  Modified:    c/src/xalanc/XSLT StylesheetRoot.cpp
  Log:
  Don't use objects to automatically manage the variables stack when doing 
iterative execution, as they interact badly with exceptions.
  
  Revision  Changes    Path
  1.21      +12 -0     xml-xalan/c/src/xalanc/XSLT/StylesheetRoot.cpp
  
  Index: StylesheetRoot.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/xalanc/XSLT/StylesheetRoot.cpp,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- StylesheetRoot.cpp        31 Aug 2004 14:20:27 -0000      1.20
  +++ StylesheetRoot.cpp        12 Oct 2004 19:20:16 -0000      1.21
  @@ -208,6 +208,7 @@
                executionContext.pushTime(&sourceTree);
        }
   
  +#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
        typedef StylesheetExecutionContext::PushAndPopContextMarker     
PushAndPopContextMarker;
        typedef StylesheetExecutionContext::PushAndPopElementFrame      
PushAndPopElementFrame;
        typedef StylesheetExecutionContext::ResolveAndClearTopLevelParams       
ResolveAndClearTopLevelParams;
  @@ -219,6 +220,11 @@
                                0);
   
        ResolveAndClearTopLevelParams   
theResolveAndClearTopLevelParams(executionContext);
  +#else
  +     executionContext.pushContextMarker();
  +     executionContext.pushElementFrame(0);
  +     executionContext.resolveTopLevelParams();
  +#endif
   
   #if defined(XALAN_VQ_SPECIAL_TRACE)
        QuantifyStartRecordingData();
  @@ -250,6 +256,12 @@
                
executionContext.displayDuration(XalanMessageLoader::getMessage(XalanMessages::Transform),
 &sourceTree);
                
executionContext.diag(StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("")));
        }
  +
  +#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
  +     executionContext.clearTopLevelParams();
  +     executionContext.popElementFrame();
  +     executionContext.popContextMarker();
  +#endif
   }
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to