- /*
- * Clean up.
- */
- for (i = 0; i < n; i++)
- sfree(nd[i].points);
- sfree(nd);
- } else {
- assert(state->w == ai->w);
- assert(state->h == ai->h);
- vedge = ai->vedge;
- hedge = ai->hedge;
- edges_need_freeing = FALSE;
- }
+ vedge = snewn(state->w * state->h, unsigned char);
+ hedge = snewn(state->w * state->h, unsigned char);
+ memset(vedge, 0, state->w * state->h);
+ memset(hedge, 0, state->w * state->h);
+
+ rect_solver(state->w, state->h, n, nd, hedge, vedge, NULL);
+
+ /*
+ * Clean up.
+ */
+ for (i = 0; i < n; i++)
+ sfree(nd[i].points);
+ sfree(nd);