Index: polygon.c =================================================================== --- polygon.c (revision 28425) +++ polygon.c (revision 28426) @@ -248,7 +248,7 @@ return NULL; } else { - pcb_poly_vertex_include(contour->head.prev, pcb_poly_node_create(v)); + pcb_poly_vertex_include(contour->head->prev, pcb_poly_node_create(v)); } /* Is current point last in contour? If so process it. */ @@ -1605,9 +1605,9 @@ if (!newone) return pcb_false; many = pcb_true; - v = &p->contours->head; + v = p->contours->head; pcb_poly_point_new(newone, v->point[0], v->point[1]); - for (v = v->next; v != &p->contours->head; v = v->next) + for (v = v->next; v != p->contours->head; v = v->next) pcb_poly_point_new(newone, v->point[0], v->point[1]); newone->BoundingBox.X1 = p->contours->xmin; newone->BoundingBox.X2 = p->contours->xmax + 1; @@ -1638,11 +1638,11 @@ { pcb_vnode_t *v; pcb_fprintf(stderr, "\txmin %#mS xmax %#mS ymin %#mS ymax %#mS\n", pl->xmin, pl->xmax, pl->ymin, pl->ymax); - v = &pl->head; + v = pl->head; while (v) { pcb_fprintf(stderr, "\t\tvnode: %#mD\n", v->point[0], v->point[1]); v = v->next; - if (v == &pl->head) + if (v == pl->head) break; } } @@ -1705,11 +1705,11 @@ pcb_poly_hole_new(Polygon); outer = pcb_false; - node = &pline->head; + node = pline->head; do { pcb_poly_point_new(Polygon, node->point[0], node->point[1]); } - while ((node = node->next) != &pline->head); + while ((node = node->next) != pline->head); } while ((pline = pline->next) != NULL); @@ -1735,7 +1735,7 @@ pcb_coord_t x[4], y[4]; pcb_vnode_t *v; - v = pl->head.next; + v = pl->head->next; n = 0; do { x[n] = v->point[0]; @@ -1742,7 +1742,7 @@ y[n] = v->point[1]; n++; v = v->next; - } while((n < 4) && (v != pl->head.next)); + } while((n < 4) && (v != pl->head->next)); if (n != 4) return pcb_false;