RDD_ADS: sync with xHarbour.

This commit is contained in:
Antonio Carlos Pantaglione
2003-07-09 02:09:32 +00:00
parent c2579e4420
commit 6cc3c4d02e
4 changed files with 37 additions and 25 deletions

View File

@@ -8,9 +8,20 @@
2002-12-01 23:12 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2003-07-08 23:00 UTC-0300 Antonio Carlos Pantaglione <toninho@fwi.com.br>
! Sync with changes made in xHarbour by Walter Negro
* contrib/rdd_ads/ace.h
! Fix warning in declaration of function
* contrib/rdd_ads/ads1.c
* contrib/rdd_ads/adsfunc.c
! Fix error and potential error of AE_INSUFFICIENT_BUFFER in
some functions.
The len of buffer should include the NULL char.
! Fix, now adsGoTo() test if the new position is EOF.
2003-07-08 14:25 UTC-0300 Antonio Carlos Pantaglione <toninho@fwi.com.br>
* contrib/rdd_ads/ads1.c
! Fixed: deleted() return TRUE when is at eof()
! Fixed: deleted() return TRUE when is at eof(), borrow from xHarbour.
2003-07-08 11:27 UTC+0300 Chen Kedem <niki@actcom.co.il>
* doc/en/lang.txt

View File

@@ -382,7 +382,7 @@
#define AE_DD_UNSUPPORTED_DEPLOYMENT 5166
#define AE_INFO_AUTO_CREATION_OCCURRED 5168
#define AE_INFO_COPY_MADE_BY_CLIENT 5169
#define AE_DATABASE_REQUIRE_NEW_SERVER 5170
#define AE_DATABASE_REQUIRES_NEW_SERVER 5170
/* Available OEM Languages (for Clipper compatibility) */
#define ADS_LANG_USA "USA"

View File

