ChangeLogTag:19990822-20:02 GMT+1 Bruno Cantero <bruno@issnet.net>

This commit is contained in:
Bruno Cantero
1999-08-22 18:14:38 +00:00
parent 87a69afab1
commit 81f2e79271
3 changed files with 31 additions and 12 deletions

View File

@@ -1,3 +1,8 @@
19990822-20:02 GMT+1 Bruno Cantero <bruno@issnet.net>
* source/rdd/dbcmd.c
source/rdd/dbf1.c
* Bug in PutValue removed (again)
19990822-18:20 GMT+1 Bruno Cantero <bruno@issnet.net>
* include/rddapi.h
source/rdd/dbcmd.c

View File

@@ -236,6 +236,7 @@ static ERRCODE Error( AREAP pArea, PHB_ITEM pError )
szRddName = ( char * ) hb_xgrab( HARBOUR_MAX_RDD_DRIVERNAME_LENGTH + 1 );
SELF_SYSNAME( pArea, ( BYTE * ) szRddName );
hb_errPutSeverity( pError, ES_ERROR );
hb_errPutSubSystem( pError, szRddName );
hb_xfree( szRddName );
return hb_errLaunch( pError );
@@ -837,6 +838,7 @@ HARBOUR HB_DBCREATE( void )
SELF_CREATE( ( AREAP ) pTempArea, &pInfo );
SELF_RELEASE( ( AREAP ) pTempArea );
hb_xfree( szFileName );
hb_xfree( pFileName );
hb_xfree( pTempArea );
}

View File

@@ -227,15 +227,10 @@ static ERRCODE Info( AREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
static ERRCODE Lock( AREAP pArea, LPDBLOCKINFO pLockInfo )
{
if( SELF_RAWLOCK( pArea, pLockInfo->uiMethod, pLockInfo->itmRecID ) == SUCCESS )
{
pLockInfo->fResult = TRUE;
return SUCCESS;
}
else
{
pLockInfo->fResult = FALSE;
return FAILURE;
}
return SUCCESS;
}
static ERRCODE PutValue( AREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
@@ -245,9 +240,21 @@ static ERRCODE PutValue( AREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
BYTE * szText, * szOldChar, szEndChar;
BOOL bError;
long lDay, lMonth, lYear;
PHB_ITEM pError;
if( uiIndex > pArea->uiFieldCount )
return FAILURE;
if( !pArea->lpExtendInfo->fExclusive && !pArea->lpExtendInfo->fFileLocked )
{
pError = hb_errNew();
hb_errPutGenCode( pError, EG_UNLOCKED );
hb_errPutDescription( pError, hb_langDGetErrorDesc( EG_UNLOCKED ) );
hb_errPutSubCode( pError, 1022 );
SELF_ERROR( pArea, pError );
hb_errRelease( pError );
return FAILURE;
}
pField = pArea->lpFields;
uiOffset = 1;
@@ -279,7 +286,7 @@ static ERRCODE PutValue( AREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
if( pItem->type & IT_INTEGER )
{
if( pField->uiDec )
sprintf( ( char * ) szText, "%*.*f", pField->uiLen, pField->uiDec, pItem->item.asInteger.value );
sprintf( ( char * ) szText, "%*.*f", pField->uiLen, pField->uiDec, ( double ) pItem->item.asInteger.value );
else
sprintf( ( char * ) szText, "%*i", pField->uiLen, pItem->item.asInteger.value );
bError = FALSE;
@@ -287,9 +294,9 @@ static ERRCODE PutValue( AREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
else if( pItem->type & IT_LONG )
{
if( pField->uiDec )
sprintf( ( char * ) szText, "%*.*f", pField->uiLen, pField->uiDec, pItem->item.asLong.value );
sprintf( ( char * ) szText, "%*.*f", pField->uiLen, pField->uiDec, ( double ) pItem->item.asLong.value );
else
sprintf( ( char * ) szText, "%*l", pField->uiLen, pItem->item.asLong.value );
sprintf( ( char * ) szText, "%*ld", pField->uiLen, pItem->item.asLong.value );
bError = FALSE;
}
else if( pItem->type & IT_DOUBLE )
@@ -297,7 +304,7 @@ static ERRCODE PutValue( AREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
if( pField->uiDec )
sprintf( ( char * ) szText, "%*.*f", pField->uiLen, pField->uiDec, pItem->item.asDouble.value );
else
sprintf( ( char * ) szText, "%*l", pField->uiLen, pItem->item.asDouble.value );
sprintf( ( char * ) szText, "%*ld", pField->uiLen, ( long ) pItem->item.asDouble.value );
bError = FALSE;
}
break;
@@ -326,7 +333,12 @@ static ERRCODE PutValue( AREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
if( bError )
{
printf( "Error 1020 EG_DATATYPE\n" );
pError = hb_errNew();
hb_errPutGenCode( pError, EG_DATATYPE );
hb_errPutDescription( pError, hb_langDGetErrorDesc( EG_DATATYPE ) );
hb_errPutSubCode( pError, 1020 );
SELF_ERROR( pArea, pError );
hb_errRelease( pError );
return FAILURE;
}
return SUCCESS;
@@ -575,7 +587,7 @@ static RDDFUNCS dbfTable = { 0, /* Super Bof */
PutValue,
0, /* Super Recall */
RecCount,
0, /* Super RecNo */
RecNo,
0, /* Super SetFieldsExtent */
0, /* Super Close */
0, /* Super Create */