X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fcpp-xmltooling.git;a=blobdiff_plain;f=xmltooling%2FXMLToolingConfig.cpp;h=a7cbc426c43d00e2c5e3cd6ad22129ec1fa3a8cc;hp=e248f6aed0324b1522c556dd996acd1cd0d50ff0;hb=dad9f0679e2a714ce7beddbff03acd801e52c831;hpb=1049ef61d090ab36da396b27bb98530aafc9df01 diff --git a/xmltooling/XMLToolingConfig.cpp b/xmltooling/XMLToolingConfig.cpp index e248f6a..a7cbc42 100644 --- a/xmltooling/XMLToolingConfig.cpp +++ b/xmltooling/XMLToolingConfig.cpp @@ -161,6 +161,22 @@ bool XMLToolingInternalConfig::init() m_parserPool=new ParserPool(); m_validatingPool=new ParserPool(true,true); m_lock=xercesc::XMLPlatformUtils::makeMutex(); + + // Load catalogs from path. + if (!catalog_path.empty()) { + char* catpath=strdup(catalog_path.c_str()); + char* sep=NULL; + char* start=catpath; + while (start && *start) { + sep=strchr(start,PATH_SEPARATOR_CHAR); + if (sep) + *sep=0; + auto_ptr_XMLCh temp(start); + m_validatingPool->loadCatalog(temp.get()); + start = sep ? sep + 1 : NULL; + } + free(catpath); + } // default registrations XMLObjectBuilder::registerDefaultBuilder(new UnknownElementBuilder());