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