Fixed the void* bug. Thanks to Matthias.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8552 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Surendra Singhi 2006-01-25 12:40:05 +00:00
commit efca43aaa7

View file

@ -478,18 +478,24 @@ void CFFI :: emit_struct_union(Node *n, bool un=false) {
// SWIG_exit(EXIT_FAILURE); // SWIG_exit(EXIT_FAILURE);
} }
else{ else{
String *temp=Copy(Getattr(c,"decl")); // String *temp=Copy(Getattr(c,"decl"));
Append(temp,Getattr(c,"type")); //appending type to the end, otherwise wrong type // Append(temp,Getattr(c,"type")); //appending type to the end, otherwise wrong type
String *lisp_type=Swig_typemap_lookup_new("cin",c, "",0); // String *lisp_type=Swig_typemap_lookup_new("cin",c, "",0);
Delete(temp); // Delete(temp);
SwigType *childType=NewStringf("%s%s", Getattr(c,"decl"),
Getattr(c,"type"));
Hash *typemap = Swig_typemap_search("cin", childType,"", 0);
String *typespec = NewString("");
if (typemap) {
typespec=Getattr(typemap, "code");
}
String *slot_name = Getattr(c, "sym:name"); String *slot_name = Getattr(c, "sym:name");
Printf(f_cl, Printf(f_cl, "\n\t(%s %s)", slot_name, typespec);
"\n\t(%s %s)",
slot_name,
lisp_type);
Delete(lisp_type); Delete(slot_name);
Delete(typespec);
} }
} }