2007-05-06 16:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/source/vm/classes.c
    * changed __cls_IncData() to return index to newly allocated instance
      item and __cls_DecData() to return number of local (not inherited)
      instance items
This commit is contained in:
Przemyslaw Czerpak
2007-05-06 14:16:19 +00:00
parent 792dfee8c7
commit 0433f879a4
2 changed files with 15 additions and 10 deletions

View File

@@ -8,6 +8,12 @@
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2007-05-06 16:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/classes.c
* changed __cls_IncData() to return index to newly allocated instance
item and __cls_DecData() to return number of local (not inherited)
instance items
2007-05-06 11:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/hbrandom.c
! HB_RANDOMSEED() fixed to correctly handle passed parameter.

View File

@@ -3235,12 +3235,12 @@ HB_FUNC( __CLS_DECDATA )
{
USHORT uiClass = ( USHORT ) hb_parni( 1 );
if( uiClass && uiClass <= s_uiClasses && s_pClasses[ uiClass ].uiDatas )
if( uiClass && uiClass <= s_uiClasses &&
s_pClasses[ uiClass ].uiDatas > s_pClasses[ uiClass ].uiDataFirst )
{
if( s_pClasses[ uiClass ].fLocked )
hb_retni( s_pClasses[ uiClass ].uiDatas );
else
hb_retni( --s_pClasses[ uiClass ].uiDatas );
if( !s_pClasses[ uiClass ].fLocked )
s_pClasses[ uiClass ].uiDatas--;
hb_retni( s_pClasses[ uiClass ].uiDatas - s_pClasses[ uiClass ].uiDataFirst );
}
else
hb_retni( 0 );
@@ -3248,7 +3248,7 @@ HB_FUNC( __CLS_DECDATA )
/*
* <nSeq> = __cls_IncData( <hClass> )
* Increase number of datas and return new value
* Increase number of datas and return offset to new value
*/
HB_FUNC( __CLS_INCDATA )
{
@@ -3256,10 +3256,9 @@ HB_FUNC( __CLS_INCDATA )
if( uiClass && uiClass <= s_uiClasses )
{
if( s_pClasses[ uiClass ].fLocked )
hb_retni( s_pClasses[ uiClass ].uiDatas );
else
hb_retni( ++s_pClasses[ uiClass ].uiDatas );
if( !s_pClasses[ uiClass ].fLocked )
s_pClasses[ uiClass ].uiDatas++;
hb_retni( s_pClasses[ uiClass ].uiDatas - s_pClasses[ uiClass ].uiDataFirst );
}
else
hb_retni( 0 );