int main() { struct m_stack stack; int i = 0; int j = 0; assert(m_stack_init(&stack) == 0); for(i = 1; m_stack_push(&stack, i) == 0; i++) { } assert(i > 1); assert(m_stack_empty(&stack) == 0); printf("stack full %d \n", i); i -= 1; while((j = m_stack_pop(&stack)) != 0) { assert(j == i); i--; printf("j %d \n", j); } assert(i == 0); assert(m_stack_empty(&stack) == 1); m_stack_clean(&stack); return 0; }
int pdf_dev_push_gstate (void) { m_stack *gss = &gs_stack; pdf_gstate *gs0; gs0 = NEW(1, pdf_gstate); init_a_gstate(gs0); m_stack_push(gss, gs0); return 0; }
void pdf_dev_init_gstates (void) { pdf_gstate *gs; m_stack_init(&gs_stack); gs = NEW(1, pdf_gstate); init_a_gstate(gs); m_stack_push(&gs_stack, gs); /* Initial state */ return; }
int pdf_dev_gsave (void) { pdf_gstate *gs0, *gs1; gs0 = m_stack_top(&gs_stack); gs1 = NEW(1, pdf_gstate); init_a_gstate(gs1); copy_a_gstate(gs1, gs0); m_stack_push(&gs_stack, gs1); pdf_doc_add_page_content(" q", 2); /* op: q */ return 0; }