sboag       00/12/21 07:12:22

  Modified:    java/src/org/apache/xpath VariableStack.java
  Log:
  Try not to check for arg.isParamVar() is global var.
  
  Revision  Changes    Path
  1.20      +13 -10    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.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- VariableStack.java        2000/12/21 15:01:26     1.19
  +++ VariableStack.java        2000/12/21 15:12:21     1.20
  @@ -416,24 +416,27 @@
     {
   
       Stack frame = getCurrentFrame();
  +    Stack gframe = (Stack)this.elementAt(0);
       
  -    for (int i = (frame.size() - 1); i >= 0; i--)
  +    if(frame != gframe)
       {
  -      Arg arg = (Arg)frame.elementAt(i);
  -
  -      if (arg.getQName().equals(name) && !arg.isParamVar())
  +      for (int i = (frame.size() - 1); i >= 0; i--)
         {
  -        XObject val = arg.getVal();
  -        if(val.getType() == XObject.CLASS_UNRESOLVEDVARIABLE)
  +        Arg arg = (Arg)frame.elementAt(i);
  +  
  +        if (arg.getQName().equals(name) && !arg.isParamVar())
           {
  -          val = val.execute(xctxt);
  -          arg.setVal(val);
  +          XObject val = arg.getVal();
  +          if(val.getType() == XObject.CLASS_UNRESOLVEDVARIABLE)
  +          {
  +            val = val.execute(xctxt);
  +            arg.setVal(val);
  +          }
  +          return val;
           }
  -        return val;
         }
       }
       
  -    Stack gframe = (Stack)this.elementAt(0);
       if(gframe == frame)
         return null;
       
  
  
  

Reply via email to