__code pop2SingleLinkedStack(struct SingleLinkedStack* stack, __code next(union Data* data, union Data* data1, ...)) { if (stack->top) { data = stack->top->data; stack->top = stack->top->next; } else { data = NULL; } if (stack->top) { data1 = stack->top->data; stack->top = stack->top->next; } else { data1 = NULL; } goto next(data, data1, ...); }