summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorallen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-03-09 12:00:17 +0000
committerallen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-03-09 12:00:17 +0000
commit304dd8fa234b9825ed8ef506663c00f8b6847337 (patch)
tree1b8afe0caaf342108983eabf7c70bf7c5d6e83dc /src/main
parentacd2933c903b54632facdd78577f59d51887ac19 (diff)
Added a few more return values
git-svn-id: http://svn.cactuscode.org/flesh/trunk@389 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'src/main')
-rw-r--r--src/main/Groups.c77
1 files changed, 61 insertions, 16 deletions
diff --git a/src/main/Groups.c b/src/main/Groups.c
index c7e08f5e..4b1434b8 100644
--- a/src/main/Groups.c
+++ b/src/main/Groups.c
@@ -315,6 +315,7 @@ int CCTK_GetVarNum(const char *implementation,
}
}
else
+
{
group_num = CCTK_GetGroupNum(implementation, group_name);
@@ -343,7 +344,7 @@ int CCTK_GetVarNum(const char *implementation,
@date Mon Feb 8 12:04:01 1999
@author Tom Goodale
@desc
- Gets the maximum dimesion of all groups.
+ Gets the maximum dimension of all groups.
@enddesc
@calls
@calledby
@@ -415,8 +416,15 @@ char *CCTK_GetGroupFromVar(int var)
char *retval;
int group_num;
- group_num = group_of_variable[var];
- retval = groups[group_num].name;
+ if (var<0 || var>total_variables-1)
+ {
+ retval = NULL;
+ }
+ else
+ {
+ group_num = group_of_variable[var];
+ retval = groups[group_num].name;
+ }
return retval;
}
@@ -440,8 +448,15 @@ char *CCTK_GetImplementationFromVar(int var)
char *retval;
int group_num;
- group_num = group_of_variable[var];
- retval = groups[group_num].implementation;
+ if (var<0 || var>total_variables-1)
+ {
+ retval = NULL;
+ }
+ else
+ {
+ group_num = group_of_variable[var];
+ retval = groups[group_num].implementation;
+ }
return retval;
}
@@ -466,14 +481,22 @@ char *CCTK_GetFullName(int var)
char *impname;
char *varname;
int group_num;
- char *fullname;
+ char *fullname=NULL;
varname = CCTK_GetVarName(var);
- group_num = group_of_variable[var];
- impname = groups[group_num].implementation;
+ if (varname)
+ {
+ group_num = group_of_variable[var];
+ impname = groups[group_num].implementation;
- fullname = malloc((strlen(varname)+strlen(impname)+3)*sizeof(char));
- sprintf(fullname,"%s::%s",impname,varname);
+ fullname = malloc((strlen(varname)+strlen(impname)+3)*sizeof(char));
+ if (fullname)
+ sprintf(fullname,"%s::%s",impname,varname);
+ }
+ else
+ {
+ fullname = NULL;
+ }
return fullname;
}
@@ -493,10 +516,10 @@ char *CCTK_GetFullName(int var)
@endhistory
@@*/
-int *CCTK_ArrayGroupSize(cGH *GH, const char *group, int dim)
+int *CCTK_ArrayGroupSize(cGH *GH, const char *group, int dir)
{
/* Quick fudge */
- return &(GH->local_shape[dim]);
+ return &(GH->local_shape[dir]);
}
/*@@
@@ -692,19 +715,41 @@ int CCTK_DecomposeGroupName(const char *fullname, char **implementation, char **
return CCTK_SplitString(implementation, name, fullname, "::");
}
+
+
char *CCTK_GetGroupName(int group)
{
char *name;
- name = malloc((strlen(groups[group].implementation)+strlen(groups[group].name)+3)*sizeof(char));
- sprintf(name, "%s::%s",groups[group].implementation, groups[group].name);
-
+ if (group < 0 || group >= n_groups)
+ {
+ name = NULL;
+ }
+ else
+ {
+ name = malloc((strlen(groups[group].implementation)+strlen(groups[group].name)+3)*sizeof(char));
+ if (name)
+ {
+ sprintf(name, "%s::%s",groups[group].implementation, groups[group].name);
+ }
+ else
+ {
+ name = NULL;
+ }
+ }
return name;
}
int CCTK_GetFirstVarNum(int group)
{
- return groups[group].variables[0].number;
+ if (0 <= group && group<n_groups)
+ {
+ return groups[group].variables[0].number;
+ }
+ else
+ {
+ return -1;
+ }
}
int CCTK_GetVarGType(int var)