From 0bf06231007e1c449871c1bbb7aa85944b160721 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Mon, 10 Jul 2006 11:31:21 +0000 Subject: [PATCH] 2006-07-10 13:29 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/rdd/dbcmd.c ! AFIELDS() made fully CA-Cl*pper compatible. * harbour/contrib/libct/ctc.c ! Warning fixed. --- harbour/ChangeLog | 7 +++++ harbour/contrib/libct/ctc.c | 6 ++-- harbour/source/rdd/dbcmd.c | 63 +++++++++++++++++++++---------------- 3 files changed, 46 insertions(+), 30 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 0f89f03496..e019130ca2 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,13 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ + + * harbour/makefile.vc + + Generalized linker flags (LDFLAGS) and small exe generation + improvements. + +2006-07-10 13:29 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) + * harbour/source/rdd/dbcmd.c ! AFIELDS() made fully CA-Cl*pper compatible. * harbour/contrib/libct/ctc.c diff --git a/harbour/contrib/libct/ctc.c b/harbour/contrib/libct/ctc.c index 8d83d8d30b..a75bd62fcb 100644 --- a/harbour/contrib/libct/ctc.c +++ b/harbour/contrib/libct/ctc.c @@ -82,9 +82,9 @@ USHORT ct_error (USHORT uiSeverity, ULONG ulGenCode, ULONG ulSubCode, for (uiArgPos = 1; uiArgPos <= uiArgCount; uiArgPos++) { - PHB_ITEM pTemp; - hb_itemArrayPut (pArray, uiArgPos, pTemp = va_arg (va, PHB_ITEM)); - HB_TRACE(HB_TR_DEBUG, ("\t%p,",pTemp)); + PHB_ITEM pTemp = va_arg (va, PHB_ITEM); + hb_itemArrayPut (pArray, uiArgPos, pTemp); + HB_TRACE(HB_TR_DEBUG, ("\t%p,", pTemp)); } va_end (va); HB_TRACE(HB_TR_DEBUG, (")")); diff --git a/harbour/source/rdd/dbcmd.c b/harbour/source/rdd/dbcmd.c index a0c6765b50..13549eb581 100644 --- a/harbour/source/rdd/dbcmd.c +++ b/harbour/source/rdd/dbcmd.c @@ -1339,7 +1339,7 @@ HB_FUNC( AFIELDS ) { HB_THREAD_STUB PHB_ITEM pName, pType, pLen, pDec; - USHORT uiFields, uiArrayLen, uiCount; + USHORT uiFields, uiCount; AREAP pArea = HB_CURRENT_WA; if( !pArea ) @@ -1358,54 +1358,63 @@ HB_FUNC( AFIELDS ) return; } - uiArrayLen = 0; SELF_FIELDCOUNT( pArea, &uiFields ); + if( pName ) { - uiArrayLen = ( USHORT ) hb_arrayLen( pName ); - if( uiArrayLen > uiFields ) - uiArrayLen = uiFields; - for( uiCount = 1; uiCount <= uiArrayLen; ++uiCount ) + USHORT uiArrayLen = ( USHORT ) hb_arrayLen( pName ); + if( uiArrayLen < uiFields ) + uiFields = uiArrayLen; + } + if( pType ) + { + USHORT uiArrayLen = ( USHORT ) hb_arrayLen( pType ); + if( uiArrayLen < uiFields ) + uiFields = uiArrayLen; + } + if( pLen ) + { + USHORT uiArrayLen = ( USHORT ) hb_arrayLen( pLen ); + if( uiArrayLen < uiFields ) + uiFields = uiArrayLen; + } + if( pDec ) + { + USHORT uiArrayLen = ( USHORT ) hb_arrayLen( pDec ); + if( uiArrayLen < uiFields ) + uiFields = uiArrayLen; + } + + if( pName ) + { + for( uiCount = 1; uiCount <= uiFields; ++uiCount ) { - SELF_FIELDINFO( pArea, uiCount, DBS_NAME, - hb_arrayGetItemPtr( pName, uiCount ) ); + SELF_FIELDINFO( pArea, uiCount, DBS_NAME, hb_arrayGetItemPtr( pName, uiCount ) ); } } if( pType ) { - uiArrayLen = ( USHORT ) hb_arrayLen( pType ); - if( uiArrayLen > uiFields ) - uiArrayLen = uiFields; - for( uiCount = 1; uiCount <= uiArrayLen; ++uiCount ) + for( uiCount = 1; uiCount <= uiFields; ++uiCount ) { - SELF_FIELDINFO( pArea, uiCount, DBS_TYPE, - hb_arrayGetItemPtr( pType, uiCount ) ); + SELF_FIELDINFO( pArea, uiCount, DBS_TYPE, hb_arrayGetItemPtr( pType, uiCount ) ); } } if( pLen ) { - uiArrayLen = ( USHORT ) hb_arrayLen( pLen ); - if( uiArrayLen > uiFields ) - uiArrayLen = uiFields; - for( uiCount = 1; uiCount <= uiArrayLen; ++uiCount ) + for( uiCount = 1; uiCount <= uiFields; ++uiCount ) { - SELF_FIELDINFO( pArea, uiCount, DBS_LEN, - hb_arrayGetItemPtr( pLen, uiCount ) ); + SELF_FIELDINFO( pArea, uiCount, DBS_LEN, hb_arrayGetItemPtr( pLen, uiCount ) ); } } if( pDec ) { - uiArrayLen = ( USHORT ) hb_arrayLen( pDec ); - if( uiArrayLen > uiFields ) - uiArrayLen = uiFields; - for( uiCount = 1; uiCount <= uiArrayLen; ++uiCount ) + for( uiCount = 1; uiCount <= uiFields; ++uiCount ) { - SELF_FIELDINFO( pArea, uiCount, DBS_DEC, - hb_arrayGetItemPtr( pDec, uiCount ) ); + SELF_FIELDINFO( pArea, uiCount, DBS_DEC, hb_arrayGetItemPtr( pDec, uiCount ) ); } } - hb_retni( uiArrayLen ); + hb_retni( uiFields ); } HB_FUNC( ALIAS )