cargilld    2004/10/19 04:09:11

  Modified:    c/src/xercesc/framework/psvi XSComplexTypeDefinition.cpp
                        XSSimpleTypeDefinition.cpp
  Log:
  More fixes to derviedFromType.
  
  Revision  Changes    Path
  1.15      +12 -1     
xml-xerces/c/src/xercesc/framework/psvi/XSComplexTypeDefinition.cpp
  
  Index: XSComplexTypeDefinition.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSComplexTypeDefinition.cpp,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- XSComplexTypeDefinition.cpp       15 Oct 2004 11:15:44 -0000      1.14
  +++ XSComplexTypeDefinition.cpp       19 Oct 2004 11:09:11 -0000      1.15
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.15  2004/10/19 11:09:11  cargilld
  + * More fixes to derviedFromType.
  + *
    * Revision 1.14  2004/10/15 11:15:44  cargilld
    * Fix for jira bug 1234.  Infinite loop in 
XSComplexTypeDefinition::derviedFromType.
    *
  @@ -227,7 +230,15 @@
       if (!ancestorType)
           return false;
   
  -    XSTypeDefinition* type = this;
  +    XSTypeDefinition* type = (XSTypeDefinition*) ancestorType;
  +
  +    if (ancestorType == type->getBaseType())
  +    {
  +        // ancestor is anytype
  +        return true;
  +    }
  +
  +    type = this;
       XSTypeDefinition* lastType = 0;  // anytype has a basetype of anytype so will 
have infinite loop...
   
       while (type && (type != ancestorType) && (type != lastType))
  
  
  
  1.11      +14 -1     
xml-xerces/c/src/xercesc/framework/psvi/XSSimpleTypeDefinition.cpp
  
  Index: XSSimpleTypeDefinition.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSSimpleTypeDefinition.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XSSimpleTypeDefinition.cpp        15 Oct 2004 21:32:54 -0000      1.10
  +++ XSSimpleTypeDefinition.cpp        19 Oct 2004 11:09:11 -0000      1.11
  @@ -16,6 +16,9 @@
   
   /*
    * $Log$
  + * Revision 1.11  2004/10/19 11:09:11  cargilld
  + * More fixes to derviedFromType.
  + *
    * Revision 1.10  2004/10/15 21:32:54  cargilld
    * Fix similar problem to that in jira bug 1234.  Infinite loop in 
XSSimpleTypeDefinition::derviedFromType.
    *
  @@ -231,10 +234,20 @@
       if (!ancestorType)
           return false;
   
  +    XSTypeDefinition* type;   
  +
       if (ancestorType->getTypeCategory() == XSTypeDefinition::COMPLEX_TYPE)
  +    {
  +        type = (XSTypeDefinition*) ancestorType;
  +        if (ancestorType == type->getBaseType())
  +        {
  +            // ancestor is anytype
  +            return true;
  +        }
           return false;
  +    }
   
  -    XSTypeDefinition* type = this;
  +    type = this;
       XSTypeDefinition* lastType = 0;  // anysimple type has a base type of anytype
                                        // anytype has a basetype of anytype so will 
have infinite loop...
   
  
  
  

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

Reply via email to