An additional bug only occuring only under UNIX
This commit is contained in:
Andreas Bille
2001-08-24 12:59:14 +00:00
parent 8219427958
commit 2dc94e3694
2 changed files with 67 additions and 59 deletions

View File

@@ -2,9 +2,9 @@
*
* $RCSfile: content.cxx,v $
*
* $Revision: 1.11 $
* $Revision: 1.12 $
*
* last change: $Author: abi $ $Date: 2001-08-21 13:26:25 $
* last change: $Author: abi $ $Date: 2001-08-24 13:59:14 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -544,6 +544,7 @@ Reference< XRow > Content::getPropertyValues( const Sequence< Property >& rPrope
m_aURLParameter.get_language() );
Any aAny;
if( inf )
aAny <<= inf->getKeywordList();
xRow->appendObject( rProp,aAny );
}
@@ -553,6 +554,7 @@ Reference< XRow > Content::getPropertyValues( const Sequence< Property >& rPrope
m_aURLParameter.get_language() );
Any aAny;
if( inf )
aAny <<= inf->getIdList();
xRow->appendObject( rProp,aAny );
}
@@ -562,6 +564,7 @@ Reference< XRow > Content::getPropertyValues( const Sequence< Property >& rPrope
m_aURLParameter.get_language() );
Any aAny;
if( inf )
aAny <<= inf->getAnchorList();
xRow->appendObject( rProp,aAny );
}
@@ -571,6 +574,7 @@ Reference< XRow > Content::getPropertyValues( const Sequence< Property >& rPrope
m_aURLParameter.get_language() );
Any aAny;
if( inf )
aAny <<= inf->getTitleList();
xRow->appendObject( rProp,aAny );
}

View File

@@ -2,9 +2,9 @@
*
* $RCSfile: databases.cxx,v $
*
* $Revision: 1.17 $
* $Revision: 1.18 $
*
* last change: $Author: abi $ $Date: 2001-08-23 11:39:42 $
* last change: $Author: abi $ $Date: 2001-08-24 13:59:14 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -117,6 +117,7 @@ Databases::~Databases()
DatabasesTable::iterator it = m_aDatabases.begin();
while( it != m_aDatabases.end() )
{
if( it->second )
it->second->close( 0 );
delete it->second;
++it;
@@ -539,10 +540,12 @@ KeywordInfo* Databases::getKeyword( const rtl::OUString& Database,
rtl::OUString key = lang(Language) + rtl::OUString::createFromAscii( "/" ) + Database;
KeywordInfoTable::iterator it =
m_aKeywordInfo.insert( KeywordInfoTable::value_type( key,0 ) ).first;
std::pair< KeywordInfoTable::iterator,bool > aPair =
m_aKeywordInfo.insert( KeywordInfoTable::value_type( key,0 ) );
if( ! it->second )
KeywordInfoTable::iterator it = aPair.first;
if( aPair.second && ! it->second )
{
std::vector< rtl::OUString > listKey_;
std::hash_map< rtl::OUString,rtl::OUString,ha,eq > internalHash;
@@ -554,9 +557,9 @@ KeywordInfo* Databases::getKeyword( const rtl::OUString& Database,
rtl::OString fileName( fileNameOU.getStr(),fileNameOU.getLength(),RTL_TEXTENCODING_UTF8 );
Db table(0,0);
table.open( fileName.getStr(),0,DB_BTREE,DB_RDONLY,0644 );
Db table( 0,DB_CXX_NO_EXCEPTIONS );
if( 0 == table.open( fileName.getStr(),0,DB_BTREE,DB_RDONLY,0644 ) )
{ // success opening the database
Dbc* cursor = 0;
table.cursor( 0,&cursor,0 );
Dbt key,data;
@@ -614,6 +617,7 @@ KeywordInfo* Databases::getKeyword( const rtl::OUString& Database,
}
}
}
}
return it->second;
}