diff --git a/ChangeLog.txt b/ChangeLog.txt index dc67e23caf..ace050f753 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -10,6 +10,21 @@ * Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment */ +2013-07-08 12:54 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) + * contrib/hbct/ctwfunc.c + ! extract box frame string passed to WBOX() using BOX CP + + * src/vm/procaddr.c + ! added hb_extIsNil() to hb_vmProcAddress() - it fixes PCODE DLLs + using [HB_]ISNIL() macro and linked with hbmaindllp library or + other wrapper using hb_vmProcAddress() + + * src/vm/codebloc.c + - removed old comment which was never true in real HVM MT model + + * ChangeLog.txt + ! typo: tanks -> thanks ;) + 2013-07-05 20:02 UTC+0400 Phil Krylov (phil a t newstar.rinet.ru) * src/debug/debugger.prg % Don't save debugger window positions if user did not change them as the @@ -52,7 +67,7 @@ 2013-07-05 00:39 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * src/debug/dbgentry.c ! fixed line number setting in debugged coeblocks. - Tanks to Teo for detail information about the problem. + Thanks to Teo for detail information about the problem. 2013-07-04 18:09 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * src/debug/dbgtwin.prg diff --git a/contrib/hbct/ctwfunc.c b/contrib/hbct/ctwfunc.c index 9e58344b5b..c271d73206 100644 --- a/contrib/hbct/ctwfunc.c +++ b/contrib/hbct/ctwfunc.c @@ -220,14 +220,19 @@ HB_FUNC( WBOX ) HB_B_FULL_W }; /* 15 WB_FULL */ - HB_WCHAR szBoxBuf[ 10 ]; - PHB_ITEM pBoxFrame = hb_param( 1, HB_IT_STRING ); + HB_WCHAR szBoxBuf[ 10 ], wc; + const char * pszBoxFrame = hb_parc( 1 ); int iColor; - if( pBoxFrame ) + if( pszBoxFrame ) { - hb_itemCopyStrU16( pBoxFrame, HB_CDP_ENDIAN_NATIVE, szBoxBuf, HB_SIZEOFARRAY( szBoxBuf ) ); - szBoxBuf[ HB_SIZEOFARRAY( szBoxBuf ) - 1 ] = 0; + HB_SIZE nLen = hb_parclen( 1 ), nIndex = 0, nSize = 0; + PHB_CODEPAGE cdp = hb_gtBoxCP(); + + while( nSize < HB_SIZEOFARRAY( szBoxBuf ) - 1 && + HB_CDPCHAR_GET( cdp, pszBoxFrame, nLen, &nIndex, &wc ) ) + szBoxBuf[ nSize++ ] = wc; + szBoxBuf[ nSize ] = 0; } else { diff --git a/src/vm/codebloc.c b/src/vm/codebloc.c index 0dfa332469..454db7ac93 100644 --- a/src/vm/codebloc.c +++ b/src/vm/codebloc.c @@ -196,8 +196,6 @@ PHB_CODEBLOCK hb_codeblockNew( const HB_BYTE * pBuffer, { /* Swap the current value of local variable with the reference to this * value. - * TODO: If Harbour will support threads in the future then we need - * to implement some kind of semaphores here. */ int iLocal = HB_PCODE_MKUSHORT( pLocalPosTable ); pLocal = hb_stackLocalVariable( iLocal ); diff --git a/src/vm/procaddr.c b/src/vm/procaddr.c index e441958937..5efa42ecc9 100644 --- a/src/vm/procaddr.c +++ b/src/vm/procaddr.c @@ -72,6 +72,7 @@ PHB_FUNC hb_vmProcAddress( const char * szFuncName ) { "hb_arraySet", ( PHB_FUNC ) hb_arraySet }, { "hb_arraySize", ( PHB_FUNC ) hb_arraySize }, { "hb_extIsArray", ( PHB_FUNC ) hb_extIsArray }, + { "hb_extIsNil", ( PHB_FUNC ) hb_extIsNil }, { "hb_param", ( PHB_FUNC ) hb_param }, { "hb_paramError", ( PHB_FUNC ) hb_paramError }, { "hb_parinfa", ( PHB_FUNC ) hb_parinfa },