More fixes for arrays and variables, mostly cosmetic ones.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6105 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2004-08-18 22:57:05 +00:00
commit 26808b6d1c
5 changed files with 15 additions and 18 deletions

View file

@ -27,7 +27,7 @@
__VA_ARGS__ *ptr = (__VA_ARGS__ *)0; __VA_ARGS__ *ptr = (__VA_ARGS__ *)0;
int res = asptr_meth($input, &ptr); int res = asptr_meth($input, &ptr);
if (!res || !ptr) { if (!res || !ptr) {
PyErr_SetString(PyExc_TypeError, "C variable '$name ($1_ltype)'"); PyErr_SetString(PyExc_TypeError, "C/C++ variable '$name ($1_ltype)'");
return 1; return 1;
} }
$1 = *ptr; $1 = *ptr;

View file

@ -55,7 +55,7 @@
Char *cptr = 0; Char *cptr = 0;
if (!SWIG_AsNewCharPtr($input, &cptr)) { if (!SWIG_AsNewCharPtr($input, &cptr)) {
PyErr_Clear(); PyErr_Clear();
PyErr_SetString(PyExc_TypeError, "C variable '$name ($1_ltype)'"); PyErr_SetString(PyExc_TypeError, "C/C++ variable '$name ($1_ltype)'");
return 1; return 1;
} }
if ($1) swig_delete_array($1); if ($1) swig_delete_array($1);
@ -69,7 +69,7 @@
Char *cptr; Char *cptr;
if (!SWIG_AsNewCharPtr($input, &cptr)) { if (!SWIG_AsNewCharPtr($input, &cptr)) {
PyErr_Clear(); PyErr_Clear();
PyErr_SetString(PyExc_TypeError, "C variable '$name ($1_ltype)'"); PyErr_SetString(PyExc_TypeError, "C/C++ variable '$name ($1_ltype)'");
return 1; return 1;
} }
$1 = cptr; $1 = cptr;
@ -139,14 +139,11 @@
%apply Char* { Char [] }; %apply Char* { Char [] };
%apply const Char* { const Char [] }; %apply const Char* { const Char [] };
%typemap(varin,fragment=#SWIG_AsCharArray) Char [] %typemap(varin,fragment=#SWIG_AsCharArray,
warning="462:Unable to set variable of type Char []") Char []
{ {
size_t size = sizeof($1); PyErr_SetString(PyExc_TypeError, "C/C++ variable '$name' is read-only");
if (!SWIG_AsCharArray($input, $1, size)) { return 1;
PyErr_Clear();
PyErr_SetString(PyExc_TypeError, "C variable '$name ($1_ltype)'");
return 1;
}
} }
@ -189,7 +186,7 @@
{ {
if (!SWIG_AsCharArray($input, $1, $1_dim0)) { if (!SWIG_AsCharArray($input, $1, $1_dim0)) {
PyErr_Clear(); PyErr_Clear();
PyErr_SetString(PyExc_TypeError, "C variable '$name ($1_ltype)'"); PyErr_SetString(PyExc_TypeError, "C/C++ variable '$name ($1_ltype)'");
return 1; return 1;
} }
} }

View file

