diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 3b112154df..9d1944eed6 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,49 @@ +2000-07-25 00:23 UTC+0100 Victor Szakats + + * source/rtl/abs.c + * source/rtl/at.c + * source/rtl/chrasc.c + * source/rtl/datec.c + * source/rtl/dateshb.c + * source/rtl/dir.c + * source/rtl/do.c + * source/rtl/idle.c + * source/rtl/left.c + * source/rtl/len.c + * source/rtl/math.c + * source/rtl/minmax.c + * source/rtl/mod.c + * source/rtl/replic.c + * source/rtl/round.c + * source/rtl/setkey.c + * source/rtl/space.c + * source/rtl/str.c + * source/rtl/strcase.c + * source/rtl/strtran.c + * source/rtl/strzero.c + * source/rtl/substr.c + * source/rtl/transfrm.c + * source/rtl/trim.c + * source/rtl/type.c + * source/rtl/val.c + * source/vm/arrayshb.c + * source/vm/classes.c + * source/vm/debug.c + * source/vm/eval.c + * source/vm/hvm.c + * source/vm/memvars.c + * source/vm/runner.c + % This construct: + hb_itemReturn( x ); + hb_itemRelease/Clear( x ); + converted to this smaller and faster one: + hb_itemRelease/Clear( hb_itemReturn( x ) ); + + Actually the speed increase and binary size decrease is almost zero, + but the source code is more compact. This snippet is mostly found in + error runtime error branches. + Some local variables could be eliminated this way. + 20000724-22:45 GMT+2 Maurilio Longo + contrib/mysql diff --git a/harbour/source/rdd/dbcmd.c b/harbour/source/rdd/dbcmd.c index 75e10bb568..44e67ca539 100644 --- a/harbour/source/rdd/dbcmd.c +++ b/harbour/source/rdd/dbcmd.c @@ -2279,8 +2279,7 @@ HB_FUNC( DBRLOCKLIST ) else hb_errRT_DBCMD( EG_NOTABLE, 2001, NULL, "DBRLOCKLIST" ); - hb_itemReturn( pList ); - hb_itemRelease( pList ); + hb_itemRelease( hb_itemReturn( pList ) ); } HB_FUNC( DBRUNLOCK ) @@ -2706,8 +2705,7 @@ HB_FUNC( FIELDGET ) if( s_pCurrArea && uiField ) SELF_GETVALUE( ( AREAP ) s_pCurrArea->pArea, uiField, pItem ); - hb_itemReturn( pItem ); - hb_itemRelease( pItem ); + hb_itemRelease( hb_itemReturn( pItem ) ); } HB_FUNC( FIELDNAME ) @@ -2774,7 +2772,6 @@ HB_FUNC( FIELDPUT ) if( SELF_PUTVALUE( ( AREAP ) s_pCurrArea->pArea, uiIndex, pItem ) == SUCCESS ) { hb_itemReturn( pItem ); - return; } } } @@ -2815,8 +2812,7 @@ HB_FUNC( HEADER ) pRecSize = hb_itemNew( NULL ); SELF_INFO( ( AREAP ) s_pCurrArea->pArea, DBI_GETHEADERSIZE, pRecSize ); - hb_itemReturn( pRecSize ); - hb_itemRelease( pRecSize ); + hb_itemRelease( hb_itemReturn( pRecSize ) ); } } @@ -3301,8 +3297,7 @@ HB_FUNC( RECNO ) pRecNo = hb_itemPutNL( NULL, 0 ); if( s_pCurrArea ) SELF_RECNO( ( AREAP ) s_pCurrArea->pArea, pRecNo ); - hb_itemReturn( pRecNo ); - hb_itemRelease( pRecNo ); + hb_itemRelease( hb_itemReturn( pRecNo ) ); } HB_FUNC( RECSIZE ) @@ -3313,8 +3308,7 @@ HB_FUNC( RECSIZE ) pRecSize = hb_itemNew( NULL ); SELF_INFO( ( AREAP ) s_pCurrArea->pArea, DBI_GETRECSIZE, pRecSize ); - hb_itemReturn( pRecSize ); - hb_itemRelease( pRecSize ); + hb_itemRelease( hb_itemReturn( pRecSize ) ); } else hb_retni( 0 ); diff --git a/harbour/source/rtl/abs.c b/harbour/source/rtl/abs.c index f5ddffeac6..5173f64064 100644 --- a/harbour/source/rtl/abs.c +++ b/harbour/source/rtl/abs.c @@ -78,10 +78,7 @@ HB_FUNC( ABS ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1089, NULL, "ABS" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/at.c b/harbour/source/rtl/at.c index c9be9646d5..9710fc99e7 100644 --- a/harbour/source/rtl/at.c +++ b/harbour/source/rtl/at.c @@ -54,10 +54,7 @@ HB_FUNC( AT ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1108, NULL, "AT" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/chrasc.c b/harbour/source/rtl/chrasc.c index e9a9db1ee4..2ff6590ec6 100644 --- a/harbour/source/rtl/chrasc.c +++ b/harbour/source/rtl/chrasc.c @@ -62,10 +62,7 @@ HB_FUNC( CHR ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1104, NULL, "CHR" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -86,10 +83,7 @@ HB_FUNC( ASC ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1107, NULL, "ASC" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/datec.c b/harbour/source/rtl/datec.c index b9fbf1516d..daf4b63ee9 100644 --- a/harbour/source/rtl/datec.c +++ b/harbour/source/rtl/datec.c @@ -69,10 +69,7 @@ HB_FUNC( CMONTH ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1116, NULL, "CMONTH" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -99,10 +96,7 @@ HB_FUNC( CDOW ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1117, NULL, "CDOW" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/dateshb.c b/harbour/source/rtl/dateshb.c index 7c58f2dca9..1999b8c0ad 100644 --- a/harbour/source/rtl/dateshb.c +++ b/harbour/source/rtl/dateshb.c @@ -162,10 +162,7 @@ HB_FUNC( CTOD ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1119, NULL, "CTOD" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -183,10 +180,7 @@ HB_FUNC( DTOC ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1118, NULL, "DTOC" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -203,10 +197,7 @@ HB_FUNC( DTOS ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1120, NULL, "DTOS" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -234,10 +225,7 @@ HB_FUNC( YEAR ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1112, NULL, "YEAR" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -258,10 +246,7 @@ HB_FUNC( MONTH ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1113, NULL, "MONTH" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -282,10 +267,7 @@ HB_FUNC( DAY ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1114, NULL, "DAY" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -327,10 +309,7 @@ HB_FUNC( DOW ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1115, NULL, "DOW" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/dir.c b/harbour/source/rtl/dir.c index 6ca985c901..60cc6f1f0e 100644 --- a/harbour/source/rtl/dir.c +++ b/harbour/source/rtl/dir.c @@ -537,8 +537,7 @@ HB_FUNC( DIRECTORY ) { HB_TRACE(HB_TR_INFO, ("invalid dirname |%s|\n", dirname)); - hb_itemReturn( pDir ); - hb_itemRelease( pDir ); + hb_itemRelease( hb_itemReturn( pDir ) ); return; } @@ -717,8 +716,7 @@ HB_FUNC( DIRECTORY ) HB_TRACE(HB_TR_INFO, ("normal return\n")); - hb_itemReturn( pDir ); /* DIRECTORY() returns an array */ - hb_itemRelease( pDir ); + hb_itemRelease( hb_itemReturn( pDir ) ); /* DIRECTORY() returns an array */ #endif /* HAVE_POSIX_IO */ } diff --git a/harbour/source/rtl/do.c b/harbour/source/rtl/do.c index e4698a96d4..20a8a953d2 100644 --- a/harbour/source/rtl/do.c +++ b/harbour/source/rtl/do.c @@ -89,10 +89,7 @@ HB_FUNC( DO ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 3012, NULL, "DO" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/idle.c b/harbour/source/rtl/idle.c index 7e30d24240..05e6653070 100644 --- a/harbour/source/rtl/idle.c +++ b/harbour/source/rtl/idle.c @@ -187,8 +187,7 @@ HB_FUNC( HB_IDLEDEL ) if( ulID == ( ULONG ) pItem->item.asBlock.value ) { hb_gcUnlockItem( pItem ); - hb_itemReturn( pItem ); /* return a codeblock */ - hb_itemClear( pItem ); + hb_itemClear( hb_itemReturn( pItem ) ); /* return a codeblock */ --s_uiIdleMaxTask; if( s_uiIdleMaxTask ) diff --git a/harbour/source/rtl/left.c b/harbour/source/rtl/left.c index 95ba0763b4..58a8f77ab1 100644 --- a/harbour/source/rtl/left.c +++ b/harbour/source/rtl/left.c @@ -59,10 +59,7 @@ HB_FUNC( LEFT ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1124, NULL, "LEFT" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/len.c b/harbour/source/rtl/len.c index 447f4ab60f..cbfd58e3f7 100644 --- a/harbour/source/rtl/len.c +++ b/harbour/source/rtl/len.c @@ -63,9 +63,6 @@ HB_FUNC( LEN ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1111, NULL, "LEN" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/math.c b/harbour/source/rtl/math.c index d6bcc6e35c..15501337b7 100644 --- a/harbour/source/rtl/math.c +++ b/harbour/source/rtl/math.c @@ -121,10 +121,7 @@ HB_FUNC( EXP ) s_internal_math_error = 0; if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } else hb_retnd( dResult ); @@ -137,10 +134,7 @@ HB_FUNC( EXP ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1096, NULL, "EXP" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -158,10 +152,7 @@ HB_FUNC( LOG ) s_internal_math_error = 0; if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } else hb_retnd( dResult ); @@ -180,10 +171,7 @@ HB_FUNC( LOG ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1095, NULL, "LOG" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -201,10 +189,7 @@ HB_FUNC( SQRT ) s_internal_math_error = 0; if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } else hb_retnd( dResult ); @@ -219,10 +204,7 @@ HB_FUNC( SQRT ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1097, NULL, "SQRT" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/minmax.c b/harbour/source/rtl/minmax.c index 96c3f05f61..043961f4ff 100644 --- a/harbour/source/rtl/minmax.c +++ b/harbour/source/rtl/minmax.c @@ -90,10 +90,7 @@ HB_FUNC( MAX ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1093, NULL, "MAX" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -150,10 +147,7 @@ HB_FUNC( MIN ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1092, NULL, "MIN" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/mod.c b/harbour/source/rtl/mod.c index 9d8f60e2aa..f0143d8538 100644 --- a/harbour/source/rtl/mod.c +++ b/harbour/source/rtl/mod.c @@ -86,10 +86,7 @@ HB_FUNC( MOD ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1085, NULL, "%" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/replic.c b/harbour/source/rtl/replic.c index 5a801544a6..4871edb8d8 100644 --- a/harbour/source/rtl/replic.c +++ b/harbour/source/rtl/replic.c @@ -70,10 +70,7 @@ HB_FUNC( REPLICATE ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_STROVERFLOW, 1234, NULL, "REPLICATE" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } else @@ -84,10 +81,7 @@ HB_FUNC( REPLICATE ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1106, NULL, "REPLICATE" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/round.c b/harbour/source/rtl/round.c index 7a0d511851..e47d3bf6fa 100644 --- a/harbour/source/rtl/round.c +++ b/harbour/source/rtl/round.c @@ -68,10 +68,7 @@ HB_FUNC( INT ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1090, NULL, "INT" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -128,9 +125,6 @@ HB_FUNC( ROUND ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1094, NULL, "ROUND" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/setkey.c b/harbour/source/rtl/setkey.c index 25777aee8e..656108c34c 100644 --- a/harbour/source/rtl/setkey.c +++ b/harbour/source/rtl/setkey.c @@ -189,9 +189,7 @@ HB_FUNC( SETKEY ) if( pIsActiveResults == NULL || ! HB_IS_LOGICAL( pIsActiveResults ) || hb_itemGetL( pIsActiveResults ) ) { #endif - PHB_ITEM pAction = hb_itemNew( sk_list_tmp->pAction ); - hb_itemReturn( pAction ); - hb_itemRelease( pAction ); + hb_itemRelease( hb_itemReturn( hb_itemNew( sk_list_tmp->pAction ) ) ); #if defined( HB_EXTENSION ) } #endif @@ -298,8 +296,7 @@ HB_FUNC( HB_SETKEYSAVE ) hb_itemRelease( pKeyElements ); } - hb_itemReturn( pKeys ); - hb_itemRelease( pKeys ); + hb_itemRelease( hb_itemReturn( pKeys ) ); pParam = hb_param( 1, HB_IT_ANY ); if( pParam ) diff --git a/harbour/source/rtl/space.c b/harbour/source/rtl/space.c index 2186da7889..28d4aa878f 100644 --- a/harbour/source/rtl/space.c +++ b/harbour/source/rtl/space.c @@ -66,9 +66,6 @@ HB_FUNC( SPACE ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1105, NULL, "SPACE" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/str.c b/harbour/source/rtl/str.c index fd50283fe9..7d00e01263 100644 --- a/harbour/source/rtl/str.c +++ b/harbour/source/rtl/str.c @@ -82,10 +82,7 @@ HB_FUNC( STR ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1099, NULL, "STR" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/strcase.c b/harbour/source/rtl/strcase.c index 083a3b92c1..aa9338f9be 100644 --- a/harbour/source/rtl/strcase.c +++ b/harbour/source/rtl/strcase.c @@ -101,10 +101,7 @@ HB_FUNC( LOWER ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1103, NULL, "LOWER" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -127,9 +124,6 @@ HB_FUNC( UPPER ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1102, NULL, "UPPER" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/strtran.c b/harbour/source/rtl/strtran.c index 205ab53665..0c635b86c7 100644 --- a/harbour/source/rtl/strtran.c +++ b/harbour/source/rtl/strtran.c @@ -177,10 +177,7 @@ HB_FUNC( STRTRAN ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1126, NULL, "STRTRAN" ); /* NOTE: Undocumented but existing Clipper Run-time error [vszakats] */ if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } else @@ -188,10 +185,7 @@ HB_FUNC( STRTRAN ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1126, NULL, "STRTRAN" ); /* NOTE: Undocumented but existing Clipper Run-time error [vszakats] */ if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/strzero.c b/harbour/source/rtl/strzero.c index 3d361e3088..a42f81ea54 100644 --- a/harbour/source/rtl/strzero.c +++ b/harbour/source/rtl/strzero.c @@ -117,10 +117,7 @@ HB_FUNC( STRZERO ) #endif if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } } diff --git a/harbour/source/rtl/substr.c b/harbour/source/rtl/substr.c index 19aac7f45c..890cb218b1 100644 --- a/harbour/source/rtl/substr.c +++ b/harbour/source/rtl/substr.c @@ -76,10 +76,7 @@ HB_FUNC( SUBSTR ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1110, NULL, "SUBSTR" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); /* NOTE: Exit from inside [vszakats] */ return; @@ -101,9 +98,6 @@ HB_FUNC( SUBSTR ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1110, NULL, "SUBSTR" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/transfrm.c b/harbour/source/rtl/transfrm.c index 28519b6432..a672b85a36 100644 --- a/harbour/source/rtl/transfrm.c +++ b/harbour/source/rtl/transfrm.c @@ -609,10 +609,7 @@ HB_FUNC( TRANSFORM ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1122, NULL, "TRANSFORM" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/trim.c b/harbour/source/rtl/trim.c index 6731dd62ba..6778bfb9f6 100644 --- a/harbour/source/rtl/trim.c +++ b/harbour/source/rtl/trim.c @@ -89,10 +89,7 @@ HB_FUNC( LTRIM ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1101, NULL, "LTRIM" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -117,10 +114,7 @@ HB_FUNC( RTRIM ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1100, NULL, "TRIM" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -153,10 +147,7 @@ HB_FUNC( ALLTRIM ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 2022, NULL, "ALLTRIM" ); /* NOTE: This appeared in CA-Cl*pper 5.3 [vszakats] */ if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } #else hb_retc( "" ); diff --git a/harbour/source/rtl/type.c b/harbour/source/rtl/type.c index 4c84c10a48..355f42068f 100644 --- a/harbour/source/rtl/type.c +++ b/harbour/source/rtl/type.c @@ -48,10 +48,7 @@ HB_FUNC( TYPE ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1121, NULL, "TYPE" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/rtl/val.c b/harbour/source/rtl/val.c index 50a577a288..b5805390da 100644 --- a/harbour/source/rtl/val.c +++ b/harbour/source/rtl/val.c @@ -126,9 +126,6 @@ HB_FUNC( VAL ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1098, NULL, "VAL" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/vm/arrayshb.c b/harbour/source/vm/arrayshb.c index e900c6ad3d..679748653f 100644 --- a/harbour/source/vm/arrayshb.c +++ b/harbour/source/vm/arrayshb.c @@ -109,10 +109,7 @@ HB_FUNC( AADD ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_ARG, 1123, NULL, "AADD" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } @@ -278,11 +275,6 @@ HB_FUNC( ACLONE ) PHB_ITEM pSrcArray = hb_param( 1, HB_IT_ARRAY ); if( pSrcArray && ! hb_arrayIsObject( pSrcArray ) ) - { - PHB_ITEM pDstArray = hb_arrayClone( pSrcArray ); - - hb_itemReturn( pDstArray ); /* AClone() returns the new array */ - hb_itemRelease( pDstArray ); - } + hb_itemRelease( hb_itemReturn( hb_arrayClone( pSrcArray ) ) ); /* AClone() returns the new array */ } diff --git a/harbour/source/vm/classes.c b/harbour/source/vm/classes.c index 2f61e26ede..5dfa23d26f 100644 --- a/harbour/source/vm/classes.c +++ b/harbour/source/vm/classes.c @@ -1198,10 +1198,7 @@ HB_FUNC( __CLSINST ) pSelf = hb_clsInst( ( USHORT ) hb_parni( 1 ), &ppObjects, &uiSize ); if( pSelf ) - { - hb_itemReturn( pSelf ); - hb_itemRelease( pSelf ); - } + hb_itemRelease( hb_itemReturn( pSelf ) ); if( ppObjects ) hb_xfree( ppObjects ); @@ -1522,11 +1519,7 @@ HB_FUNC( __OBJCLONE ) PHB_ITEM pSrcObject = hb_param( 1, HB_IT_OBJECT ); if( pSrcObject ) - { - PHB_ITEM pDstObject = hb_arrayClone( pSrcObject ); - hb_itemReturn( pDstObject ); - hb_itemRelease( pDstObject ); - } + hb_itemRelease( hb_itemReturn( hb_arrayClone( pSrcObject ) ) ); else hb_errRT_BASE( EG_ARG, 3001, NULL, "__OBJCLONE" ); } @@ -1726,8 +1719,8 @@ HB_FUNC( __CLASSSEL ) } } } - hb_itemReturn( pReturn ); - hb_itemRelease( pReturn ); + + hb_itemRelease( hb_itemReturn( pReturn ) ); } /* to be used from Classes ERROR HANDLER method */ @@ -1769,8 +1762,7 @@ HB_FUNC( __CLS_PARAM ) hb_itemRelease( iTmp ); } - hb_itemReturn( array ); - hb_itemRelease( array ); + hb_itemRelease( hb_itemReturn( array ) ); } @@ -1837,10 +1829,7 @@ HB_FUNC( __EVAL ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_NOMETHOD, 1004, NULL, "EVAL" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } hb_itemRelease( pObject ); @@ -1962,8 +1951,7 @@ static HARBOUR hb___msgClsSel( void ) } } - hb_itemReturn( pReturn ); - hb_itemRelease( pReturn ); + hb_itemRelease( hb_itemReturn( pReturn ) ); } @@ -2013,10 +2001,7 @@ static HARBOUR hb___msgEval( void ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_NOMETHOD, 1004, NULL, "EVAL" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/vm/debug.c b/harbour/source/vm/debug.c index 2a7cd10e23..409efaa889 100644 --- a/harbour/source/vm/debug.c +++ b/harbour/source/vm/debug.c @@ -100,8 +100,7 @@ HB_FUNC( __VMSTKGLIST ) for( pItem = hb_stack.pItems; pItem <= hb_stack.pPos; pItem++ ) AddToArray( pItem, pReturn, uiPos++ ); - hb_itemReturn( pReturn ); - hb_itemRelease( pReturn ); + hb_itemRelease( hb_itemReturn( pReturn ) ); } /* $Doc$ @@ -148,10 +147,11 @@ HB_FUNC( __VMSTKLLIST ) USHORT uiPos = 1; pReturn = hb_itemArrayNew( uiLen ); /* Create a transfer array */ + for( pItem = pBase; pItem < hb_stack.pBase; pItem++ ) AddToArray( pItem, pReturn, uiPos++ ); - hb_itemReturn( pReturn ); - hb_itemRelease( pReturn ); + + hb_itemRelease( hb_itemReturn( pReturn ) ); } /* $Doc$ @@ -175,8 +175,7 @@ HB_FUNC( __VMPARLLIST ) for( pItem = pBase + 2; uiLen--; pItem++ ) AddToArray( pItem, pReturn, uiPos++ ); - hb_itemReturn( pReturn ); - hb_itemRelease( pReturn ); + hb_itemRelease( hb_itemReturn( pReturn ) ); } HB_FUNC( __VMVARLGET ) diff --git a/harbour/source/vm/eval.c b/harbour/source/vm/eval.c index 1a80fef7fe..5e789342e6 100644 --- a/harbour/source/vm/eval.c +++ b/harbour/source/vm/eval.c @@ -62,10 +62,7 @@ HB_FUNC( EVAL ) PHB_ITEM pResult = hb_errRT_BASE_Subst( EG_NOMETHOD, 1004, NULL, "EVAL" ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } diff --git a/harbour/source/vm/hvm.c b/harbour/source/vm/hvm.c index 89754bd781..7b77a8671d 100644 --- a/harbour/source/vm/hvm.c +++ b/harbour/source/vm/hvm.c @@ -2790,10 +2790,7 @@ void hb_vmDo( USHORT uiParams ) pResult = hb_errRT_BASE_Subst( EG_NOMETHOD, 1004, NULL, pSym->szName ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } else /* it is a function */ @@ -2888,10 +2885,7 @@ void hb_vmSend( USHORT uiParams ) pResult = hb_errRT_BASE_Subst( EG_NOMETHOD, 1004, NULL, pSym->szName ); if( pResult ) - { - hb_itemReturn( pResult ); - hb_itemRelease( pResult ); - } + hb_itemRelease( hb_itemReturn( pResult ) ); } } else /* it is a function */ diff --git a/harbour/source/vm/memvars.c b/harbour/source/vm/memvars.c index 74b95966a3..ed4423d574 100644 --- a/harbour/source/vm/memvars.c +++ b/harbour/source/vm/memvars.c @@ -1074,9 +1074,7 @@ HB_FUNC( __MVDBGINFO ) } else { - pValue = hb_itemNew( NULL ); - hb_itemReturn( pValue ); /* return NIL value */ - hb_itemRelease( pValue ); + hb_itemRelease( hb_itemReturn( hb_itemNew( NULL ) ) ); /* return NIL value */ if( iCount >= 3 && ISBYREF( 3 ) ) { @@ -1102,8 +1100,7 @@ HB_FUNC( __MVGET ) { HB_ITEM retValue; hb_memvarGetValue( &retValue, pDynVar->pSymbol ); - hb_itemReturn( &retValue ); - hb_itemClear( &retValue ); + hb_itemClear( hb_itemReturn( &retValue ) ); } else { @@ -1126,8 +1123,7 @@ HB_FUNC( __MVGET ) { HB_ITEM retValue; hb_memvarGetValue( &retValue, pDynVar->pSymbol ); - hb_itemReturn( &retValue ); - hb_itemClear( &retValue ); + hb_itemClear( hb_itemReturn( &retValue ) ); uiAction = E_DEFAULT; } } @@ -1147,10 +1143,7 @@ HB_FUNC( __MVGET ) HB_ITEM_PTR pRetValue = hb_errRT_BASE_Subst( EG_ARG, 3009, NULL, NULL ); if( pRetValue ) - { - hb_itemReturn( pRetValue ); - hb_itemRelease( pRetValue ); - } + hb_itemRelease( hb_itemReturn( pRetValue ) ); } } diff --git a/harbour/source/vm/runner.c b/harbour/source/vm/runner.c index a6ae1ecb6a..4c00deb043 100644 --- a/harbour/source/vm/runner.c +++ b/harbour/source/vm/runner.c @@ -295,11 +295,8 @@ HB_FUNC( __HRBRUN ) } } - if ( pRetVal ) - { - hb_itemReturn( pRetVal ); - hb_itemRelease( pRetVal ); - } + if( pRetVal ) + hb_itemRelease( hb_itemReturn( pRetVal ) ); } for( ul = 0; ul < ulFuncs; ul++ )