summaryrefslogtreecommitdiff
path: root/src/main/GroupsOnGH.c
diff options
context:
space:
mode:
authortradke <tradke@17b73243-c579-4c4c-a9d2-2d5706c11dac>2003-07-15 13:20:20 +0000
committertradke <tradke@17b73243-c579-4c4c-a9d2-2d5706c11dac>2003-07-15 13:20:20 +0000
commit07e6e93bcfbb250786361485aa4ff47eb8b80fb6 (patch)
tree4c2205b233a58cade5553e10c3ea2e746704f163 /src/main/GroupsOnGH.c
parente0795ec8aea49ef240f390a67efa65c91e37d672 (diff)
Check for valid variable index in CCTK_NumTimeLevelsFromVarI().
This closes PR Cactus/1133. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3276 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'src/main/GroupsOnGH.c')
-rw-r--r--src/main/GroupsOnGH.c40
1 files changed, 14 insertions, 26 deletions
diff --git a/src/main/GroupsOnGH.c b/src/main/GroupsOnGH.c
index 54bd1e5e..4894c098 100644
--- a/src/main/GroupsOnGH.c
+++ b/src/main/GroupsOnGH.c
@@ -209,6 +209,8 @@ void *CCTK_VarDataPtr(const cGH *GH, int timelevel, const char *varname)
int vindex;
void *retval;
+
+ retval = NULL;
vindex = CCTK_VarIndex(varname);
if (vindex >= 0)
{
@@ -221,14 +223,12 @@ void *CCTK_VarDataPtr(const cGH *GH, int timelevel, const char *varname)
CCTK_VWarn(1,__LINE__,__FILE__,"Cactus",
"Invalid timelevel %d for variable '%s' in CCTK_VarDataPtr",
timelevel, varname);
- retval = NULL;
}
}
else
{
CCTK_VWarn(1,__LINE__,__FILE__,"Cactus",
"Invalid variable name '%s' in CCTK_VarDataPtr", varname);
- retval = NULL;
}
#ifdef DEBUG_GROUPS
@@ -256,11 +256,10 @@ void *CCTK_VarDataPtr(const cGH *GH, int timelevel, const char *varname)
@vio in
@endvar
- @var vari
+ @var vindex
@vdesc Index of grid variable
@vtype int
@vio in
- @vcomment Assumed to be in correct range
@endvar
@var timelevel
@@ -275,27 +274,29 @@ void *CCTK_VarDataPtr(const cGH *GH, int timelevel, const char *varname)
@@*/
void *CCTK_VarDataPtrI(const cGH *GH, int timelevel, int vindex)
{
+ int numtimelevels;
void *retval;
retval = NULL;
- if (vindex >= 0)
+ numtimelevels = CCTK_NumTimeLevelsFromVarI (vindex);
+ if (numtimelevels > 0)
{
- if (timelevel >= 0 && timelevel < CCTK_NumTimeLevelsFromVarI (vindex))
+ if (timelevel >= 0 && timelevel < numtimelevels)
{
retval = GH->data[vindex][timelevel];
}
else
{
CCTK_VWarn(1,__LINE__,__FILE__,"Cactus",
- "Invalid timelevel %d for variable '%s' in CCTK_VarDataPtrI",
+ "CCTK_VarDataPtrI: Invalid timelevel %d for variable '%s'",
timelevel, CCTK_VarName (vindex));
}
}
else
{
- CCTK_Warn(1,__LINE__,__FILE__,"Cactus",
- "CCTK_VarPtrDataI: Calling CCTK_VarDataPtrI with negative index");
+ CCTK_VWarn(1,__LINE__,__FILE__,"Cactus",
+ "CCTK_VarPtrDataI: Invalid index %d given", vindex);
}
return retval;
@@ -364,17 +365,13 @@ int CCTK_EnableGroupCommI(const cGH *GH, int group)
int retcode;
char *group_name;
+ retcode = 0;
group_name = CCTK_GroupName(group);
if(group_name)
{
retcode = CCTK_EnableGroupComm(GH, group_name);
-
free(group_name);
}
- else
- {
- retcode = 0;
- }
return retcode;
}
@@ -392,6 +389,7 @@ int CCTK_EnableGroupStorageI(const cGH *GH, int group)
int retcode;
char *group_name;
+ retcode = 0;
group_name = CCTK_GroupName(group);
if(group_name)
{
@@ -402,10 +400,6 @@ int CCTK_EnableGroupStorageI(const cGH *GH, int group)
free(group_name);
}
- else
- {
- retcode = 0;
- }
return retcode;
}
@@ -423,6 +417,7 @@ int CCTK_DisableGroupCommI(const cGH *GH, int group)
int retcode;
char *group_name;
+ retcode = 0;
group_name = CCTK_GroupName(group);
if(group_name)
{
@@ -433,10 +428,6 @@ int CCTK_DisableGroupCommI(const cGH *GH, int group)
free(group_name);
}
- else
- {
- retcode = 0;
- }
return retcode;
}
@@ -454,6 +445,7 @@ int CCTK_DisableGroupStorageI(const cGH *GH, int group)
int retcode;
char *group_name;
+ retcode = 0;
group_name = CCTK_GroupName(group);
if(group_name)
{
@@ -461,10 +453,6 @@ int CCTK_DisableGroupStorageI(const cGH *GH, int group)
free(group_name);
}
- else
- {
- retcode = 0;
- }
return retcode;
}