@ -85,7 +85,7 @@
int ii; int ii;
$1_basetype *b = 0; $1_basetype *b = 0;
if ((SWIG_ConvertPtr($input, &temp, $1_descriptor, SWIG_POINTER_EXCEPTION)) == -1) { if ((SWIG_ConvertPtr($input, &temp, $1_descriptor, SWIG_POINTER_EXCEPTION)) == -1) {
PyErr_SetString(PyExc_TypeError, "C variable '$name ($1_ltype)'"); PyErr_SetString(PyExc_TypeError, "C/C++ variable '$name ($1_ltype)'");
return 1; return 1;
} }
b = ($1_basetype *) $1; b = ($1_basetype *) $1;
@ -95,7 +95,7 @@
%typemap(varin) SWIGTYPE * { %typemap(varin) SWIGTYPE * {
void *temp; void *temp;
if ((SWIG_ConvertPtr($input, &temp, $1_descriptor, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN)) == -1) { if ((SWIG_ConvertPtr($input, &temp, $1_descriptor, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN)) == -1) {
PyErr_SetString(PyExc_TypeError, "C variable '$name ($1_ltype)'"); PyErr_SetString(PyExc_TypeError, "C/C++ variable '$name ($1_ltype)'");
return 1; return 1;
} }
$1 = ($1_ltype) temp; $1 = ($1_ltype) temp;
@ -104,7 +104,7 @@
%typemap(varin) SWIGTYPE & { %typemap(varin) SWIGTYPE & {
void *temp; void *temp;
if ((SWIG_ConvertPtr($input, &temp, $1_descriptor, SWIG_POINTER_EXCEPTION)) == -1 || temp == NULL) { if ((SWIG_ConvertPtr($input, &temp, $1_descriptor, SWIG_POINTER_EXCEPTION)) == -1 || temp == NULL) {
PyErr_SetString(PyExc_TypeError, "C variable '$name ($1_ltype)'"); PyErr_SetString(PyExc_TypeError, "C/C++ variable '$name ($1_ltype)'");
return 1; return 1;
} }
$1 = *($1_ltype) temp; $1 = *($1_ltype) temp;
@ -114,7 +114,7 @@
%typemap(varin) SWIGTYPE (CLASS::*) { %typemap(varin) SWIGTYPE (CLASS::*) {
char temp[sizeof($1_type)]; char temp[sizeof($1_type)];
if ((SWIG_ConvertPacked($input,(void *) temp, sizeof($1_type), $1_descriptor, SWIG_POINTER_EXCEPTION)) == -1) { if ((SWIG_ConvertPacked($input,(void *) temp, sizeof($1_type), $1_descriptor, SWIG_POINTER_EXCEPTION)) == -1) {
PyErr_SetString(PyExc_TypeError, "C variable '$name ($1_ltype)'"); PyErr_SetString(PyExc_TypeError, "C/C++ variable '$name ($1_ltype)'");
return 1; return 1;
} }
memmove((void *) &$1,temp,sizeof($1_type)); memmove((void *) &$1,temp,sizeof($1_type));
@ -123,7 +123,7 @@
%typemap(varin) SWIGTYPE { %typemap(varin) SWIGTYPE {
$&1_ltype temp; $&1_ltype temp;
if ((SWIG_ConvertPtr($input, (void **)(&temp), $&1_descriptor, SWIG_POINTER_EXCEPTION)) == -1) { if ((SWIG_ConvertPtr($input, (void **)(&temp), $&1_descriptor, SWIG_POINTER_EXCEPTION)) == -1) {
PyErr_SetString(PyExc_TypeError, "C variable '$name ($1_ltype)'"); PyErr_SetString(PyExc_TypeError, "C/C++ variable '$name ($1_ltype)'");
return 1; return 1;
} }
$1 = *(($&1_type) temp); $1 = *(($&1_type) temp);

View file

@ -31,7 +31,7 @@
%typemap(varin,fragment=pyfrag) __VA_ARGS__ { %typemap(varin,fragment=pyfrag) __VA_ARGS__ {
$1_type temp = ($1_type) as_meth($input); $1_type temp = ($1_type) as_meth($input);
if (PyErr_Occurred()) { if (PyErr_Occurred()) {
PyErr_SetString(PyExc_TypeError, "C variable '$name ($1_ltype)'"); PyErr_SetString(PyExc_TypeError, "C/C++ variable '$name ($1_ltype)'");
return 1; return 1;
} }
$1 = temp; $1 = temp;

View file

@ -18,7 +18,7 @@
void * temp; void * temp;
if ((SWIG_ConvertPtr($input, &temp, 0, if ((SWIG_ConvertPtr($input, &temp, 0,
SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN)) == -1) { SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN)) == -1) {
PyErr_SetString(PyExc_TypeError, "C variable '$name ($1_ltype)'"); PyErr_SetString(PyExc_TypeError, "C/C++ variable '$name ($1_ltype)'");
return 1; return 1;
} }
$1 = ($1_ltype) temp; $1 = ($1_ltype) temp;