summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhinder <hinder@17b73243-c579-4c4c-a9d2-2d5706c11dac>2012-11-30 17:36:20 +0000
committerhinder <hinder@17b73243-c579-4c4c-a9d2-2d5706c11dac>2012-11-30 17:36:20 +0000
commita8569cd218d3d9aa7c690ad71a6ee9467fa0e1d4 (patch)
tree665d8403fce5d2cdfc7e5daa82b22ee6589cb34b /src
parenta0bd060db561a961ae72700cdc4bea5fa28b15a4 (diff)
Make data parameter of expression evaluation functions const
data is a pointer to user-supplied data used for evaluating the expression. It should not be modified by the evaluation. Note that this modifies the flesh API to the (undocumented) thorn-visible function Util_ExpressionEvaluate. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4922 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'src')
-rw-r--r--src/include/util_Expression.h4
-rw-r--r--src/main/Groups.c4
-rw-r--r--src/main/Parameters.c14
-rw-r--r--src/util/Expression.c6
4 files changed, 14 insertions, 14 deletions
diff --git a/src/include/util_Expression.h b/src/include/util_Expression.h
index c8b524c4..f16b2d91 100644
--- a/src/include/util_Expression.h
+++ b/src/include/util_Expression.h
@@ -37,8 +37,8 @@ uExpression Util_ExpressionParse(const char *expression);
int Util_ExpressionEvaluate(const uExpression buffer,
uExpressionValue *retval,
- int (*eval)(int, const char * const *, uExpressionValue *, void *),
- void *data);
+ int (*eval)(int, const char * const *, uExpressionValue *, const void *),
+ const void *data);
void Util_ExpressionFree(uExpression buffer);
diff --git a/src/main/Groups.c b/src/main/Groups.c
index 6716692f..f8125787 100644
--- a/src/main/Groups.c
+++ b/src/main/Groups.c
@@ -2810,7 +2810,7 @@ const int *CCTKi_GroupLengthAsPointer(const char *fullgroupname)
@endvar
@var data
@vdesc Data passed from expression evaluator
- @vtype void *
+ @vtype const void *
@vio in
@vcomment
Should be a char * with the thorn name.
@@ -2824,7 +2824,7 @@ const int *CCTKi_GroupLengthAsPointer(const char *fullgroupname)
static int IntParameterEvaluator(int nvars,
const char * const *vars,
uExpressionValue *vals,
- void *data)
+ const void *data)
{
int i;
diff --git a/src/main/Parameters.c b/src/main/Parameters.c
index fcb4e7c0..1daf0bc8 100644
--- a/src/main/Parameters.c
+++ b/src/main/Parameters.c
@@ -185,11 +185,11 @@ static int ParameterSetSentence (t_param *param, const char *value);
static int ParameterSetInteger (t_param *param, const char *value);
static int ParameterSetReal (t_param *param, const char *value);
static int ParameterSetBoolean (t_param *param, const char *value);
-static int SetVarEvaluator(int nvars, const char * const *vars, uExpressionValue *vals, void *data);
+static int SetVarEvaluator(int nvars, const char * const *vars, uExpressionValue *vals, const void *data);
static void GetBaseName(const char *name, char **basename, int *array_index);
static char *ArrayParamName(const char *basename,int array_index);
-static int AccVarEvaluator(int nvars, const char * const *vars, uExpressionValue *vals, void *data);
+static int AccVarEvaluator(int nvars, const char * const *vars, uExpressionValue *vals, const void *data);
static void AddAccumulators(t_param *base,
t_param *extra,
const char *thorn,
@@ -1938,7 +1938,7 @@ static int ParameterSetAccumulator(t_param *param)
retval = Util_ExpressionEvaluate(parsed_expression,
&value,
AccVarEvaluator,
- (void *)xy);
+ xy);
xy[0] = value;
}
@@ -2574,7 +2574,7 @@ static char *ArrayParamName(const char *basename,int array_index)
@endvar
@var data
@vdesc Data passed from expression evaluator
- @vtype void *
+ @vtype const void *
@vio in
@vcomment
Should be an array of two uExpressionValues,
@@ -2586,7 +2586,7 @@ static char *ArrayParamName(const char *basename,int array_index)
0
@endreturndesc
@@*/
-static int AccVarEvaluator(int nvars, const char * const *vars, uExpressionValue *vals, void *data)
+static int AccVarEvaluator(int nvars, const char * const *vars, uExpressionValue *vals, const void *data)
{
int i;
uExpressionValue *exps;
@@ -2647,7 +2647,7 @@ static int AccVarEvaluator(int nvars, const char * const *vars, uExpressionValue
@endvar
@var data
@vdesc Data passed from expression evaluator
- @vtype void *
+ @vtype const void *
@vio in
@vcomment
Not used.
@@ -2658,7 +2658,7 @@ static int AccVarEvaluator(int nvars, const char * const *vars, uExpressionValue
0
@endreturndesc
@@*/
-static int SetVarEvaluator(int nvars, const char * const *vars, uExpressionValue *vals, void *data)
+static int SetVarEvaluator(int nvars, const char * const *vars, uExpressionValue *vals, const void *data)
{
const int restype = *(int *)data;
int retval = 0;
diff --git a/src/util/Expression.c b/src/util/Expression.c
index 96b5ccb4..2d80522c 100644
--- a/src/util/Expression.c
+++ b/src/util/Expression.c
@@ -252,7 +252,7 @@ uExpression Util_ExpressionParse(const char *expression)
@endvar
@var eval
@vdesc Variable evaluation function
- @vtype int (*eval)(int, const char * const *, uExpressionValue *, void *),
+ @vtype int (*eval)(int, const char * const *, uExpressionValue *, const void *),
@vio in
@vcomment
This function is called with an array of variables to determine the values of
@@ -275,8 +275,8 @@ uExpression Util_ExpressionParse(const char *expression)
@@*/
int Util_ExpressionEvaluate(const uExpression buffer,
uExpressionValue *retval,
- int (*eval)(int, const char * const *, uExpressionValue *, void *),
- void *data)
+ int (*eval)(int, const char * const *, uExpressionValue *, const void *),
+ const void *data)
{
int retcode;
uExpressionValue stack[MAX_STACK_SIZE];