rem: crosshair[1].y = crosshair[0].x; crosshair[2].x = -crosshair[0].x; crosshair[1].y = -crosshair[1].y;
add: crosshair[1].x = -crosshair[0].x;   crosshair[2].y = crosshair[0].x;  crosshair[3].y = -crosshair[0].x;
context: gerbv_draw_prim6(GdkPixmap *pixmap, GdkGC *gc, stack_t *s, int scale,		 gint x, gint y){    const int outside_dia_idx = 2;    const int ci_thickness_idx = 3;    const int gap_idx = 4;    const int nuf_circles_idx = 5;    const int ch_thickness_idx = 6;    const int ch_length_idx = 7;    const int rotation_idx = 8;    GdkGC *local_gc = gdk_gc_new(pixmap);    int real_dia;    int real_gap;    int circle;    GdkPoint crosshair[4];    int point;    gdk_gc_copy(local_gc, gc);    gdk_gc_set_line_attributes(local_gc, 			       (int)round(scale * s->stack[ci_thickness_idx]),			       GDK_LINE_SOLID, 			       GDK_CAP_BUTT, 			       GDK_JOIN_MITER);    real_dia = (int)round((s->stack[outside_dia_idx] -			  s->stack[ci_thickness_idx] / 2.0) * scale);    real_gap = (int)round((s->stack[gap_idx] + s->stack[ci_thickness_idx]) *			  scale);    for (circle = (int)s->stack[nuf_circles_idx]; circle != 0; circle--) {	/* 	 * Non filled circle 	 */	gerbv_draw_circle(pixmap, local_gc, 0, x, y,			  (real_dia - real_gap * circle) * scale);    }    /*     * Cross Hair      */    memset(crosshair, 0, sizeof(GdkPoint) * 4);    crosshair[0].x = (int)((s->stack[ch_length_idx] / 2.0) * scale);    crosshair[1].y = crosshair[0].x;    crosshair[2].x = -crosshair[0].x;    crosshair[1].y = -crosshair[1].y;    gdk_gc_set_line_attributes(local_gc, 			       (int)round(scale * s->stack[ch_thickness_idx]),			       GDK_LINE_SOLID, 			       GDK_CAP_BUTT, 			       GDK_JOIN_MITER);    for (point = 0; point < 4; point++) {	crosshair[point] = rotate_point(crosshair[point], 					s->stack[rotation_idx]);	crosshair[point].x += x;	crosshair[point].y += y;    }	    gdk_gc_unref(local_gc);    return;} /* gerbv_draw_prim6 */