cextern/cfitsio/lib/eval_l.c
/** Pushes the new state onto the stack. The new state becomes
 *  the current state. This function will allocate the stack
 *  if necessary.
 *  @param new_buffer The new state.
 *  
 */
Pushes the new state onto the stack. The new state becomes
the current state. This function will allocate the stack
if necessary.
@param new_buffer The new state.
Pushes the new state onto the stack . The new state becomes the current state . This function will allocate the stack if necessary . @param new_buffer The new state .
void ffpush_buffer_state (FF_BUFFER_STATE new_buffer )
{
    	if (new_buffer == NULL)
		return;
	ffensure_buffer_stack();
	if ( FF_CURRENT_BUFFER )
		{
		*(ff_c_buf_p) = (ff_hold_char);
		FF_CURRENT_BUFFER_LVALUE->ff_buf_pos = (ff_c_buf_p);
		FF_CURRENT_BUFFER_LVALUE->ff_n_chars = (ff_n_chars);
		}
	if (FF_CURRENT_BUFFER)
		(ff_buffer_stack_top)++;
	FF_CURRENT_BUFFER_LVALUE = new_buffer;
	ff_load_buffer_state( );
	(ff_did_buffer_switch_on_eof) = 1;
}
void ffpush_buffer_state ( FF_BUFFER_STATE new_buffer ) { if ( new_buffer == NULL ) return ; ffensure_buffer_stack ( ) ; if ( FF_CURRENT_BUFFER ) { * ( ff_c_buf_p ) = ( ff_hold_char ) ; FF_CURRENT_BUFFER_LVALUE -> ff_buf_pos = ( ff_c_buf_p ) ; FF_CURRENT_BUFFER_LVALUE -> ff_n_chars = ( ff_n_chars ) ; } if ( FF_CURRENT_BUFFER ) ( ff_buffer_stack_top ) ++ ; FF_CURRENT_BUFFER_LVALUE = new_buffer ; ff_load_buffer_state ( ) ; ( ff_did_buffer_switch_on_eof ) = 1 ; }
Pushes the new state onto the stack.
Pushes the new state onto the stack .
/* This block is copied from ff_switch_to_buffer. */ /* Flush out information for old buffer. */ /* Only push if top exists. Otherwise, replace top. */ /* copied from ff_switch_to_buffer. */