sniper Wed Dec 21 21:43:25 2005 EDT Modified files: /php-src/ext/ming config.m4 ming.c Log: - Fixed bug #35461 (Ming extension fails to compile with ming 0.3beta1) http://cvs.php.net/viewcvs.cgi/php-src/ext/ming/config.m4?r1=1.25&r2=1.26&diff_format=u Index: php-src/ext/ming/config.m4 diff -u php-src/ext/ming/config.m4:1.25 php-src/ext/ming/config.m4:1.26 --- php-src/ext/ming/config.m4:1.25 Wed Dec 21 21:15:36 2005 +++ php-src/ext/ming/config.m4 Wed Dec 21 21:43:25 2005 @@ -1,5 +1,5 @@ dnl -dnl $Id: config.m4,v 1.25 2005/12/21 21:15:36 sniper Exp $ +dnl $Id: config.m4,v 1.26 2005/12/21 21:43:25 sniper Exp $ dnl PHP_ARG_WITH(ming, for MING support, @@ -40,6 +40,10 @@ PHP_ADD_INCLUDE($MING_INC_DIR) PHP_ADD_LIBRARY_WITH_PATH(ming, $MING_DIR/$PHP_LIBDIR, MING_SHARED_LIBADD) + PHP_CHECK_LIBRARY(ming, SWFPrebuiltClip, [ AC_DEFINE(HAVE_SWFPREBUILTCLIP, 1, [ ]) ], [], []) + + old_CPPFLAGS=$CPPFLAGS + CPPFLAGS=-I$MING_INC_DIR AC_MSG_CHECKING([for destroySWFBlock]) AC_TRY_RUN([ #include "ming.h" @@ -58,11 +62,7 @@ AC_MSG_RESULT([unknown]) ]) - PHP_CHECK_LIBRARY(ming, SWFPrebuiltClip, [ AC_DEFINE(HAVE_SWFPREBUILTCLIP, 1, [ ]) ], [], []) - dnl Check Ming version (FIXME: if/when ming has some better way to detect the version..) - old_CPPFLAGS=$CPPFLAGS - CPPFLAGS=-I$MING_INC_DIR AC_EGREP_CPP(yes, [ #include <ming.h> #ifdef SWF_SOUND_COMPRESSION @@ -73,6 +73,15 @@ dnl FIXME: This is now unconditional..better check coming later. AC_DEFINE(HAVE_MING_ZLIB, 1, [ ]) ]) + + dnl Check if SWFMovie_output() accepts the 4th parameter + AC_TRY_COMPILE([ +#include <ming.h> + ], [ +int main(void) { SWFMovie_output(NULL, NULL, NULL, 0); return 0; } + ], [ + AC_DEFINE(HAVE_MING_MOVIE_LEVEL, 1, [ ]) + ], []) CPPFLAGS=$old_CPPFLAGS PHP_NEW_EXTENSION(ming, ming.c, $ext_shared) http://cvs.php.net/viewcvs.cgi/php-src/ext/ming/ming.c?r1=1.79&r2=1.80&diff_format=u Index: php-src/ext/ming/ming.c diff -u php-src/ext/ming/ming.c:1.79 php-src/ext/ming/ming.c:1.80 --- php-src/ext/ming/ming.c:1.79 Sat Aug 6 05:30:17 2005 +++ php-src/ext/ming/ming.c Wed Dec 21 21:43:25 2005 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: ming.c,v 1.79 2005/08/06 05:30:17 fmk Exp $ */ +/* $Id: ming.c,v 1.80 2005/12/21 21:43:25 sniper Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -2218,7 +2218,7 @@ PHP_METHOD(swfmovie, output) { SWFMovie movie = getMovie(getThis() TSRMLS_CC); -#if defined(HAVE_MING_ZLIB) && defined(HAVE_NEW_MING) +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING) zval **zlimit = NULL; int limit = -1; int argc = ZEND_NUM_ARGS(); @@ -2244,6 +2244,25 @@ Ming_setSWFCompression(oldval); } RETURN_LONG(out); +#elif defined(HAVE_NEW_MING) && defined(HAVE_MING_MOVIE_LEVEL) + zval **zlimit = NULL; + int limit = -1; + int argc = ZEND_NUM_ARGS(); + + if(argc) { + if (zend_get_parameters_ex(1, &zlimit) == FAILURE) { + WRONG_PARAM_COUNT; + } + + convert_to_long_ex(zlimit); + limit = Z_LVAL_PP(zlimit); + + if ((limit < 0) || (limit > 9)) { + php_error(E_WARNING,"compression level must be within 0..9"); + RETURN_FALSE; + } + } + RETURN_LONG(SWFMovie_output(movie, &phpByteOutputMethod, NULL, limit)); #else RETURN_LONG(SWFMovie_output(movie, &phpByteOutputMethod, NULL)); #endif @@ -2263,9 +2282,11 @@ PHP_METHOD(swfmovie, saveToFile) { zval **x; -#if defined(HAVE_MING_ZLIB) && defined(HAVE_NEW_MING) +#if defined(HAVE_MING_ZLIB) || defined(HAVE_NEW_MING) zval **zlimit = NULL; int limit = -1; +#endif +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING) int oldval = INT_MIN; long out; #endif @@ -2278,7 +2299,7 @@ WRONG_PARAM_COUNT; break; case 2: -#if defined(HAVE_MING_ZLIB) && defined(HAVE_NEW_MING) +#if defined(HAVE_MING_ZLIB) || defined(HAVE_NEW_MING) if (zend_get_parameters_ex(2, &x, &zlimit) == FAILURE) WRONG_PARAM_COUNT; convert_to_long_ex(zlimit); @@ -2287,6 +2308,8 @@ php_error(E_WARNING,"compression level must be within 0..9"); RETURN_FALSE; } +#endif +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING) oldval = Ming_setSWFCompression(limit); #endif break; @@ -2295,11 +2318,13 @@ } ZEND_FETCH_RESOURCE(what, php_stream *, x, -1,"File-Handle",php_file_le_stream()); -#if defined(HAVE_MING_ZLIB) && defined(HAVE_NEW_MING) +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING) out = SWFMovie_output(getMovie(getThis() TSRMLS_CC), &phpStreamOutputMethod, what); if (oldval >= -1 && oldval <=9) Ming_setSWFCompression(oldval); RETURN_LONG(out); +#elif defined(HAVE_NEW_MING) && defined(HAVE_MING_MOVIE_LEVEL) + RETURN_LONG(SWFMovie_output(movie, &phpStreamOutputMethod, what, limit)); #else RETURN_LONG(SWFMovie_output(movie, &phpStreamOutputMethod, what)); #endif @@ -2311,9 +2336,11 @@ PHP_METHOD(swfmovie, save) { zval **x; -#if defined(HAVE_MING_ZLIB) && defined(HAVE_NEW_MING) +#if defined(HAVE_MING_ZLIB) || defined(HAVE_NEW_MING) zval **zlimit = NULL; int limit = -1; +#endif +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING) int oldval = INT_MIN; #endif long retval; @@ -2326,7 +2353,7 @@ } break; case 2: -#if defined(HAVE_MING_ZLIB) && defined(HAVE_NEW_MING) +#if defined(HAVE_MING_ZLIB) || defined(HAVE_NEW_MING) if (zend_get_parameters_ex(2, &x, &zlimit) == FAILURE) { WRONG_PARAM_COUNT; } @@ -2336,6 +2363,8 @@ php_error(E_WARNING,"compression level must be within 0..9"); RETURN_FALSE; } +#endif +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING) oldval = Ming_setSWFCompression(limit); #endif break; @@ -2345,12 +2374,16 @@ if (Z_TYPE_PP(x) == IS_RESOURCE) { ZEND_FETCH_RESOURCE(stream, php_stream *, x, -1,"File-Handle",php_file_le_stream()); +#if defined(HAVE_NEW_MING) && defined(HAVE_MING_MOVIE_LEVEL) + RETURN_LONG(SWFMovie_output(getMovie(getThis() TSRMLS_CC), &phpStreamOutputMethod, stream, limit)); +#else RETVAL_LONG(SWFMovie_output(getMovie(getThis() TSRMLS_CC), &phpStreamOutputMethod, stream)); -#if defined(HAVE_MING_ZLIB) && defined(HAVE_NEW_MING) +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING) if(oldval >= -1 && oldval <=9) Ming_setSWFCompression(oldval); #endif return; +#endif } convert_to_string_ex(x); @@ -2360,9 +2393,13 @@ RETURN_FALSE; } +#if defined(HAVE_NEW_MING) && defined(HAVE_MING_MOVIE_LEVEL) + retval = SWFMovie_output(getMovie(getThis() TSRMLS_CC), &phpStreamOutputMethod, (void *)stream, limit); +#else retval = SWFMovie_output(getMovie(getThis() TSRMLS_CC), &phpStreamOutputMethod, (void *)stream); +#endif php_stream_close(stream); -#if defined(HAVE_MING_ZLIB) && defined(HAVE_NEW_MING) +#if defined(HAVE_MING_ZLIB) && !defined(HAVE_NEW_MING) if(oldval >= -1 && oldval <=9) Ming_setSWFCompression(oldval); #endif
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php