@@ -68,7 +68,7 @@
static ERRCODE adsRecCount( ADSAREAP pArea, ULONG * pRecCount );
static ERRCODE adsScopeInfo( ADSAREAP pArea, USHORT nScope, PHB_ITEM pItem );
static ERRCODE adsSetScope( ADSAREAP pArea, LPDBORDSCOPEINFO sInfo );
static iSetListenerHandle;
static int iSetListenerHandle;
HB_FUNC( _ADS );
HB_FUNC( ADS_GETFUNCTABLE );
@@ -89,6 +89,7 @@ HB_INIT_SYMBOLS_BEGIN( ads1__InitSymbols )
{ "_ADS", HB_FS_PUBLIC, HB_FUNCNAME( _ADS ), NULL },
{ "ADS_GETFUNCTABLE", HB_FS_PUBLIC, HB_FUNCNAME( ADS_GETFUNCTABLE ), NULL }
HB_INIT_SYMBOLS_END( ads1__InitSymbols )
#if defined(_MSC_VER)
#if _MSC_VER >= 1010
#pragma data_seg( ".CRT$XIY" )
@@ -494,6 +495,7 @@ static ERRCODE adsGoTo( ADSAREAP pArea, ULONG ulRecNo )
pArea->ulRecNo = ulRecNo;
pArea->fBof = pArea->fEof = FALSE;
ulRetVal = AdsGotoRecord( pArea->hTable, ulRecNo );
AdsAtEOF( pArea->hTable, (UNSIGNED16 *)&(pArea->fEof) );
/* hb_adsCheckBofEof( pArea ); // bh: GoTo should never do the skipfilter that may happen in hb_adsCheckBofEof */
}
else /* GoTo Phantom record */
@@ -1118,7 +1120,7 @@ static ERRCODE adsGetValue( ADSAREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
break;
case HB_IT_LONG:
pulLength = pArea->maxFieldLen;
pulLength = pArea->maxFieldLen + 1;
if (AdsGetField( pArea->hTable, szName, pBuffer, &pulLength, ADS_NONE ) == AE_NO_CURRENT_RECORD )
{
memset( pBuffer, ' ', pField->uiLen );
@@ -1153,10 +1155,10 @@ static ERRCODE adsGetValue( ADSAREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
case HB_IT_DATE:
{
UNSIGNED8 pucFormat[ 11 ];
UNSIGNED16 pusLen = 10;
UNSIGNED16 pusLen = 11;
AdsGetDateFormat ( pucFormat, &pusLen );
AdsSetDateFormat ( (UNSIGNED8*)"YYYYMMDD" );
pulLength = pArea->maxFieldLen;
pulLength = pArea->maxFieldLen + 1;
if (AdsGetField( pArea->hTable, szName, pBuffer, &pulLength, ADS_NONE ) == AE_NO_CURRENT_RECORD )
{
memset( pBuffer, ' ', pField->uiLen );
@@ -1524,7 +1526,7 @@ static ERRCODE adsInfo( ADSAREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
break;
case DBI_GETHEADERSIZE:
if( !pArea->uiHeaderLen && pArea->iFileType!=ADS_ADT )
if( !pArea->uiHeaderLen && pArea->iFileType != ADS_ADT )
pArea->uiHeaderLen = 32 + pArea->uiFieldCount * 32 + 2;
hb_itemPutNL( pItem, pArea->uiHeaderLen );
break;
@@ -1597,13 +1599,13 @@ static ERRCODE adsInfo( ADSAREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
UNSIGNED8 ucLetter;
UNSIGNED8 ucDesc[128];
UNSIGNED16 usDescLen = sizeof(ucDesc) - 1;
char ucVersion[256];
UNSIGNED8 ucVersion[256];
AdsGetVersion( &ulMajor, &ulMinor, &ucLetter, ucDesc, &usDescLen);
sprintf(ucVersion, "%s, v%ld.%ld%c", (char *)ucDesc, ulMajor, ulMinor, ucLetter);
sprintf(( char *) ucVersion, "%s, v%ld.%ld%c", ucDesc, ulMajor, ulMinor, ucLetter);
hb_itemPutC( pItem, ucVersion );
hb_itemPutC( pItem, ( char *) ucVersion );
break;
}
@@ -1694,7 +1696,6 @@ static ERRCODE adsOpen( ADSAREAP pArea, LPDBOPENINFO pOpenInfo )
{
if ( ulRetVal != 1001 ) /* && ulRetVal != 7008 ) */ /* 1001 and 7008 are standard ADS Open Errors that will usually be sharing issues */
commonError( pArea, EG_OPEN, ( USHORT ) ulRetVal, ( char * ) pOpenInfo->abName );
return FAILURE; /* just set neterr */
}
@@ -1944,7 +1945,6 @@ static ERRCODE adsOrderListClear( ADSAREAP pArea )
AdsCloseAllIndexes ( pArea->hTable );
pArea->hOrdCurrent = 0;
return SUCCESS;
}

View File

@@ -103,7 +103,7 @@ HB_FUNC( ADSSETSERVERTYPE )
HB_FUNC( ADSSETDATEFORMAT )
{
UNSIGNED8 pucFormat[16];
UNSIGNED16 pusLen = 15;
UNSIGNED16 pusLen = 16;
hb_retc( "");
AdsGetDateFormat (pucFormat, &pusLen);
@@ -246,11 +246,11 @@ HB_FUNC( ADSSETCHARTYPE )
HB_FUNC( ADSSETDEFAULT )
{
UNSIGNED8 pucDefault[ MAX_STR_LEN+1];
UNSIGNED16 pusLen = MAX_STR_LEN;
UNSIGNED16 pusLen = MAX_STR_LEN+1;
AdsGetDefault( pucDefault, &pusLen);
hb_retclen( (char*)pucDefault, pusLen );
hb_retclen( ( char * ) pucDefault, pusLen );
if( ISCHAR(1) )
AdsSetDefault( (UNSIGNED8*) hb_parc( 1 ) );
@@ -261,11 +261,11 @@ HB_FUNC( ADSSETDEFAULT )
HB_FUNC( ADSSETSEARCHPATH )
{
UNSIGNED8 pucPath[ MAX_STR_LEN+1];
UNSIGNED16 pusLen = MAX_STR_LEN;
UNSIGNED16 pusLen = MAX_STR_LEN+1;
AdsGetSearchPath( pucPath, &pusLen);
hb_retclen( (char*)pucPath, pusLen );
hb_retclen( ( char *) pucPath, pusLen );
if( ISCHAR(1) )
AdsSetSearchPath( (UNSIGNED8*) hb_parc( 1 ) );
@@ -398,7 +398,7 @@ HB_FUNC( ADSKEYCOUNT )
ADSHANDLE hIndex;
UNSIGNED16 usFilterOption = ADS_IGNOREFILTERS;
UNSIGNED8 pucScope[ ADS_MAX_KEY_LENGTH+1 ];
UNSIGNED16 pusBufLen = ADS_MAX_KEY_LENGTH;
UNSIGNED16 pusBufLen = ADS_MAX_KEY_LENGTH+1;
pArea = (ADSAREAP) hb_rddGetCurrentWorkAreaPointer();
if( pArea )
@@ -579,7 +579,7 @@ HB_FUNC( ADSGETTABLEALIAS )
{
ADSAREAP pArea;
UNSIGNED8 pucAlias[HARBOUR_MAX_RDD_ALIAS_LENGTH +1];
UNSIGNED16 pusLen = HARBOUR_MAX_RDD_ALIAS_LENGTH;
UNSIGNED16 pusLen = HARBOUR_MAX_RDD_ALIAS_LENGTH+1;
UNSIGNED32 ulRetVal = FAILURE;
pArea = (ADSAREAP) hb_rddGetCurrentWorkAreaPointer();
@@ -599,7 +599,7 @@ HB_FUNC( ADSGETAOF )
ADSAREAP pArea;
UNSIGNED8 pucFilter[HARBOUR_MAX_RDD_FILTER_LENGTH+1];
UNSIGNED8 *pucFilter2;
UNSIGNED16 pusLen = HARBOUR_MAX_RDD_FILTER_LENGTH;
UNSIGNED16 pusLen = HARBOUR_MAX_RDD_FILTER_LENGTH+1;
UNSIGNED32 ulRetVal;
hb_retc( "" );
@@ -649,7 +649,7 @@ HB_FUNC( ADSGETAOFNOOPT )
UNSIGNED16 pusOptLevel;
UNSIGNED8 pucNonOpt[HARBOUR_MAX_RDD_FILTER_LENGTH+1];
UNSIGNED8 *pucNonOpt2;
UNSIGNED16 pusLen = HARBOUR_MAX_RDD_FILTER_LENGTH;
UNSIGNED16 pusLen = HARBOUR_MAX_RDD_FILTER_LENGTH+1;
UNSIGNED32 ulRetVal;
pArea = (ADSAREAP) hb_rddGetCurrentWorkAreaPointer();
@@ -743,7 +743,7 @@ HB_FUNC( ADSGETFILTER )
ADSAREAP pArea;
UNSIGNED8 pucFilter[HARBOUR_MAX_RDD_FILTER_LENGTH+1];
UNSIGNED8 *pucFilter2;
UNSIGNED16 pusLen = HARBOUR_MAX_RDD_FILTER_LENGTH;
UNSIGNED16 pusLen = HARBOUR_MAX_RDD_FILTER_LENGTH+1;
UNSIGNED32 ulRetVal;
hb_retc( "" );
@@ -1337,7 +1337,7 @@ HB_FUNC(ADSADDTABLE)
hb_retl(0);
}
HB_FUNC(ADSADDUSERTOGROUP)
HB_FUNC( ADSADDUSERTOGROUP )
{
UNSIGNED32 ulRetVal;
UNSIGNED8 *pGroup = hb_parc( 1 );
@@ -1353,7 +1353,7 @@ HB_FUNC(ADSADDUSERTOGROUP)
hb_retl(0);
}
HB_FUNC(ADSUSEDICTIONARY)
HB_FUNC( ADSUSEDICTIONARY )
{
BOOL bOld = bDictionary;
if ( ISLOG( 1 ) )
@@ -1364,7 +1364,7 @@ HB_FUNC(ADSUSEDICTIONARY)
#endif
HB_FUNC(ADSVERSION)
HB_FUNC( ADSVERSION )
{
int iVersionType = ISNUM(1) ? hb_parni(1) : 0;
UNSIGNED32 ulMajor;
@@ -1390,3 +1390,4 @@ HB_FUNC(ADSVERSION)
hb_retc(ucVersion);
}