varin enum SWIGTYPE mods to handle unnamed enums
varin char[] typemap git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6150 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
2631309c2f
commit
052d067feb
1 changed files with 17 additions and 1 deletions
|
|
@ -288,7 +288,7 @@
|
|||
|
||||
/* -- Variable input --- */
|
||||
|
||||
%typemap(varin) int, unsigned int, short, unsigned short, long, unsigned long, signed char, unsigned char, enum SWIGTYPE
|
||||
%typemap(varin) int, unsigned int, short, unsigned short, long, unsigned long, signed char, unsigned char
|
||||
{
|
||||
long temp;
|
||||
if (Tcl_GetLongFromObj(interp, $input, &temp) != TCL_OK) {
|
||||
|
|
@ -297,6 +297,18 @@
|
|||
$1 = ($1_type) temp;
|
||||
}
|
||||
|
||||
%typemap(varin) enum SWIGTYPE
|
||||
{
|
||||
int temp;
|
||||
if (Tcl_GetIntFromObj(interp, $input, &temp) != TCL_OK) {
|
||||
return (char*) "Type error. expected an integer";
|
||||
}
|
||||
if (sizeof(int) != sizeof($1)) {
|
||||
return (char*) "enum variable '$name' can not be set.";
|
||||
}
|
||||
*(int *)(void *)&($1) = temp;
|
||||
}
|
||||
|
||||
%typemap(varin) bool
|
||||
{
|
||||
long temp;
|
||||
|
|
@ -354,6 +366,10 @@
|
|||
strncpy((char*)$1,temp,$1_dim0);
|
||||
}
|
||||
|
||||
%typemap(varin,warning="462: Unable to set variable of type char []") char [] {
|
||||
return (char*)"Variable $symname is read-only.";
|
||||
}
|
||||
|
||||
%typemap(varin) char
|
||||
{
|
||||
char *temp = Tcl_GetStringFromObj($input,NULL);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue