From: Lyle J. <ly...@us...> - 2004-08-26 01:48:49
|
Update of /cvsroot/swig/SWIG/Lib/ruby In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20022 Modified Files: rubystrings.swg Log Message: Modified the "varin" typemap for a dimensionless char array to generate a warning message, and to raise an exception if the typemap is actually invoked at runtime. This is needed to avoid problems for the case when wrapping an extern char[] declaration, where the array size is truly unknown. Index: rubystrings.swg =================================================================== RCS file: /cvsroot/swig/SWIG/Lib/ruby/rubystrings.swg,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** rubystrings.swg 24 Aug 2004 12:28:07 -0000 1.1 --- rubystrings.swg 26 Aug 2004 01:48:40 -0000 1.2 *************** *** 1,3 **** --- 1,4 ---- /* --- Input Values --- */ + %typemap(in) char * "$1 = StringValuePtr($input);"; %typemap(in) char [ANY] "$1 = StringValuePtr($input);"; *************** *** 60,66 **** /* Special case for string array variables */ ! %typemap(varin) char[] { ! size_t size = sizeof($1); ! strncpy($1,StringValuePtr($input),size); } --- 61,68 ---- /* Special case for string array variables */ ! %typemap(varin, ! warning="462:Unable to set variable of type char []") char[] ! { ! rb_raise(rb_eTypeError, "C/C++ variable '$name' is read-only."); } |