bool mystack::push(const data_type &_data)// push data { if( !is_stack_full() || stack_realloc() ){ *top = _data; top++; return true; }else{ return false; } }
void pushArgumentStack__LD(Word p ARG_LD) { Word *newbase; size_t newsize = nextStackSize((Stack)&LD->stacks.argument, 1); if ( newsize && (newbase = stack_realloc(aBase, newsize)) ) { intptr_t as = newbase - aBase; if ( as ) { QueryFrame qf; aTop += as; aBase = newbase; for(qf=LD->query; qf; qf = qf->parent) qf->aSave += as; } aMax = addPointer(newbase, newsize); *aTop++ = p; } else outOfStack((Stack)&LD->stacks.argument, STACK_OVERFLOW_THROW); }