cloud9_root/src/third_party/stp/src/parser/lexsmt2.cpp
/* Allocates the stack if it does not exist.
 *  Guarantees space for at least one push.
 */
Allocates the stack if it does not exist.
Guarantees space for at least one push.
Allocates the stack if it does not exist . Guarantees space for at least one push .
static void smt2ensure_buffer_stack (void)
{
	int num_to_alloc;
	if (!(yy_buffer_stack)) {
		num_to_alloc = 1;
		(yy_buffer_stack) = (struct yy_buffer_state**)smt2alloc
								(num_to_alloc * sizeof(struct yy_buffer_state*)
								);
		if ( ! (yy_buffer_stack) )
			YY_FATAL_ERROR( "out of dynamic memory in smt2ensure_buffer_stack()" );
		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
		(yy_buffer_stack_max) = num_to_alloc;
		(yy_buffer_stack_top) = 0;
		return;
	}
	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
		int grow_size = 8 ;
		num_to_alloc = (yy_buffer_stack_max) + grow_size;
		(yy_buffer_stack) = (struct yy_buffer_state**)smt2realloc
								((yy_buffer_stack),
								num_to_alloc * sizeof(struct yy_buffer_state*)
								);
		if ( ! (yy_buffer_stack) )
			YY_FATAL_ERROR( "out of dynamic memory in smt2ensure_buffer_stack()" );
		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
		(yy_buffer_stack_max) = num_to_alloc;
	}
}
static void smt2ensure_buffer_stack ( void ) { int num_to_alloc ; if ( ! ( yy_buffer_stack ) ) { num_to_alloc = 1 ; ( yy_buffer_stack ) = ( struct yy_buffer_state * * ) smt2alloc ( num_to_alloc * sizeof ( struct yy_buffer_state * ) ) ; if ( ! ( yy_buffer_stack ) ) YY_FATAL_ERROR ( " " ) ; memset ( ( yy_buffer_stack ) , 0 , num_to_alloc * sizeof ( struct yy_buffer_state * ) ) ; ( yy_buffer_stack_max ) = num_to_alloc ; ( yy_buffer_stack_top ) = 0 ; return ; } if ( ( yy_buffer_stack_top ) >= ( ( yy_buffer_stack_max ) ) - 1 ) { int grow_size = 8 ; num_to_alloc = ( yy_buffer_stack_max ) + grow_size ; ( yy_buffer_stack ) = ( struct yy_buffer_state * * ) smt2realloc ( ( yy_buffer_stack ) , num_to_alloc * sizeof ( struct yy_buffer_state * ) ) ; if ( ! ( yy_buffer_stack ) ) YY_FATAL_ERROR ( " " ) ; memset ( ( yy_buffer_stack ) + ( yy_buffer_stack_max ) , 0 , grow_size * sizeof ( struct yy_buffer_state * ) ) ; ( yy_buffer_stack_max ) = num_to_alloc ; } }
Allocates the stack if it does not exist.
Allocates the stack if it does not exist .
/* First allocation is just for 2 elements, since we don't know if this
		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
		 * immediate realloc on the next call.
         */ /* Increase the buffer to prepare for a possible push. */ /* arbitrary grow size */ /* zero only the new slots.*/