diff --git a/SWIG/CHANGES.current b/SWIG/CHANGES.current index 377717949..7c5e42c4b 100644 --- a/SWIG/CHANGES.current +++ b/SWIG/CHANGES.current @@ -1,6 +1,18 @@ Version 1.3.30 (in progress) ============================ +09/05/2006: olly + [php] Rename ErrorCode and ErrorMsg #define-s to SWIG_ErrorCode + and SWIG_ErrorMsg to avoid clashes with code the user might be + wrapping (patch from Darren Warner in SF bug #1466086). Any + user typemaps which use ErrorCode and/or ErrorMsg directly will + need adjusting - you can easily fix them to work with both old + and new SWIG by changing to use SWIG_ErrorMsg and adding: + + #ifndef SWIG_ErrorMsg + #define SWIG_ErrorMsg() ErrorMsg() + #endif + 08/29/2006: olly [php] Move constant initialisation from RINIT to MINIT to fix a warning when using Apache and mod_php. We only need to create diff --git a/SWIG/Lib/php4/php4run.swg b/SWIG/Lib/php4/php4run.swg index cbd5dded4..219734094 100644 --- a/SWIG/Lib/php4/php4run.swg +++ b/SWIG/Lib/php4/php4run.swg @@ -46,7 +46,7 @@ static int default_error_code = E_ERROR; #define SWIG_PHP_Arg_Error_Msg(argnum,extramsg) "Error in argument " #argnum " "#extramsg -#define SWIG_PHP_Error(code,msg) do { ErrorCode() = code; ErrorMsg() = msg; SWIG_fail; } while (0) +#define SWIG_PHP_Error(code,msg) do { SWIG_ErrorCode() = code; SWIG_ErrorMsg() = msg; SWIG_fail; } while (0) #define SWIG_contract_assert(expr,msg) \ if (!(expr) ) { zend_printf("Contract Assert Failed %s\n",msg ); } else diff --git a/SWIG/Source/Modules/php4.cxx b/SWIG/Source/Modules/php4.cxx index 4a2589d21..6e730b249 100644 --- a/SWIG/Source/Modules/php4.cxx +++ b/SWIG/Source/Modules/php4.cxx @@ -661,11 +661,11 @@ public: Printf(s_header, "ZEND_END_MODULE_GLOBALS(%s)\n", module ); Printf(s_header, "ZEND_DECLARE_MODULE_GLOBALS(%s)\n",module ); Printf(s_header, "#ifdef ZTS\n" ); - Printf(s_header, "#define ErrorMsg() TSRMG(%s_globals_id, zend_%s_globals *, error_msg )\n",module,module); - Printf(s_header, "#define ErrorCode() TSRMG(%s_globals_id, zend_%s_globals *, error_code )\n",module,module); + Printf(s_header, "#define SWIG_ErrorMsg() TSRMG(%s_globals_id, zend_%s_globals *, error_msg )\n",module,module); + Printf(s_header, "#define SWIG_ErrorCode() TSRMG(%s_globals_id, zend_%s_globals *, error_code )\n",module,module); Printf(s_header, "#else\n" ); - Printf(s_header, "#define ErrorMsg() (%s_globals.error_msg)\n",module); - Printf(s_header, "#define ErrorCode() (%s_globals.error_code)\n",module); + Printf(s_header, "#define SWIG_ErrorMsg() (%s_globals.error_msg)\n",module); + Printf(s_header, "#define SWIG_ErrorCode() (%s_globals.error_code)\n",module); Printf(s_header, "#endif\n\n" ); Printf(s_header, "static void %s_init_globals(zend_%s_globals *globals ) {\n",module,module); @@ -678,8 +678,8 @@ public: Printf(s_header, "\n"); Printf(s_header, "static void SWIG_ResetError() {\n"); Printf(s_header, " TSRMLS_FETCH();\n"); - Printf(s_header, " ErrorMsg() = default_error_msg;\n"); - Printf(s_header, " ErrorCode() = default_error_code;\n"); + Printf(s_header, " SWIG_ErrorMsg() = default_error_msg;\n"); + Printf(s_header, " SWIG_ErrorCode() = default_error_code;\n"); Printf(s_header, "}\n"); Printf(s_header,"#define SWIG_name \"%s\"\n", module); @@ -926,14 +926,14 @@ public: else { Printf(f->code,"zend_get_parameters_array_ex(argc,argv);\n"); } - + Replaceall(dispatch,"$args","self,args"); Printv(f->code,dispatch,"\n",NIL); - Printf(f->code,"ErrorCode() = E_ERROR;\n"); - Printf(f->code,"ErrorMsg() = \"No matching function for overloaded '%s'\";\n", symname); - Printv(f->code,"zend_error(ErrorCode(),ErrorMsg());\n",NIL); + Printf(f->code,"SWIG_ErrorCode() = E_ERROR;\n"); + Printf(f->code,"SWIG_ErrorMsg() = \"No matching function for overloaded '%s'\";\n", symname); + Printv(f->code,"zend_error(SWIG_ErrorCode(),SWIG_ErrorMsg());\n",NIL); Printv(f->code,"}\n",NIL); Wrapper_print(f,s_wrappers); @@ -1285,7 +1285,7 @@ public: if (mvr) { if (! mvrset) { - Printf(f->code,"return _return_value;\n"); + Printf(f->code,"return _return_value;\n"); } else{ Printf(f->code,"return SUCCESS;\n"); @@ -1298,9 +1298,9 @@ public: /* Error handling code */ Printf(f->code,"fail:\n"); Printv(f->code,cleanup,NIL); - Printv(f->code,"zend_error(ErrorCode(),ErrorMsg());",NIL); + Printv(f->code,"zend_error(SWIG_ErrorCode(),SWIG_ErrorMsg());",NIL); - Printf(f->code, "}\n"); + Printf(f->code, "}\n"); Replaceall(f->code,"$cleanup",cleanup); Replaceall(f->code,"$symname",iname);