예제 #1
0
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;
}
예제 #2
0
파일: pdfdraw.c 프로젝트: YandYTeX/ptex-ng
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;
}
예제 #3
0
파일: pdfdraw.c 프로젝트: YandYTeX/ptex-ng
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;
}
예제 #4
0
파일: pdfdraw.c 프로젝트: YandYTeX/ptex-ng
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;
}