On 01.06.2010 10:48, Christian Ebert wrote: > Latest svn r31298 fails to compile here: > > cc -MD -MP -Wstrict-prototypes -Wmissing-prototypes -Wundef -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 -march=pentium-m -mtune=pentium-m -pipe -ffast-math -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -mdynamic-no-pic -falign-loops=16 -shared-libgcc -I. -I/sw/include -I/usr/X11/include -I/sw/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -I/usr/local/include -I/sw/include/freetype2 -I/sw/include -I/sw/include -I/usr/local/include -I/usr/local/include/libdvdread -c -o libmpcodecs/vf_geq.o libmpcodecs/vf_geq.c > libmpcodecs/vf_geq.c: In function 'vf_open': > libmpcodecs/vf_geq.c:175: warning: initialization from incompatible pointer type > libmpcodecs/vf_geq.c:176: warning: initialization from incompatible pointer type > libmpcodecs/vf_geq.c:177: warning: initialization from incompatible pointer type > libmpcodecs/vf_geq.c:178: warning: initialization from incompatible pointer type > libmpcodecs/vf_geq.c:181: warning: passing argument 1 of 'ff_parse_expr' from incompatible pointer type > libmpcodecs/vf_geq.c:181: warning: passing argument 2 of 'ff_parse_expr' from incompatible pointer type > libmpcodecs/vf_geq.c:181: warning: passing argument 5 of 'ff_parse_expr' from incompatible pointer type > libmpcodecs/vf_geq.c:181: warning: passing argument 6 of 'ff_parse_expr' from incompatible pointer type > libmpcodecs/vf_geq.c:181: warning: passing argument 8 of 'ff_parse_expr' makes integer from pointer without a cast > libmpcodecs/vf_geq.c:181: error: too few arguments to function 'ff_parse_expr' > make: *** [libmpcodecs/vf_geq.o] Error 1 > This happens since ffmpeg r23402 on Linux too: svn log -v -r23402 libavcodec/ ------------------------------------------------------------------------ r23402 | stefano | 2010-06-01 10:07:07 +0200 (Tue, 01 Jun 2010) | 8 lines Changed paths: M /trunk/libavcodec/avcodec.h M /trunk/libavcodec/eval.c M /trunk/libavcodec/eval.h M /trunk/libavcodec/opt.c M /trunk/libavcodec/ratecontrol.c Make ff_parse_expr() and ff_parse_and_eval_expr() return an int containing an error code. Allow these functions to convey the reason of the failure to the calling function, failure which is not always due to a parsing error but it may depend for example on a memory problem. Also fix several potential memleaks. ------------------------------------------------------------------------ -- Regards Ilja