Example #1
0
void jmp_back(void)
{
/* we need clean up the return address in stack.
 */
    DESTROY_STACK();
    JMP_ADDR(back_address + 12);
}
Example #2
0
File: calc.c Project: Rynax/calc
int main(int c, char **v) {
    int ret = 0;
    double result = 0.0;

    if(c != 2) usage(-1);
    assert(v[1]);

    expression = v[1];
    stack = NEW_STACK(STACK_SIZE);

    ret = calculation(&result);
    if(ret) {
        printf("calculation failed, ret = %d\n", ret);
        DESTROY_STACK(stack);
        return ret;
    }

    printf("%lf\n",result);

    DESTROY_STACK(stack);
    return 0;
}
Example #3
0
int main(
	int argc,
	char **argv) {
	MANAGED_STACK(PandaNextSeq,
		next);
	PandaAssembler control_assembler;
	PandaAssembler experimental_assembler;
	PandaArgsFastq data = panda_args_fastq_new();
	bool result;
	bool suppress_quality_diffs;

	if (!panda_diff_parse_args(argv, argc, panda_stdargs, panda_stdargs_length, panda_args_fastq_args, panda_args_fastq_args_length, (PandaTweakGeneral) panda_args_fastq_tweak, (PandaOpener) panda_args_fastq_opener, (PandaSetup) panda_args_fastq_setup, data, &control_assembler, &experimental_assembler, &next, &next_data, &next_destroy, &suppress_quality_diffs)) {
		panda_args_fastq_free(data);
		DESTROY_STACK(next);
		return 1;
	}
	result = panda_diff(next, next_data, (PandaAssemble) panda_assembler_assemble, control_assembler, (PandaAssemble) panda_assembler_assemble, experimental_assembler, suppress_quality_diffs);
	DESTROY_STACK(next);
	panda_assembler_unref(control_assembler);
	panda_assembler_unref(experimental_assembler);
	panda_args_fastq_free(data);
	return result ? 0 : 1;
}