Commit graph

41 commits

Author SHA1 Message Date
William S Fulton
0236435c48 Scilab typemap fixes for C89 2015-02-11 23:24:40 +00:00
Oliver Buchtala
a234542543 Merge branch 'master' into tmp
Conflicts:
	.travis.yml
	Examples/Makefile.in
	Examples/test-suite/director_nspace.i
	Examples/test-suite/nspace.i
	Examples/test-suite/nspace_extend.i
	Source/Modules/lang.cxx
	configure.ac
2014-03-05 01:09:26 +01:00
Vadim Zeitlin
cdf1ba9120 Don't accept strings too long to fit in char[N] with trailing NUL.
It was previously possible to assign "hello" to a variable backed by char[5]
storage in C, and the array contained the correct character data but without
the trailing NUL, which was unexpected in C.

This is not allowed any more, only "helo" can fit into a char[5] now and
anything else fails the type check, just as it already happened for the longer
strings before.

Closes #122
2013-12-23 21:13:25 +00:00
Vadim Zeitlin
88a0e228a9 Change the length of strings created from fixed-size buffers.
Use the usual C rule for NUL-terminated strings instead of discarding all the
trailing NUL characters.

This was unexpected (as buffers in C code are not necessarily always padded
with NULs to their full length) and also inconsistent among languages as this
was only done for those of them using typemaps/strings.swg but not for C# or
Java, for example, which terminated the string at the first NUL even before
this change.

Notice that this patch couldn't use strlen() or wcslen() with possibly not
NUL-terminated strings, so we had to add [our own equivalents of] strnlen()
and wcsnlen() and use them instead. This required adding yet another parameter
to string typemap macros, so update the example using them accordingly too.
2013-12-23 21:12:17 +00:00
Oliver Buchtala
050219d998 Merge branch 'devel' of https://github.com/Neha03/gsoc2012-javascript into devel
Conflicts:
	.project
	COPYRIGHT
	Doc/Manual/style.css
	Examples/Makefile.in
	Examples/test-suite/common.mk
	Lib/typemaps/strings.swg
	Makefile.in
	Source/DOH/fio.c
	Source/Makefile.am
	Source/Modules/emit.cxx
	Source/Modules/javascript.cxx
	configure.in

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13764 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 00:56:48 +00:00
William S Fulton
6f729a05d9 Patch from Karl Wette to allow custom allocators in STL string classes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12925 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-16 06:58:40 +00:00
William S Fulton
4c898b023c The 'directorin' typemap now accepts , etc expansions instead of having to use workarounds - _name, _name etc.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12879 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-12-21 07:16:44 +00:00
William S Fulton
40efa07052 Typemap correction for: (size_t LENGTH, const char *STRING)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12762 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-07-26 06:27:10 +00:00
William S Fulton
89face5db1 Fix overloading when using const char[] and char[ANY] and const char[ANY]
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12541 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-03-15 20:59:04 +00:00
William S Fulton
ac42dd8153 remove duplicate UTL char * typemaps
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12456 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-02-13 01:27:02 +00:00
William S Fulton
ff8f6b5c66 minor formatting changes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11996 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-04-23 18:16:31 +00:00
Olly Betts
d1dabb7231 Fix UTL typecheck macro for a function taking char[] or const
char[] (SF#1820132).


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10043 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-10-25 23:05:32 +00:00
William S Fulton
cff71a3716 Fixes for %apply char *, char[], char[ANY] to other types, like unsigned char
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9462 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-10-19 21:35:19 +00:00
William S Fulton
389b4813ca more %apply char* fixes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9093 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-05-05 23:26:57 +00:00
Marcelo Matus
c21c26945c more fixes to use %apply and char, unsigned char and others
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9082 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-05-04 02:01:17 +00:00
Marcelo Matus
f95d974620 fix changes in 1.3 to better support %apply, it didn't compile with python before
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9080 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-05-03 23:08:15 +00:00
Marcelo Matus
a2b1dd53be fix null char* case, reported by Daniel Moore
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9078 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-05-03 22:46:25 +00:00
Marcelo Matus
5ad74d2921 fix null char* case, reported by Daniel Moore
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9077 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-05-03 22:34:26 +00:00
William S Fulton
2d24918a97 ensure %apply with char*, unsigned char* and signed char* works
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9072 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-05-03 20:58:19 +00:00
Marcelo Matus
220a0ad055 fix char *& typemap, reported by Geoff Hutchison
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8882 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-23 21:26:36 +00:00
Marcelo Matus
0f147b997e delete extra spaces
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8762 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-09 20:42:34 +00:00
Marcelo Matus
4d3b731ca5 remove noblock=1 in the varin typemaps since Tcl could add some code before the variable declarations
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8490 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-20 00:59:29 +00:00
Marcelo Matus
f3ffb41b62 add 'newfree' typemap
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8486 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-19 07:55:48 +00:00
Marcelo Matus
1ee069a150 allow the result code to be passed to the error routine
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8323 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-09 19:12:51 +00:00
Marcelo Matus
89e7497ac6 add support for named warning codes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8249 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-06 11:42:24 +00:00
Marcelo Matus
c0e78562a4 add missing typecheck codes and Char typemaps
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8216 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-04 21:46:27 +00:00
Marcelo Matus
4048f282c9 add to %argument_fail
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8185 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-02 17:37:53 +00:00
Marcelo Matus
7223672e09 securing the call to SWIG_IsOK, which is a macro
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8131 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-30 01:14:24 +00:00
Marcelo Matus
88e6edcac3 fix for the typemap match option
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8108 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-28 07:52:55 +00:00
Marcelo Matus
0e4b388ec9 add implicitconv support and cosmetics for cast rank
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8095 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-27 22:06:26 +00:00
Marcelo Matus
ae09b70a40 changes to support cast ranking for dispatch and/or overloading
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8044 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-23 00:06:27 +00:00
Marcelo Matus
aee99ddce7 fix error in char typemap
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7999 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-18 00:09:26 +00:00
Marcelo Matus
f3c24eff33 fixes for directors + pointers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7860 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-21 21:01:35 +00:00
Marcelo Matus
a8fe5247e2 added methods for size_t and more freearg typemaps around, just in case
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7743 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-27 11:30:14 +00:00
Marcelo Matus
05c529eedc be sure we use #if defined(...) instead of the fragil #ifdef everywhere, fix missing director typemaps and cosmetics
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7742 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-27 10:35:38 +00:00
Marcelo Matus
3c5c038e86 fix ifdefs for directors
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7738 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-26 14:09:58 +00:00
Marcelo Matus
3c65cea431 Perl added to the Unified typemap library, cleaner way to use the library, and 'normalized' macro names
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7707 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-24 14:59:05 +00:00
Marcelo Matus
ba3efb0917 finishing the first stage of the typemap unification scheme, fixing issues with gcc and valgrind
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7692 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-20 09:47:56 +00:00
Marcelo Matus
7564088646 fix warnings/errors for gcc4.0, icc and valgrind
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7689 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-19 14:26:13 +00:00
Marcelo Matus
aadff06f45 more typemaps unification and fixes for valgrind
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7684 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-19 10:52:50 +00:00
Marcelo Matus
7e5e4fd1f9 massive typemap unification
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7676 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-18 13:24:15 +00:00