jdonohue    00/04/13 11:15:33

  Modified:    c/src/XSLT XSLTEngineImpl.cpp
  Log:
  Fixed misalignment of try block
  
  Revision  Changes    Path
  1.25      +12 -15    xml-xalan/c/src/XSLT/XSLTEngineImpl.cpp
  
  Index: XSLTEngineImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XSLT/XSLTEngineImpl.cpp,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- XSLTEngineImpl.cpp        2000/04/13 16:12:00     1.24
  +++ XSLTEngineImpl.cpp        2000/04/13 18:15:33     1.25
  @@ -4118,17 +4118,16 @@
   
        try
        {
  -             try
  +             // If we do a pop, the current stack index may point to the last
  +             // element, in which case it will be changed when the push 
happens, so
  +             // we need to preserve the current index
  +             const ElemTemplateElement*      child =
  +                     xslCallTemplateElement.getFirstChildElem();
  +             if (0 != child)
                {
  -                     // If we do a pop, the current stack index may point to 
the last
  -                     // element, in which case it will be changed when the 
push happens, so
  -                     // we need to preserve the current index
  -                     const ElemTemplateElement*      child =
  -                             xslCallTemplateElement.getFirstChildElem();
  -                     if (0 != child)
  +                     try
                        {
                                pop();
  -
                                while(0 != child)
                                {
                                        if(Constants::ELEMNAME_WITHPARAM == 
child->getXSLToken())
  @@ -4175,15 +4174,13 @@
                                        child = child->getNextSiblingElem();
                                }
                        }
  -             }
  -             catch(...)
  -             {
  +                     catch(...)
  +                     {
  +                             push(cm);
  +                             throw;
  +                     }
                        push(cm);
  -
  -                     throw;
                }
  -
  -             push(cm);
   
                try
                {
  
  
  

Reply via email to