rem: GERB_COMPILE_ERROR("Strange/unhandled G code : %c%c\n", op[0], op[1]);
add: GERB_COMPILE_ERROR("Strange/unhandled G code : %d\n", op_int);
context: parse_G_code(gerb_file_t *fd, gerb_state_t *state, gerb_format_t *format){    int op[2];    int op_int;        op[0] = gerb_fgetc(fd);    op[1] = gerb_fgetc(fd);        if ((op[0] == EOF) || (op[1] == EOF))	GERB_COMPILE_ERROR("Unexpected EOF found.\n");    if ((op[0] < (int)'0') || (op[0] > (int)'9') || 	(op[1] < (int)'0') || (op[1] > (int)'9'))	GERB_COMPILE_ERROR("Non numerical G opcode found [%c%c]\n", op[0], op[1]);    op_int = (op[0] - (int)'0');    op_int = op_int * 10 + (op[1] - (int)'0');    switch(op_int) {    case 0:  /* Move */	/* Is this doing anything really? */	break;    case 1:  /* Linear Interpolation (1X scale) */	state->interpolation = LINEARx1;	break;    case 2:  /* Clockwise Linear Interpolation */	state->interpolation = CW_CIRCULAR;	break;    case 3:  /* Counter Clockwise Linear Interpolation */	state->interpolation = CCW_CIRCULAR;	break;    case 4:  /* Ignore Data Block */	/* Don't do anything, just read 'til * */	while (gerb_fgetc(fd) != '*');	break;    case 10: /* Linear Interpolation (10X scale) */	state->interpolation = LINEARx10;	break;    case 11: /* Linear Interpolation (0.1X scale) */	state->interpolation = LINEARx01;	break;    case 12: /* Linear Interpolation (0.01X scale) */	state->interpolation = LINEARx001;	break;    case 36: /* Turn on Polygon Area Fill */	state->prev_interpolation = state->interpolation;	state->interpolation = PAREA_START;	state->changed = 1;	break;    case 37: /* Turn off Polygon Area Fill */	state->interpolation = PAREA_END;	state->changed = 1;	break;    case 54: /* Tool prepare */	/* XXX Maybe uneccesary??? */	if (gerb_fgetc(fd) == 'D')	    state->curr_aperture = gerb_fgetint(fd);	else	    GERB_COMPILE_WARNING("Strange code after G54\n");	break;    case 55: /* Prepare for flash */	break;    case 70: /* Specify inches */	state->unit = INCH;	break;    case 71: /* Specify millimeters */	state->unit = MM;	break;    case 74: /* Disable 360 circular interpolation */	state->prev_interpolation = state->interpolation;	state->interpolation = MQ_END;	state->mq_on = 0;	break;    case 75: /* Enable 360 circular interpolation */	state->prev_interpolation = state->interpolation;	state->interpolation = MQ_START;	state->mq_on = 1;	break;    case 90: /* Specify absolut format */	if (format) format->coordinate = ABSOLUTE;	break;    case 91: /* Specify incremental format */	if (format) format->coordinate = INCREMENTAL;	break;    default:	GERB_COMPILE_ERROR("Strange/unhandled G code : %c%c\n", op[0], op[1]);    }        return;} /* parse_G_code */