2001-07-18 09:06 GMT+2 Maurilio Longo <maurilio.longo@libero.it>
* source/rtl/tbrowse.prg
+ activated scoping
* include/hbapierr.h
include/hbapiitm.h
include/hbvm.h
source/rtl/errorapi.c
source/vm/hvm.c
source/vm/itemapi.c
! fixed va_start() use or, better, changed it to be compatible with OS/2 EMX GCC
compiler which REQUIRES that va_start() calls use a type which cannot be promoted
to something bigger. That is, this call is correct:
va_start(valist, ulUnsignedLongType)
while this one is not:
va_start(valist, usUnsignedShortType)
Using a type which can be promoted to a bigger one leads to memory corruption.
I think this requirement could exist even on other ANSI C compilers.
! Removed workaround inside hb_itemDo() and hb_itemDoC() to prevent this corruption.
This commit is contained in:
@@ -72,8 +72,8 @@ extern BOOL hb_evalNew ( PEVALINFO pEvalInfo, PHB_ITEM pItem );
|
||||
extern BOOL hb_evalPutParam ( PEVALINFO pEvalInfo, PHB_ITEM pItem );
|
||||
extern BOOL hb_evalRelease ( PEVALINFO pEvalInfo );
|
||||
|
||||
extern PHB_ITEM hb_itemDo ( PHB_ITEM pItem, USHORT uiPCount, PHB_ITEM pItemArg1, ... );
|
||||
extern PHB_ITEM hb_itemDoC ( char * szFunc, USHORT uiPCount, PHB_ITEM pItemArg1, ... );
|
||||
extern PHB_ITEM hb_itemDo ( PHB_ITEM pItem, ULONG ulPCount, ... );
|
||||
extern PHB_ITEM hb_itemDoC ( char * szFunc, ULONG ulPCount, ... );
|
||||
|
||||
extern PHB_ITEM hb_itemArrayGet ( PHB_ITEM pArray, ULONG ulIndex );
|
||||
extern PHB_ITEM hb_itemArrayNew ( ULONG ulLen );
|
||||
|
||||
Reference in New Issue
Block a user