diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 1bcfe87ab4..e4461ad153 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,19 @@ The license applies to all entries newer than 2009-04-28. */ +2012-06-06 19:17 UTC+0200 Viktor Szakats (harbour syenar.net) + * include/hbapi.h + - deleted unused old HB_BASEARRAY_PTR type. INCOMPATIBLE. + Same as PHB_BASEARRAY, use this instead. + + * include/hbtypes.h + * src/vm/maindllp/dllext.c + + added hb_macroTextValue() to hbmaindllp. + + ; TODO: rename all HB_ITEM_PTR to PHB_ITEM and delete former. + pls shout if there is any difference in usage between + these two. + 2012-06-06 16:02 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/make.hb * utils/hbmk2/hbmk2.es_PE.po diff --git a/harbour/include/hbapi.h b/harbour/include/hbapi.h index 3e67e0d72d..4be6d79026 100644 --- a/harbour/include/hbapi.h +++ b/harbour/include/hbapi.h @@ -427,7 +427,7 @@ typedef struct _HB_BASEARRAY HB_SIZE nAllocated; /* number of allocated items */ HB_USHORT uiClass; /* offset to the classes base if it is an object */ HB_USHORT uiPrevCls; /* for fixing after access super */ -} HB_BASEARRAY, * PHB_BASEARRAY, * HB_BASEARRAY_PTR; +} HB_BASEARRAY, * PHB_BASEARRAY; #ifndef _HB_HASH_INTERNAL_ /* internal structure for hashes */ diff --git a/harbour/include/hbtypes.h b/harbour/include/hbtypes.h index 7fe4895761..44fae21e4e 100644 --- a/harbour/include/hbtypes.h +++ b/harbour/include/hbtypes.h @@ -118,6 +118,8 @@ typedef void * ( * HB_XGRAB )( HB_SIZE nSize ); /* allocates typedef void ( * HB_XFREE )( void * pMem ); /* frees memory */ typedef void * ( * HB_XREALLOC )( void * pMem, HB_SIZE nSize ); /* reallocates memory */ +typedef void ( * HB_MACROTEXTVALUE )( HB_ITEM_PTR pItem ); + HB_EXTERN_END #endif /* HB_TYPES_H_ */ diff --git a/harbour/src/vm/maindllp/dllext.c b/harbour/src/vm/maindllp/dllext.c index 3e3842aa45..3a00b4ef97 100644 --- a/harbour/src/vm/maindllp/dllext.c +++ b/harbour/src/vm/maindllp/dllext.c @@ -1030,4 +1030,18 @@ void * hb_xrealloc( void * pMem, HB_SIZE nSize ) return s_xrealloc ? s_xrealloc( pMem, nSize ) : NULL; } +void hb_macroTextValue( HB_ITEM_PTR pItem ) +{ + static HB_MACROTEXTVALUE s_macroTextValue = NULL; + + if( !s_macroTextValue ) + { + s_macroTextValue = ( HB_MACROTEXTVALUE ) hb_dllGetProcAddress( "macroTextValue" ); + if( !s_macroTextValue ) + HB_DLL_MSG_NO_FUNC( "macroTextValue" ); + } + + return s_macroTextValue ? s_macroTextValue( pItem ) : NULL; +} + #endif /* HB_OS_WIN */