You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by kn...@apache.org on 2004/01/06 20:07:16 UTC

cvs commit: xml-xerces/c/src/xercesc/framework/psvi XSModel.cpp

knoaman     2004/01/06 11:07:16

  Modified:    c/src/xercesc/framework/psvi XSModel.cpp
  Log:
  Fix segfault when adding S4S
  
  Revision  Changes    Path
  1.18      +12 -4     xml-xerces/c/src/xercesc/framework/psvi/XSModel.cpp
  
  Index: XSModel.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/framework/psvi/XSModel.cpp,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- XSModel.cpp	30 Dec 2003 21:35:46 -0000	1.17
  +++ XSModel.cpp	6 Jan 2004 19:07:16 -0000	1.18
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.18  2004/01/06 19:07:16  knoaman
  + * Fix segfault when adding S4S
  + *
    * Revision 1.17  2003/12/30 21:35:46  neilg
    * even if there are no grammars to add to an XSModel, the S4S grammar must be included
    *
  @@ -233,11 +236,13 @@
           (void*) SchemaSymbols::fgURI_SCHEMAFORSCHEMA
           , namespaceItem
       );
  -    fDeleteNamespace->addElement(namespaceItem);
  +
  +    DatatypeValidatorFactory dvFactory(manager);
  +    dvFactory.expandRegistryToFullSchemaSet();
       addS4SToXSModel
       (
           getNamespaceItem(SchemaSymbols::fgURI_SCHEMAFORSCHEMA)
  -        , namespaceItem->fGrammar->getDatatypeRegistry()->getBuiltInRegistry()
  +        , dvFactory.getBuiltInRegistry()
       );
   
       unsigned int numberOfNamespaces = fXSNamespaceItemList->size();
  @@ -388,6 +393,9 @@
       // Add S4S namespace if needed
       if (!fAddedS4SGrammar)
       {
  +        DatatypeValidatorFactory dvFactory(manager);
  +        dvFactory.expandRegistryToFullSchemaSet();
  +
           XSNamespaceItem* namespaceItem = new (manager) XSNamespaceItem
           (
               this, SchemaSymbols::fgURI_SCHEMAFORSCHEMA, manager
  @@ -406,7 +414,7 @@
           addS4SToXSModel
           (
               getNamespaceItem(SchemaSymbols::fgURI_SCHEMAFORSCHEMA)
  -            , namespaceItem->fGrammar->getDatatypeRegistry()->getBuiltInRegistry()
  +            , dvFactory.getBuiltInRegistry()
           );
       }
   
  
  
  

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