#7 Better conform to C89
diff --git a/Include/tesselator.h b/Include/tesselator.h
index 1cc4166..6e51e32 100755
--- a/Include/tesselator.h
+++ b/Include/tesselator.h
@@ -116,7 +116,7 @@
TESS_POLYGONS,
TESS_CONNECTED_POLYGONS,
TESS_BOUNDARY_CONTOURS,
- TESS_CONSTRAINED_DELAUNAY_TRIANGLES,
+ TESS_CONSTRAINED_DELAUNAY_TRIANGLES
};
typedef float TESSreal;
diff --git a/Source/geom.c b/Source/geom.c
index 84d9ca8..00b307a 100755
--- a/Source/geom.c
+++ b/Source/geom.c
@@ -266,10 +266,16 @@
*/
TESSreal calcAngle( TESSvertex *v0, TESSvertex *v1, TESSvertex *v2 )
{
- TESSreal a[2] = { v2->s - v1->s, v2->t - v1->t };
- TESSreal b[2] = { v0->s - v1->s, v0->t - v1->t };
- TESSreal num = a[0] * b[0] + a[1] * b[1];
- TESSreal den = sqrt( a[0] * a[0] + a[1] * a[1] ) * sqrt( b[0] * b[0] + b[1] * b[1] );
+ TESSreal num;
+ TESSreal den;
+ TESSreal a[2];
+ TESSreal b[2];
+ a[0] = v2->s - v1->s;
+ a[1] = v2->t - v1->t;
+ b[0] = v0->s - v1->s;
+ b[1] = v0->t - v1->t;
+ num = a[0] * b[0] + a[1] * b[1];
+ den = sqrt( a[0] * a[0] + a[1] * a[1] ) * sqrt( b[0] * b[0] + b[1] * b[1] );
if ( den > 0.0 ) num /= den;
if ( num < -1.0 ) num = -1.0;
if ( num > 1.0 ) num = 1.0;
diff --git a/Source/mesh.c b/Source/mesh.c
index 20c52ff..15ce620 100755
--- a/Source/mesh.c
+++ b/Source/mesh.c
@@ -752,16 +752,12 @@
void tessMeshFlipEdge( TESSmesh *mesh, TESShalfEdge *edge )
{
- assert(EdgeIsInternal(edge));
-
TESShalfEdge *a0 = edge;
TESShalfEdge *a1 = a0->Lnext;
TESShalfEdge *a2 = a1->Lnext;
- assert(a2->Lnext == a0);
TESShalfEdge *b0 = edge->Sym;
TESShalfEdge *b1 = b0->Lnext;
TESShalfEdge *b2 = b1->Lnext;
- assert(b2->Lnext == b0);
TESSvertex *aOrg = a0->Org;
TESSvertex *aOpp = a2->Org;
@@ -771,6 +767,10 @@
TESSface *fa = a0->Lface;
TESSface *fb = b0->Lface;
+ assert(EdgeIsInternal(edge));
+ assert(a2->Lnext == a0);
+ assert(b2->Lnext == b0);
+
a0->Org = bOpp;
a0->Onext = b1->Sym;
b0->Org = aOpp;
diff --git a/Source/tess.c b/Source/tess.c
index fa1639c..5699b18 100755
--- a/Source/tess.c
+++ b/Source/tess.c
@@ -452,9 +452,9 @@
*/
TESSface *f;
EdgeStack stack;
- stackInit(&stack, alloc);
TESShalfEdge *e;
TESShalfEdge *edges[4];
+ stackInit(&stack, alloc);
for( f = mesh->fHead.next; f != &mesh->fHead; f = f->next ) {
if ( f->inside) {
e = f->anEdge;
@@ -473,13 +473,14 @@
e = stackPop(&stack);
e->mark = e->Sym->mark = 0;
if (!tesedgeIsLocallyDelaunay(e)) {
+ int i;
tessMeshFlipEdge(mesh, e);
// for each opposite edge
edges[0] = e->Lnext;
edges[1] = e->Lprev;
edges[2] = e->Sym->Lnext;
edges[3] = e->Sym->Lprev;
- for (int i=0;i<3;i++) {
+ for (i=0;i<3;i++) {
if (!edges[i]->mark && EdgeIsInternal(edges[i])) {
edges[i]->mark = edges[i]->Sym->mark = 1;
stackPush(&stack, edges[i]);