[FFmpeg-cvslog] r22860 - in trunk/libavcodec: eval.c eval.h
stefano
subversion
Mon Apr 12 22:22:55 CEST 2010
Author: stefano
Date: Mon Apr 12 22:22:55 2010
New Revision: 22860
Log:
Fix constness for func[12] parameters in ff_parse_expr() and
ff_parse_and_eval_expr().
Change func[12] attributes from "** func" to "* const * func".
This is consistent with the semantics of the provided arrays of
functions, which are not supposed to be changed by the ff_parse_*
functions.
Also fix the GCC compilation warnings:
libavcodec/ratecontrol.c: In function ?ff_rate_control_init?:
libavcodec/ratecontrol.c:109: warning: passing argument 3 of ?ff_parse_expr? discards qualifiers from pointer target type
libavcodec/eval.h:69: note: expected ?double (**)(void *, double)? but argument is of type ?double (* const*)(void *, double)?
Modified:
trunk/libavcodec/eval.c
trunk/libavcodec/eval.h
Modified: trunk/libavcodec/eval.c
==============================================================================
--- trunk/libavcodec/eval.c Mon Apr 12 21:21:19 2010 (r22859)
+++ trunk/libavcodec/eval.c Mon Apr 12 22:22:55 2010 (r22860)
@@ -34,9 +34,9 @@ typedef struct Parser{
char *s;
const double *const_value;
const char * const *const_name; // NULL terminated
- double (**func1)(void *, double a); // NULL terminated
+ double (* const *func1)(void *, double a); // NULL terminated
const char * const *func1_name; // NULL terminated
- double (**func2)(void *, double a, double b); // NULL terminated
+ double (* const *func2)(void *, double a, double b); // NULL terminated
const char * const *func2_name; // NULL terminated
void *opaque;
const char **error;
@@ -370,8 +370,8 @@ static int verify_expr(AVExpr * e) {
}
AVExpr *ff_parse_expr(const char *s, const char * const *const_name,
- double (**func1)(void *, double), const char * const *func1_name,
- double (**func2)(void *, double, double), const char * const *func2_name,
+ double (* const *func1)(void *, double), const char * const *func1_name,
+ double (* const *func2)(void *, double, double), const char * const *func2_name,
const char **error){
Parser p;
AVExpr *e = NULL;
@@ -413,8 +413,8 @@ double ff_eval_expr(AVExpr * e, const do
}
double ff_parse_and_eval_expr(const char *s, const double *const_value, const char * const *const_name,
- double (**func1)(void *, double), const char * const *func1_name,
- double (**func2)(void *, double, double), const char * const *func2_name,
+ double (* const *func1)(void *, double), const char * const *func1_name,
+ double (* const *func2)(void *, double, double), const char * const *func2_name,
void *opaque, const char **error){
AVExpr * e = ff_parse_expr(s, const_name, func1, func1_name, func2, func2_name, error);
double d;
Modified: trunk/libavcodec/eval.h
==============================================================================
--- trunk/libavcodec/eval.h Mon Apr 12 21:21:19 2010 (r22859)
+++ trunk/libavcodec/eval.h Mon Apr 12 22:22:55 2010 (r22860)
@@ -44,8 +44,8 @@ typedef struct AVExpr AVExpr;
* @return the value of the expression
*/
double ff_parse_and_eval_expr(const char *s, const double *const_value, const char * const *const_name,
- double (**func1)(void *, double), const char * const *func1_name,
- double (**func2)(void *, double, double), const char * const *func2_name,
+ double (* const *func1)(void *, double), const char * const *func1_name,
+ double (* const *func2)(void *, double, double), const char * const *func2_name,
void *opaque, const char **error);
/**
@@ -61,9 +61,10 @@ double ff_parse_and_eval_expr(const char
* @return AVExpr which must be freed with ff_free_expr() by the user when it is not needed anymore
* NULL if anything went wrong
*/
+
AVExpr *ff_parse_expr(const char *s, const char * const *const_name,
- double (**func1)(void *, double), const char * const *func1_name,
- double (**func2)(void *, double, double), const char * const *func2_name,
+ double (* const *func1)(void *, double), const char * const *func1_name,
+ double (* const *func2)(void *, double, double), const char * const *func2_name,
const char **error);
/**
More information about the ffmpeg-cvslog
mailing list