#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]);