Commit graph

76 commits

Author SHA1 Message Date
Olly Betts
a908d9d50b Make the char we use to instantiate single character constants static, as
PHP doesn't appear to take a copy.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9406 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-10-04 13:25:38 +00:00
Olly Betts
adf46e4378 Fix #1569587 for PHP. Don't use sizeof() except with string literals. Change
some "//" comments to "/* */" for portability.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9404 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-10-04 12:40:04 +00:00
Olly Betts
cb8dd113f2 Register string constants using REGISTER_STRINGL_CONSTANT instead of
REGISTER_STRING_CONSTANT since (a) this will cope with embedded zeros
and (b) it'll be fractionally faster.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9373 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-09-28 06:42:36 +00:00
Olly Betts
3dc5e0e91a Overload resolution now works in PHP out of the box.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9305 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-09-20 06:59:07 +00:00
Olly Betts
29098f6ad2 SWIG_TypeCheck() takes a const char * now, so don't cast argument passed
to char *!


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9304 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-09-20 06:37:50 +00:00
Olly Betts
4ad3708693 Fix typo in comment
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9303 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-09-20 05:51:00 +00:00
Olly Betts
3a5fb61abe Apply patch from SF bug: [ 1466086 ] PHP namespace clash - ErrorCode
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9262 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-09-05 16:18:01 +00:00
Olly Betts
b9bf752f46 Fix the easiest warnings in the generated code.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9212 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-07-11 04:53:33 +00:00
William S Fulton
b6ce0715c9 debug comments in generated code removed
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9189 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-07-04 21:02:54 +00:00
Olly Betts
688aba81d5 Added some missing keywords to the PHP4 keyword list, and
fixed __LINE__ and __FILE__ which were in the wrong category.
Also added all the keywords new in PHP5, and added comments
noting the PHP4 keywords which aren't keywords in PHP5.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9167 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-06-17 13:33:05 +00:00
Olly Betts
843444d5ba Don't segfault if PHP Null is passed where a C++ reference is wanted.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9094 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-05-07 01:10:31 +00:00
Olly Betts
086d6b0280 Fix wrappers generated for global 'char' variables to not include a terminating
zero in the PHP string.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9090 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-05-05 14:57:19 +00:00
Olly Betts
aab77a372a Wrap multi-statement macro SWIG_PHP_Error(code,msg) in do {...} while (0)
to protect it from expanding incorrectly (spotted by Sam Liddicott).
Fortunately all current uses by SWIG itself appear to be safe.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9088 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-05-05 00:34:01 +00:00
Marcelo Matus
07022e74a8 fix docs, path provided by Olly
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9047 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-04-11 01:40:20 +00:00
William S Fulton
33cd31865a Common template for head of each file detailing licence, distribution and authors information
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8973 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-03-07 00:14:10 +00:00
Kevin Ruland
2ea0f2662f Added some TSRMLS_FETCH() calls to initialize the tsrmls_cc variable.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8881 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-23 21:04:11 +00:00
Kevin Ruland
0a79bdb042 Added TSRMLS_CC to get_constant call.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8826 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-16 21:28:08 +00:00
Marcelo Matus
0a0702f086 more keyword fixes, from Olly
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8799 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-11 22:01:51 +00:00
Kevin Ruland
d90cfcb917 Fix typemaps for void* and void**.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8727 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-06 14:02:44 +00:00
Kevin Ruland
e5e700b3c2 Added typechecks for string and const string&.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8660 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-31 16:38:48 +00:00
Kevin Ruland
07d8cddbde Fix memory leak in GetModule.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8659 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-31 16:38:14 +00:00
William S Fulton
5f97905ab7 std::string global and member variables are wrapped as strings by default
No need to use the %apply const std::string& { std::string* } trick anymore


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8613 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-29 15:53:41 +00:00
Marcelo Matus
d27d74c79c change the %rename predicates to use the prefix %$ and avoid clashings with other rename directives
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8469 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-16 23:27:11 +00:00
William S Fulton
eb433dbef1 Each target language now has its own std_deque.i like the other STL wrappers.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8303 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-08 20:08:44 +00:00
Marcelo Matus
55d79fea4f add initial stl.i to ensure proper file inclussion and extensions for each language
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8232 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-06 00:37:31 +00:00
Marcelo Matus
9a865b570b add fullname to the php4 kw warning
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8181 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-02 10:18:49 +00:00
Marcelo Matus
37c183deb0 add insensitive kws
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8174 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-02 04:36:56 +00:00
Marcelo Matus
8c93709658 better kw from Olly's comments
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8151 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-31 10:43:06 +00:00
Kevin Ruland
8b2070268a Made string typemaps handle strings with embedded nulls. Changed to use
cstring::data() instead of c_str() to avoid a possible copy.  (Ollie Betts)


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8147 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-31 03:15:12 +00:00
Marcelo Matus
370b0ada6b move print from kw to bn
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8146 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-31 03:06:53 +00:00
Marcelo Matus
9ca73746b6 add built-in macro and flag 'empty' as a built-in name instead of a kw
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8135 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-30 09:14:30 +00:00
Kevin Ruland
ba954bf280 Fixed initial creation of array in t_output_helper.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7901 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-29 15:29:30 +00:00
William S Fulton
e013e7ff5a Use the system angle brackets for %include
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7871 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-26 09:28:20 +00:00
William S Fulton
0ab02e7479 fix typo for php4kw.swg file
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7816 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-05 23:10:05 +00:00
Marcelo Matus
251e396fc7 activating the keyword warnings
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7701 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-21 11:00:19 +00:00
Marcelo Matus
1c7c9e44f7 massive typemap unification
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7676 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-18 13:24:15 +00:00
William S Fulton
2a70234ac4 fix typo
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7621 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-08 13:58:50 +00:00
William S Fulton
f8ee15c278 throws typemaps added
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7620 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-08 13:58:31 +00:00
Kevin Ruland
dbcae3b00c Fix error message in %typemap(in) SWIGTYPE*.
Change handling of char[ANY] out.  Now return null padding.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7469 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-20 14:50:16 +00:00
Kevin Ruland
d4e5c9fbca Change handling of char[ANY] output typemaps, have it return the null
padding and use t_output_helper.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7468 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-20 14:44:56 +00:00
Kevin Ruland
b865eddc83 Convert PHP nulls into NULL pointers.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7467 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-20 14:44:11 +00:00
Kevin Ruland
33374d9ad4 Change typemap to use variable name REF.
Added additional typemaps for other simple types (integers, doubles, strings).


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7456 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-16 18:25:49 +00:00
Kevin Ruland
b9b43734d3 Switch typechecks for simple data types to allow conversion.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7455 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-16 18:24:05 +00:00
Kevin Ruland
b4c945a488 Added a fourth argument (flags) to all calls to SWIG_ConvertPtr.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7415 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-07 02:06:22 +00:00
Kevin Ruland
d908e688ef Added typemap for SWIGTYPE *DISOWN.
Changed all the calls to SWIG_ConvertPtr to pass a fourth argument of 0.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7414 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-07 02:06:03 +00:00
Kevin Ruland
3965256ffb Removed the old cptr mangling method SWIG_ConvertPtr_.
Added support for DISOWN typemaps by adding a flag to SWIG_ConvertPtr.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7413 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-07 02:04:55 +00:00
Kevin Ruland
5d8b1e2a30 Added support for %minit, %mshutdown, %rinit, %rshutdown user supplied code.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7401 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-08-29 11:28:56 +00:00
Kevin Ruland
88736745e4 Made comment more informative.
Added convert_to_{double|long}_ex in the in typemaps.
Corrected the REFERENCE typemaps so they now work.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7394 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-08-25 18:33:26 +00:00
Kevin Ruland
ba9c6ec810 Added support for a %shutdown %{ %}, or %insert("shutdown") %{ %} block to
inject code into the PHP_MSHUTDOWN_FUNCTION.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7393 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-08-24 17:42:31 +00:00
Kevin Ruland
6c87325b91 Fairly major update to php code generation and type library. Brief summary:
- Revised simplified makefile generation using -make switch.
 - Proper support of in, out, argout, ret typemaps.
 - Function overloading with typecheck typemap support.
 - Fragment inclusion in typemaps.
 - Proper handling of object destructors relying on PHP's reference counting.
 - Constants using consttab and varinit typemaps.
 - Global variables using varinit typemaps.
 - Can generate C++ bindings using either objects or no objects (-noproxy).
 - Special phppointer.i typemaps for using php references for pointer passing.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7392 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-08-24 17:10:11 +00:00