Tweaks/fixes for building airports.
This commit is contained in:
parent
d44401402e
commit
43f544d7df
3 changed files with 43 additions and 33 deletions
|
@ -514,10 +514,6 @@ static void gen_runway_section( const FGRunway& rwy_info,
|
||||||
Point3D a2 = runway.get_pt(0, 0);
|
Point3D a2 = runway.get_pt(0, 0);
|
||||||
Point3D a3 = runway.get_pt(0, 3);
|
Point3D a3 = runway.get_pt(0, 3);
|
||||||
|
|
||||||
if ( endl_pct > 1.0 ) {
|
|
||||||
endl_pct = 1.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( startl_pct > 0.0 ) {
|
if ( startl_pct > 0.0 ) {
|
||||||
startl_pct -= nudge * FG_EPSILON;
|
startl_pct -= nudge * FG_EPSILON;
|
||||||
}
|
}
|
||||||
|
@ -525,6 +521,10 @@ static void gen_runway_section( const FGRunway& rwy_info,
|
||||||
endl_pct += nudge * FG_EPSILON;
|
endl_pct += nudge * FG_EPSILON;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( endl_pct > 1.0 ) {
|
||||||
|
endl_pct = 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
// partial "w" percentages could introduce "T" intersections which
|
// partial "w" percentages could introduce "T" intersections which
|
||||||
// we compensate for later, but could still cause problems now
|
// we compensate for later, but could still cause problems now
|
||||||
// with our polygon clipping code. This attempts to compensate
|
// with our polygon clipping code. This attempts to compensate
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
#include "array.hxx"
|
#include "array.hxx"
|
||||||
|
|
||||||
main(int argc, char **argv) {
|
int main( int argc, char **argv ) {
|
||||||
double lon, lat;
|
double lon, lat;
|
||||||
|
|
||||||
if ( argc != 2 ) {
|
if ( argc != 2 ) {
|
||||||
|
@ -30,4 +30,6 @@ main(int argc, char **argv) {
|
||||||
cout << " " << a.interpolate_altitude(lon, lat) << endl;
|
cout << " " << a.interpolate_altitude(lon, lat) << endl;
|
||||||
|
|
||||||
a.fit( 100 );
|
a.fit( 100 );
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -192,6 +192,14 @@
|
||||||
/* recommend double precision unless you want to generate a mesh for which */
|
/* recommend double precision unless you want to generate a mesh for which */
|
||||||
/* you do not have enough memory. */
|
/* you do not have enough memory. */
|
||||||
|
|
||||||
|
/* Added CLO 11/20/2000. Explanation: this code does a lot of
|
||||||
|
malloc()'ing of space and in some cases blindly expects the results
|
||||||
|
to be zero'd out, even though this isn't gauranteed by malloc().
|
||||||
|
So I (Curt Olson, curt@flightgear.org) have added some code here to
|
||||||
|
map all the malloc(x) calls to calloc( 1, x). */
|
||||||
|
#define MALLOC( x ) calloc( 1, x )
|
||||||
|
/* CLO end */
|
||||||
|
|
||||||
/* #define SINGLE */
|
/* #define SINGLE */
|
||||||
|
|
||||||
#ifdef SINGLE
|
#ifdef SINGLE
|
||||||
|
@ -3205,7 +3213,7 @@ int alignment;
|
||||||
/* Allocate a block of items. Space for `itemsperblock' items and one */
|
/* Allocate a block of items. Space for `itemsperblock' items and one */
|
||||||
/* pointer (to point to the next block) are allocated, as well as space */
|
/* pointer (to point to the next block) are allocated, as well as space */
|
||||||
/* to ensure alignment of the items. */
|
/* to ensure alignment of the items. */
|
||||||
pool->firstblock = (VOID **) malloc(pool->itemsperblock * pool->itembytes
|
pool->firstblock = (VOID **) MALLOC(pool->itemsperblock * pool->itembytes
|
||||||
+ sizeof(VOID *) + pool->alignbytes);
|
+ sizeof(VOID *) + pool->alignbytes);
|
||||||
if (pool->firstblock == (VOID **) NULL) {
|
if (pool->firstblock == (VOID **) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
|
@ -3290,7 +3298,7 @@ struct memorypool *pool;
|
||||||
/* Check if another block must be allocated. */
|
/* Check if another block must be allocated. */
|
||||||
if (*(pool->nowblock) == (VOID *) NULL) {
|
if (*(pool->nowblock) == (VOID *) NULL) {
|
||||||
/* Allocate a new block of items, pointed to by the previous block. */
|
/* Allocate a new block of items, pointed to by the previous block. */
|
||||||
newblock = (VOID **) malloc(pool->itemsperblock * pool->itembytes
|
newblock = (VOID **) MALLOC(pool->itemsperblock * pool->itembytes
|
||||||
+ sizeof(VOID *) + pool->alignbytes);
|
+ sizeof(VOID *) + pool->alignbytes);
|
||||||
if (newblock == (VOID **) NULL) {
|
if (newblock == (VOID **) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
|
@ -3459,7 +3467,7 @@ int shellewords;
|
||||||
shwords = shellewords; /* Initialize `shwords' once and for all. */
|
shwords = shellewords; /* Initialize `shwords' once and for all. */
|
||||||
|
|
||||||
/* Set up `dummytri', the `triangle' that occupies "outer space". */
|
/* Set up `dummytri', the `triangle' that occupies "outer space". */
|
||||||
dummytribase = (triangle *) malloc(triwords * sizeof(triangle)
|
dummytribase = (triangle *) MALLOC(triwords * sizeof(triangle)
|
||||||
+ triangles.alignbytes);
|
+ triangles.alignbytes);
|
||||||
if (dummytribase == (triangle *) NULL) {
|
if (dummytribase == (triangle *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
|
@ -3486,7 +3494,7 @@ int shellewords;
|
||||||
/* Set up `dummysh', the omnipresent "shell edge" pointed to by any */
|
/* Set up `dummysh', the omnipresent "shell edge" pointed to by any */
|
||||||
/* triangle side or shell edge end that isn't attached to a real shell */
|
/* triangle side or shell edge end that isn't attached to a real shell */
|
||||||
/* edge. */
|
/* edge. */
|
||||||
dummyshbase = (shelle *) malloc(shwords * sizeof(shelle)
|
dummyshbase = (shelle *) MALLOC(shwords * sizeof(shelle)
|
||||||
+ shelles.alignbytes);
|
+ shelles.alignbytes);
|
||||||
if (dummyshbase == (shelle *) NULL) {
|
if (dummyshbase == (shelle *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
|
@ -7712,7 +7720,7 @@ long divconqdelaunay()
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
/* Allocate an array of pointers to points for sorting. */
|
/* Allocate an array of pointers to points for sorting. */
|
||||||
sortarray = (point *) malloc(inpoints * sizeof(point));
|
sortarray = (point *) MALLOC(inpoints * sizeof(point));
|
||||||
if (sortarray == (point *) NULL) {
|
if (sortarray == (point *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -7804,9 +7812,9 @@ void boundingbox()
|
||||||
width = 1.0;
|
width = 1.0;
|
||||||
}
|
}
|
||||||
/* Create the vertices of the bounding box. */
|
/* Create the vertices of the bounding box. */
|
||||||
infpoint1 = (point) malloc(points.itembytes);
|
infpoint1 = (point) MALLOC(points.itembytes);
|
||||||
infpoint2 = (point) malloc(points.itembytes);
|
infpoint2 = (point) MALLOC(points.itembytes);
|
||||||
infpoint3 = (point) malloc(points.itembytes);
|
infpoint3 = (point) MALLOC(points.itembytes);
|
||||||
if ((infpoint1 == (point) NULL) || (infpoint2 == (point) NULL)
|
if ((infpoint1 == (point) NULL) || (infpoint2 == (point) NULL)
|
||||||
|| (infpoint3 == (point) NULL)) {
|
|| (infpoint3 == (point) NULL)) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
|
@ -8121,12 +8129,12 @@ struct event **freeevents;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
maxevents = (3 * inpoints) / 2;
|
maxevents = (3 * inpoints) / 2;
|
||||||
*eventheap = (struct event **) malloc(maxevents * sizeof(struct event *));
|
*eventheap = (struct event **) MALLOC(maxevents * sizeof(struct event *));
|
||||||
if (*eventheap == (struct event **) NULL) {
|
if (*eventheap == (struct event **) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
*events = (struct event *) malloc(maxevents * sizeof(struct event));
|
*events = (struct event *) MALLOC(maxevents * sizeof(struct event));
|
||||||
if (*events == (struct event *) NULL) {
|
if (*events == (struct event *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -8880,7 +8888,7 @@ FILE *polyfile;
|
||||||
/* Allocate a temporary array that maps each point to some adjacent */
|
/* Allocate a temporary array that maps each point to some adjacent */
|
||||||
/* triangle. I took care to allocate all the permanent memory for */
|
/* triangle. I took care to allocate all the permanent memory for */
|
||||||
/* triangles and shell edges first. */
|
/* triangles and shell edges first. */
|
||||||
vertexarray = (triangle *) malloc(points.items * sizeof(triangle));
|
vertexarray = (triangle *) MALLOC(points.items * sizeof(triangle));
|
||||||
if (vertexarray == (triangle *) NULL) {
|
if (vertexarray == (triangle *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -10477,7 +10485,7 @@ int regions;
|
||||||
|
|
||||||
if (regions > 0) {
|
if (regions > 0) {
|
||||||
/* Allocate storage for the triangles in which region points fall. */
|
/* Allocate storage for the triangles in which region points fall. */
|
||||||
regiontris = (struct triedge *) malloc(regions * sizeof(struct triedge));
|
regiontris = (struct triedge *) MALLOC(regions * sizeof(struct triedge));
|
||||||
if (regiontris == (struct triedge *) NULL) {
|
if (regiontris == (struct triedge *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -11567,7 +11575,7 @@ int *regions;
|
||||||
stringptr = readline(inputline, polyfile, polyfilename);
|
stringptr = readline(inputline, polyfile, polyfilename);
|
||||||
*holes = (int) strtol (stringptr, &stringptr, 0);
|
*holes = (int) strtol (stringptr, &stringptr, 0);
|
||||||
if (*holes > 0) {
|
if (*holes > 0) {
|
||||||
holelist = (REAL *) malloc(2 * *holes * sizeof(REAL));
|
holelist = (REAL *) MALLOC(2 * *holes * sizeof(REAL));
|
||||||
*hlist = holelist;
|
*hlist = holelist;
|
||||||
if (holelist == (REAL *) NULL) {
|
if (holelist == (REAL *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
|
@ -11602,7 +11610,7 @@ int *regions;
|
||||||
stringptr = readline(inputline, polyfile, polyfilename);
|
stringptr = readline(inputline, polyfile, polyfilename);
|
||||||
*regions = (int) strtol (stringptr, &stringptr, 0);
|
*regions = (int) strtol (stringptr, &stringptr, 0);
|
||||||
if (*regions > 0) {
|
if (*regions > 0) {
|
||||||
regionlist = (REAL *) malloc(4 * *regions * sizeof(REAL));
|
regionlist = (REAL *) MALLOC(4 * *regions * sizeof(REAL));
|
||||||
*rlist = regionlist;
|
*rlist = regionlist;
|
||||||
if (regionlist == (REAL *) NULL) {
|
if (regionlist == (REAL *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
|
@ -11729,7 +11737,7 @@ char **argv;
|
||||||
}
|
}
|
||||||
/* Allocate memory for output points if necessary. */
|
/* Allocate memory for output points if necessary. */
|
||||||
if (*pointlist == (REAL *) NULL) {
|
if (*pointlist == (REAL *) NULL) {
|
||||||
*pointlist = (REAL *) malloc(points.items * 2 * sizeof(REAL));
|
*pointlist = (REAL *) MALLOC(points.items * 2 * sizeof(REAL));
|
||||||
if (*pointlist == (REAL *) NULL) {
|
if (*pointlist == (REAL *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -11737,7 +11745,7 @@ char **argv;
|
||||||
}
|
}
|
||||||
/* Allocate memory for output point attributes if necessary. */
|
/* Allocate memory for output point attributes if necessary. */
|
||||||
if ((nextras > 0) && (*pointattriblist == (REAL *) NULL)) {
|
if ((nextras > 0) && (*pointattriblist == (REAL *) NULL)) {
|
||||||
*pointattriblist = (REAL *) malloc(points.items * nextras * sizeof(REAL));
|
*pointattriblist = (REAL *) MALLOC(points.items * nextras * sizeof(REAL));
|
||||||
if (*pointattriblist == (REAL *) NULL) {
|
if (*pointattriblist == (REAL *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -11745,7 +11753,7 @@ char **argv;
|
||||||
}
|
}
|
||||||
/* Allocate memory for output point markers if necessary. */
|
/* Allocate memory for output point markers if necessary. */
|
||||||
if (!nobound && (*pointmarkerlist == (int *) NULL)) {
|
if (!nobound && (*pointmarkerlist == (int *) NULL)) {
|
||||||
*pointmarkerlist = (int *) malloc(points.items * sizeof(int));
|
*pointmarkerlist = (int *) MALLOC(points.items * sizeof(int));
|
||||||
if (*pointmarkerlist == (int *) NULL) {
|
if (*pointmarkerlist == (int *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -11880,7 +11888,7 @@ char **argv;
|
||||||
}
|
}
|
||||||
/* Allocate memory for output triangles if necessary. */
|
/* Allocate memory for output triangles if necessary. */
|
||||||
if (*trianglelist == (int *) NULL) {
|
if (*trianglelist == (int *) NULL) {
|
||||||
*trianglelist = (int *) malloc(triangles.items *
|
*trianglelist = (int *) MALLOC(triangles.items *
|
||||||
((order + 1) * (order + 2) / 2) * sizeof(int));
|
((order + 1) * (order + 2) / 2) * sizeof(int));
|
||||||
if (*trianglelist == (int *) NULL) {
|
if (*trianglelist == (int *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
|
@ -11889,7 +11897,7 @@ char **argv;
|
||||||
}
|
}
|
||||||
/* Allocate memory for output triangle attributes if necessary. */
|
/* Allocate memory for output triangle attributes if necessary. */
|
||||||
if ((eextras > 0) && (*triangleattriblist == (REAL *) NULL)) {
|
if ((eextras > 0) && (*triangleattriblist == (REAL *) NULL)) {
|
||||||
*triangleattriblist = (REAL *) malloc(triangles.items * eextras *
|
*triangleattriblist = (REAL *) MALLOC(triangles.items * eextras *
|
||||||
sizeof(REAL));
|
sizeof(REAL));
|
||||||
if (*triangleattriblist == (REAL *) NULL) {
|
if (*triangleattriblist == (REAL *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
|
@ -12015,7 +12023,7 @@ char **argv;
|
||||||
}
|
}
|
||||||
/* Allocate memory for output segments if necessary. */
|
/* Allocate memory for output segments if necessary. */
|
||||||
if (*segmentlist == (int *) NULL) {
|
if (*segmentlist == (int *) NULL) {
|
||||||
*segmentlist = (int *) malloc(shelles.items * 2 * sizeof(int));
|
*segmentlist = (int *) MALLOC(shelles.items * 2 * sizeof(int));
|
||||||
if (*segmentlist == (int *) NULL) {
|
if (*segmentlist == (int *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -12023,7 +12031,7 @@ char **argv;
|
||||||
}
|
}
|
||||||
/* Allocate memory for output segment markers if necessary. */
|
/* Allocate memory for output segment markers if necessary. */
|
||||||
if (!nobound && (*segmentmarkerlist == (int *) NULL)) {
|
if (!nobound && (*segmentmarkerlist == (int *) NULL)) {
|
||||||
*segmentmarkerlist = (int *) malloc(shelles.items * sizeof(int));
|
*segmentmarkerlist = (int *) MALLOC(shelles.items * sizeof(int));
|
||||||
if (*segmentmarkerlist == (int *) NULL) {
|
if (*segmentmarkerlist == (int *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -12146,7 +12154,7 @@ char **argv;
|
||||||
}
|
}
|
||||||
/* Allocate memory for edges if necessary. */
|
/* Allocate memory for edges if necessary. */
|
||||||
if (*edgelist == (int *) NULL) {
|
if (*edgelist == (int *) NULL) {
|
||||||
*edgelist = (int *) malloc(edges * 2 * sizeof(int));
|
*edgelist = (int *) MALLOC(edges * 2 * sizeof(int));
|
||||||
if (*edgelist == (int *) NULL) {
|
if (*edgelist == (int *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -12154,7 +12162,7 @@ char **argv;
|
||||||
}
|
}
|
||||||
/* Allocate memory for edge markers if necessary. */
|
/* Allocate memory for edge markers if necessary. */
|
||||||
if (!nobound && (*edgemarkerlist == (int *) NULL)) {
|
if (!nobound && (*edgemarkerlist == (int *) NULL)) {
|
||||||
*edgemarkerlist = (int *) malloc(edges * sizeof(int));
|
*edgemarkerlist = (int *) MALLOC(edges * sizeof(int));
|
||||||
if (*edgemarkerlist == (int *) NULL) {
|
if (*edgemarkerlist == (int *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -12305,7 +12313,7 @@ char **argv;
|
||||||
}
|
}
|
||||||
/* Allocate memory for Voronoi vertices if necessary. */
|
/* Allocate memory for Voronoi vertices if necessary. */
|
||||||
if (*vpointlist == (REAL *) NULL) {
|
if (*vpointlist == (REAL *) NULL) {
|
||||||
*vpointlist = (REAL *) malloc(triangles.items * 2 * sizeof(REAL));
|
*vpointlist = (REAL *) MALLOC(triangles.items * 2 * sizeof(REAL));
|
||||||
if (*vpointlist == (REAL *) NULL) {
|
if (*vpointlist == (REAL *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -12313,7 +12321,7 @@ char **argv;
|
||||||
}
|
}
|
||||||
/* Allocate memory for Voronoi vertex attributes if necessary. */
|
/* Allocate memory for Voronoi vertex attributes if necessary. */
|
||||||
if (*vpointattriblist == (REAL *) NULL) {
|
if (*vpointattriblist == (REAL *) NULL) {
|
||||||
*vpointattriblist = (REAL *) malloc(triangles.items * nextras *
|
*vpointattriblist = (REAL *) MALLOC(triangles.items * nextras *
|
||||||
sizeof(REAL));
|
sizeof(REAL));
|
||||||
if (*vpointattriblist == (REAL *) NULL) {
|
if (*vpointattriblist == (REAL *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
|
@ -12384,7 +12392,7 @@ char **argv;
|
||||||
}
|
}
|
||||||
/* Allocate memory for output Voronoi edges if necessary. */
|
/* Allocate memory for output Voronoi edges if necessary. */
|
||||||
if (*vedgelist == (int *) NULL) {
|
if (*vedgelist == (int *) NULL) {
|
||||||
*vedgelist = (int *) malloc(edges * 2 * sizeof(int));
|
*vedgelist = (int *) MALLOC(edges * 2 * sizeof(int));
|
||||||
if (*vedgelist == (int *) NULL) {
|
if (*vedgelist == (int *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -12393,7 +12401,7 @@ char **argv;
|
||||||
*vedgemarkerlist = (int *) NULL;
|
*vedgemarkerlist = (int *) NULL;
|
||||||
/* Allocate memory for output Voronoi norms if necessary. */
|
/* Allocate memory for output Voronoi norms if necessary. */
|
||||||
if (*vnormlist == (REAL *) NULL) {
|
if (*vnormlist == (REAL *) NULL) {
|
||||||
*vnormlist = (REAL *) malloc(edges * 2 * sizeof(REAL));
|
*vnormlist = (REAL *) MALLOC(edges * 2 * sizeof(REAL));
|
||||||
if (*vnormlist == (REAL *) NULL) {
|
if (*vnormlist == (REAL *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -12503,7 +12511,7 @@ char **argv;
|
||||||
}
|
}
|
||||||
/* Allocate memory for neighbors if necessary. */
|
/* Allocate memory for neighbors if necessary. */
|
||||||
if (*neighborlist == (int *) NULL) {
|
if (*neighborlist == (int *) NULL) {
|
||||||
*neighborlist = (int *) malloc(triangles.items * 3 * sizeof(int));
|
*neighborlist = (int *) MALLOC(triangles.items * 3 * sizeof(int));
|
||||||
if (*neighborlist == (int *) NULL) {
|
if (*neighborlist == (int *) NULL) {
|
||||||
printf("Error: Out of memory.\n");
|
printf("Error: Out of memory.\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
Loading…
Reference in a new issue