Ejemplo n.º 1
0
static void hb_stack_init( PHB_STACK pStack )
{
   HB_ISIZ n;

   HB_TRACE( HB_TR_DEBUG, ( "hb_stack_init(%p)", pStack ) );

   memset( pStack, 0, sizeof( HB_STACK ) );

   pStack->pItems = ( PHB_ITEM * ) hb_xgrab( sizeof( PHB_ITEM ) * STACK_INITHB_ITEMS );
   pStack->pBase  = pStack->pItems;
   pStack->pPos   = pStack->pItems;       /* points to the first stack item */
   pStack->nItems = STACK_INITHB_ITEMS;
   pStack->pEnd   = pStack->pItems + pStack->nItems;

   for( n = 0; n < pStack->nItems; ++n )
   {
      pStack->pItems[ n ] = ( PHB_ITEM ) hb_xgrab( sizeof( HB_ITEM ) );
      pStack->pItems[ n ]->type = HB_IT_NIL;
   }

   pStack->pPos++;
   hb_itemPutSymbol( *pStack->pItems, &s_initSymbol );
   ( *pStack->pItems )->item.asSymbol.stackstate = &pStack->state;

   pStack->rdd.uiCurrArea = 1;
   pStack->iKeyPoll = 1;
}
Ejemplo n.º 2
0
HB_BOOL
hbgi_hb_clsAddMsg(HB_USHORT uiClass, const char *szMessage, HB_USHORT uiType, HB_USHORT uiScope, PHB_FUNC pFuncPtr, PHB_ITEM pInit)
{
   PHB_SYMB pExecSym = hb_symbolNew("");
   PHB_ITEM pFuncItem;

   pExecSym->value.pFunPtr = pFuncPtr;
   pFuncItem = hb_itemPutSymbol(NULL, pExecSym);
   hbgi_hb_clsAddMsgNative(uiClass, szMessage, uiType, uiScope, pFuncItem, pInit);
   hb_itemRelease(pFuncItem);
   return HB_TRUE;
}