2009-05-14 08:56 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/contrib/rddads/ads1.c
    * re-enabled workaround code for wrong character field size returned by
      AdsGetFiled() for all ACE versions until we will not have good
      confirmation from Extended System that problem is fixed in some
      newer client versions.
This commit is contained in:
Przemyslaw Czerpak
2009-05-14 06:48:19 +00:00
parent 8959f99f45
commit d88826cdd5
2 changed files with 11 additions and 3 deletions

View File

@@ -17,6 +17,13 @@
past entries belonging to these authors: Viktor Szakats.
*/
2009-05-14 08:56 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/rddads/ads1.c
* re-enabled workaround code for wrong character field size returned by
AdsGetFiled() for all ACE versions until we will not have good
confirmation from Extended System that problem is fixed in some
newer client versions.
2009-05-14 02:28 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
* source/rtl/Makefile

View File

@@ -2054,13 +2054,14 @@ static HB_ERRCODE adsGetValue( ADSAREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
update area flags, Druzus */
hb_adsUpdateAreaFlags( pArea );
}
#if ADS_LIB_VERSION == 900
/* workaround for ACE bug: character fields longer then 23 bytes are
* increased by one byte when read by AdsGetField() [druzus].
* increased by one byte when read by AdsGetField(). This hack can
* cut the results read from some type of compressed fields so it
* should be removed for ACE clients which does not have such
* problems [druzus].
*/
if( u32Length > ( ULONG ) pField->uiLen )
u32Length = pField->uiLen;
#endif
hb_itemPutCL( pItem, ( char * ) pBuffer, u32Length );
break;