add: break;
context: gerbv_draw_amacro(GdkPixmap *pixmap, GdkGC *gc,		  instruction_t *program, unsigned int nuf_push,		  double *parameters, int scale, gint x, gint y){    stack_t *s = new_stack(nuf_push);    instruction_t *ip;    int handled = 1;    for(ip = program; ip != NULL; ip = ip->next) {	switch(ip->opcode) {	case NOP:	    break;	case PUSH :	    push(s, ip->data.fval);	    break;        case PPUSH :	    push(s, parameters[ip->data.ival - 1]);	    break;	case ADD :	    push(s, pop(s) + pop(s));	    break;	case SUB :	    push(s, -pop(s) + pop(s));	    break;	case MUL :	    push(s, pop(s) * pop(s));	    break;	case DIV :	    push(s, 1 / ((pop(s) / pop(s))));	    break;	case PRIM :	    switch(ip->data.ival) {	    case 1:		gerbv_draw_prim1(pixmap, gc, s, scale, x, y);		break;	    case 4 :		gerbv_draw_prim4(pixmap, gc, s, scale, x, y);		break;	    case 5 :		gerbv_draw_prim5(pixmap, gc, s, scale, x, y);		break;	    case 6 :		gerbv_draw_prim6(pixmap, gc, s, scale, x, y);		break;	    case 7 :		gerbv_draw_prim7(pixmap, gc, s, scale, x, y);		break;	    case 2  :	    case 20 :		gerbv_draw_prim20(pixmap, gc, s, scale, x, y);		break;	    case 21 :		gerbv_draw_prim21(pixmap, gc, s, scale, x, y);		break;	    case 22 :		gerbv_draw_prim22(pixmap, gc, s, scale, x, y);		break;	    default :		handled = 0;	    }	    /* 	     * Here we reset the stack pointer. It's not general correct	     * correct to do this, but since I know how the compiler works	     * I can do this. The correct way to do this should be to 	     * subtract number of used elements in each primitive operation.	     */	    s->sp = 0;	    break;	default :	}    }    free_stack(s);    return handled;} /* gerbv_draw_amacro */