*****************************************************************************
*/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <math.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
-#include <math.h>
#include <stdlib.h>
#include <errno.h>
-#include "config.h"
#include "polyhedra.h"
extern const char *progname;
} while(0)
#define Malloc(lvalue,n,type) do {\
- if (!(lvalue = (type*) malloc((n) * sizeof(type)))) \
+ if (!(lvalue = (type*) calloc((n), sizeof(type)))) \
Err("out of memory");\
} while(0)
static Fraction frax;
-static struct {
+static const struct {
char *Wythoff, *name, *dual, *group, *class, *dual_class;
short Coxeter, Wenninger;
} uniform[] = {
static void
frac(double x)
{
- static Fraction zero = {0,1}, inf = {1,0};
+ static const Fraction zero = {0,1}, inf = {1,0};
Fraction r0, r;
long f;
double s = x;
return dihedral(P, "Dihedron", "Hosohedron");
}
} else {/* other nontabulated */
- static char *pre[] = {"Tetr", "Oct", "Icos"};
+ static const char *pre[] = {"Tetr", "Oct", "Icos"};
Malloc(P->name, 50, char);
Malloc(P->dual_name, 50, char);
sprintf(P->name, "%sahedral ", pre[P->K - 3]);
int j;
for (j = 0; j < P->M; j++) {
int i0, J;
- int pap;/* papillon edge type */
+ int pap=0;/* papillon edge type */
if (P->incid[j][i] != -1)
continue;
P->incid[j][i] = newF;
scale(sin(angle), cross(axis, vertex)));
}
-Vector x, y, z;
+static Vector x, y, z;
/*
* rotate the standard frame
static void
rotframe(double azimuth, double elevation, double angle)
{
- static Vector X = {1,0,0}, Y = {0,1,0}, Z = {0,0,1};
+ static const Vector X = {1,0,0}, Y = {0,1,0}, Z = {0,0,1};
Vector axis;
axis = rotate(rotate (X, Y, elevation), Z, azimuth);
char *name, char *dual, char *class, char *star,
double azimuth, double elevation, double freeze)
{
- int i, j, k, l, ll, ii, *hit, facelets;
+ int i, j, k=0, l, ll, ii, *hit=0, facelets;
polyhedron *result;
Vector *temp;
int count = 0;
polyhedron **result;
- Malloc (result, last_uniform * 2 + 1, polyhedron*);
+ Malloc (result, last_uniform * 2 + 3, polyhedron*);
while (index < last_uniform) {
- static char sym[4];
+ char sym[4];
Polyhedron *P;
sprintf(sym, "#%d", index + 1);
}
*polyhedra_ret = result;
+ count++; /* leave room for teapot */
return count;
}