diff options
author | allen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 1999-12-16 09:36:56 +0000 |
---|---|---|
committer | allen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 1999-12-16 09:36:56 +0000 |
commit | e87727e709c9bf280b12d5d8f447dfc1ea9930a4 (patch) | |
tree | 6011e2d708c5d28d386f8bb7e74319423a6411c0 | |
parent | bd67918981c25656cf46272d1388cbc6065eb076 (diff) |
Check for memory error
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1199 17b73243-c579-4c4c-a9d2-2d5706c11dac
-rw-r--r-- | src/main/Coord.c | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/src/main/Coord.c b/src/main/Coord.c index cbac174a..a6056a6d 100644 --- a/src/main/Coord.c +++ b/src/main/Coord.c @@ -236,25 +236,36 @@ int CCTK_RegisterCoordRange(cGH *GH, CCTK_REAL min, CCTK_REAL max, const char *coordname) { coord_range *newguy; + int retval = 0; /* New coord_range */ newguy = (coord_range *)malloc(sizeof(coord_range)); - newguy->GH = GH; + if (newguy) + { + newguy->GH = GH; - newguy->props = CCTKi_CoordData(coordname); + newguy->props = CCTKi_CoordData(coordname); #ifdef DEBUG_COORD - printf("Registering range (%f,%f) for %s (on %x)\n",min,max,coordname,newguy); + printf("Registering range (%f,%f) for %s (on %x)\n",min,max,coordname,newguy); #endif - newguy->lower = min; - newguy->upper = max; + newguy->lower = min; + newguy->upper = max; - newguy->next = first; - first = newguy; + newguy->next = first; + first = newguy; + } + else + { + char *msg = (char *) malloc (200*sizeof(char)); + sprintf (msg, "Cannot allocate data for coordinate range\n"); + CCTK_Warn (0,__LINE__,__FILE__,"Cactus", msg); + free (msg); + } - return 1; + return retval; } |