[MOAB-dev] r3509 - MOAB/trunk
Tim Tautges
tautges at mcs.anl.gov
Fri Jan 29 10:35:57 CST 2010
Thanks.
- tim
kraftche at cae.wisc.edu wrote:
> Author: kraftche
> Date: 2010-01-29 10:23:40 -0600 (Fri, 29 Jan 2010)
> New Revision: 3509
>
> Modified:
> MOAB/trunk/MBReaderWriterSet.cpp
> Log:
> Fix some bugs in MBReaderWriterSet
>
> o One registration of CCMIO reader and writer, rather than separate
> registration of each.
>
> o Report an error if there are two registrations with the same
> string name.
>
> o Fix case-insensitive comparison of file name extensions.
>
>
>
> Modified: MOAB/trunk/MBReaderWriterSet.cpp
> ===================================================================
> --- MOAB/trunk/MBReaderWriterSet.cpp 2010-01-29 05:24:00 UTC (rev 3508)
> +++ MOAB/trunk/MBReaderWriterSet.cpp 2010-01-29 16:23:40 UTC (rev 3509)
> @@ -117,8 +117,7 @@
>
> #ifdef CCMIO_FILE
> const char* ccmio_sufxs[] = { "ccm", "ccmg", NULL };
> - register_factory( NULL, WriteCCMIO::factory, "CCMIO files", ccmio_sufxs, "CCMIO");
> - register_factory( ReadCCMIO::factory, NULL, "CCMIO files", ccmio_sufxs, "CCMIO");
> + register_factory( ReadCCMIO::factory, WriteCCMIO::factory, "CCMIO files", ccmio_sufxs, "CCMIO");
> #endif
>
> register_factory( NULL, WriteGMV::factory, "GMV", "gmv", "GMV" );
> @@ -147,12 +146,20 @@
> {
> if (!reader && !writer)
> return MB_FAILURE;
> +
> + // check for duplicate names
> + iterator h = handler_by_name( name );
> + if (h != end()) {
> + mbError->set_last_error( "Conflicting string name for file formats: \"%s\"",
> + name );
> + return MB_FAILURE;
> + }
>
> // count extensions and check for duplicates
> const char* const* iter;
> for (iter = extensions; *iter; ++iter)
> {
> - iterator h = handler_from_extension( *iter );
> + h = handler_from_extension( *iter );
> if (h != end())
> {
> if (NULL != reader && h->have_reader())
> @@ -245,8 +252,8 @@
> // try case-insensitive compare
> for (iter = begin(); iter != end(); ++iter)
> {
> - if ((with_reader && iter->have_reader()) ||
> - (with_writer && iter->have_writer()))
> + if ((with_reader && !iter->have_reader()) ||
> + (with_writer && !iter->have_writer()))
> continue;
>
> for (siter = iter->mExtensions.begin(); siter != iter->mExtensions.end(); ++siter)
>
>
--
================================================================
"You will keep in perfect peace him whose mind is
steadfast, because he trusts in you." Isaiah 26:3
Tim Tautges Argonne National Laboratory
(tautges at mcs.anl.gov) (telecommuting from UW-Madison)
phone: (608) 263-8485 1500 Engineering Dr.
fax: (608) 263-4499 Madison, WI 53706
More information about the moab-dev
mailing list