turn on mork parsing, add nsNewsDatabase to makefile

git-svn-id: svn://10.0.0.236/trunk@24918 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bienvenu%netscape.com 1999-03-23 23:38:25 +00:00
parent fd4b3bf859
commit 2fbcc0c47b
4 changed files with 21 additions and 19 deletions

View File

@ -29,6 +29,7 @@ DEFINES=-D_IMPL_NS_HTML -DWIN32_LEAN_AND_MEAN
CPPSRCS= nsMsgDatabase.cpp\
nsDBFolderInfo.cpp\
nsMailDatabase.cpp\
nsNewsDatabase.cpp\
nsMsgHdr.cpp\
mdbstubs.cpp \
$(NULL)
@ -36,8 +37,8 @@ CPPSRCS= nsMsgDatabase.cpp\
CPP_OBJS= .\$(OBJDIR)\nsMsgDatabase.obj \
.\$(OBJDIR)\nsDBFolderInfo.obj\
.\$(OBJDIR)\nsMailDatabase.obj\
.\$(OBJDIR)\nsNewsDatabase.obj\
.\$(OBJDIR)\nsMsgHdr.obj\
# .\$(OBJDIR)\mdbstubs.obj\
$(NULL)

View File

@ -179,22 +179,25 @@ nsresult nsDBFolderInfo::InitFromExistingDB()
mdb_bool mustBeUnique; // whether port can hold only one of these
ret = store->GetTableKind(m_mdb->GetEnv(), m_rowScopeToken, m_tableKindToken, &outTableCount,
&mustBeUnique, &m_mdbTable);
NS_ASSERTION(mustBeUnique && outTableCount == 1, "only one global db info allowed");
// NS_ASSERTION(mustBeUnique && outTableCount == 1, "only one global db info allowed");
// find singleton row for global info.
ret = m_mdbTable->HasOid(m_mdb->GetEnv(), &gDBFolderInfoOID, &rowPos);
if (ret == NS_OK)
if (m_mdbTable)
{
nsIMdbTableRowCursor *rowCursor;
rowPos = -1;
ret= m_mdbTable->GetTableRowCursor(m_mdb->GetEnv(), rowPos, &rowCursor);
// find singleton row for global info.
ret = m_mdbTable->HasOid(m_mdb->GetEnv(), &gDBFolderInfoOID, &rowPos);
if (ret == NS_OK)
{
ret = rowCursor->NextRow(m_mdb->GetEnv(), &m_mdbRow, &rowPos);
rowCursor->Release();
if (ret == NS_OK && m_mdbRow)
nsIMdbTableRowCursor *rowCursor;
rowPos = -1;
ret= m_mdbTable->GetTableRowCursor(m_mdb->GetEnv(), rowPos, &rowCursor);
if (ret == NS_OK)
{
LoadMemberVariables();
ret = rowCursor->NextRow(m_mdb->GetEnv(), &m_mdbRow, &rowPos);
rowCursor->Release();
if (ret == NS_OK && m_mdbRow)
{
LoadMemberVariables();
}
}
}
}

View File

@ -80,11 +80,9 @@ nsMailDatabase::~nsMailDatabase()
stat (nativeFolderName, &st);
PR_FREEIF(nativeFolderName);
summarySpec.Delete(PR_FALSE); // ### temporary hack until mork is persistent.
nsresult err = NS_MSG_ERROR_FOLDER_SUMMARY_OUT_OF_DATE;
if (create && upgrading) // #### temporary hack until mork is persistent
err = mailDB->OpenMDB((const char *) summarySpec, create);
err = mailDB->OpenMDB((const char *) summarySpec, create);
if (NS_SUCCEEDED(err))
{

View File

@ -446,8 +446,8 @@ NS_IMETHODIMP nsMsgDatabase::OpenMDB(const char *dbName, PRBool create)
}
}
while (NS_SUCCEEDED(ret) && !outBroken && !outDone);
m_mdbEnv->ClearErrors(); // ### temporary...
if (ret != 0 && NS_SUCCEEDED(ret) && outDone)
// m_mdbEnv->ClearErrors(); // ### temporary...
if (NS_SUCCEEDED(ret) && outDone)
{
ret = myMDBFactory->ThumbToOpenStore(m_mdbEnv, thumb, &m_mdbStore);
if (ret == NS_OK && m_mdbStore)
@ -477,7 +477,7 @@ NS_IMETHODIMP nsMsgDatabase::OpenMDB(const char *dbName, PRBool create)
NS_IMETHODIMP nsMsgDatabase::CloseMDB(PRBool commit)
{
// --mRefCnt; don't decrement ref-count so we'll stay in memory until Mork files in and out.
--mRefCnt;
PR_ASSERT(mRefCnt >= 0);
if (mRefCnt == 0)
{
@ -492,7 +492,7 @@ NS_IMETHODIMP nsMsgDatabase::CloseMDB(PRBool commit)
}
#endif
if (m_mdbStore)
m_mdbStore->Release();
m_mdbStore->CloseMdbObject(m_mdbEnv);
// if this terrifies you, we can make it a static method
delete this;
return(NS_OK);