Added support for large field values (up to 4 GB), async and direct I/O on Linux and Solaris, and performed major code cleanup.

git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@213 0109f412-320b-0410-ab79-c3e0c5ffbbe6
This commit is contained in:
ahodgkinson
2006-03-28 19:25:14 +00:00
parent 0023b51ad8
commit 3eaf791406
197 changed files with 53521 additions and 82897 deletions

View File

@@ -69,6 +69,7 @@ FSTATIC RCODE flmRenameFile(
{
*pbFileFound = TRUE;
}
goto Exit;
}
@@ -154,11 +155,14 @@ FSTATIC RCODE flmRenameFile(
pRenameFile = NULL;
}
Exit:
if (pRenameFile)
{
f_free( &pRenameFile);
}
return( rc);
}
@@ -222,6 +226,7 @@ FLMEXP RCODE FLMAPI FlmDbRename(
{
goto Exit;
}
if (RC_BAD( rc = f_pathReduce( pszNewDbName, pszNewName, szNewBase)))
{
goto Exit;
@@ -336,6 +341,7 @@ FLMEXP RCODE FLMAPI FlmDbRename(
pszExtNew = pszNewName + f_strlen( pszNewName) - 1;
pszDataExtNew = pszNewDataName + f_strlen( pszNewDataName) - 1;
while (pszExtNew != pszOldName && *pszExtNew != '.')
{
pszExtNew--;
@@ -346,6 +352,7 @@ FLMEXP RCODE FLMAPI FlmDbRename(
pszDataExtNew--;
}
if (*pszExtNew != '.')
{
pszExtNew = pszNewName + f_strlen( pszNewName);
@@ -411,21 +418,24 @@ FLMEXP RCODE FLMAPI FlmDbRename(
{
goto Exit;
}
if (!bFileFound)
{
break;
}
if (uiFileNumber ==
MAX_LOG_BLOCK_FILE_NUMBER( FileHdr.uiVersionNum))
{
break;
}
uiFileNumber++;
}
// Rename roll-forward log files.
if (FileHdr.uiVersionNum < FLM_VER_4_3)
if (FileHdr.uiVersionNum < FLM_FILE_FORMAT_VER_4_3)
{
// For pre-4.3 versions, only need to rename one RFL file.
@@ -476,10 +486,12 @@ FLMEXP RCODE FLMAPI FlmDbRename(
}
Exit:
if (pFileHdl)
{
pFileHdl->Release();
}
if (pucBuffer)
{
f_free( &pucBuffer);
@@ -502,7 +514,9 @@ Exit:
gv_FlmSysData.pFileSystem->Rename( pRenameFile->Info.szDstFileName,
pRenameFile->Info.szSrcFileName);
}
f_free( &pRenameFile);
}
return( rc);
}