summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorallen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-12-16 09:36:56 +0000
committerallen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-12-16 09:36:56 +0000
commite87727e709c9bf280b12d5d8f447dfc1ea9930a4 (patch)
tree6011e2d708c5d28d386f8bb7e74319423a6411c0
parentbd67918981c25656cf46272d1388cbc6065eb076 (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.c27
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;
}