From: William F. <wsf...@us...> - 2004-05-24 20:35:27
|
Update of /cvsroot/swig/SWIG/Source/Swig In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12697 Modified Files: cwrap.c Log Message: unnamed global enum variables support Index: cwrap.c =================================================================== RCS file: /cvsroot/swig/SWIG/Source/Swig/cwrap.c,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** cwrap.c 22 Apr 2004 20:40:34 -0000 1.37 --- cwrap.c 24 May 2004 20:35:16 -0000 1.38 *************** *** 90,94 **** Swig_wrapped_var_type(SwigType *t) { SwigType *ty; ! ty = Copy(t); if (SwigType_isclass(t)) { --- 90,100 ---- Swig_wrapped_var_type(SwigType *t) { SwigType *ty; ! ! if (!Strstr(t,"enum $unnamed")) { ! ty = Copy(t); ! } else { ! /* Change the type for unnamed enum instance variables */ ! ty = NewString("int"); ! } if (SwigType_isclass(t)) { *************** *** 1093,1097 **** Delete(ty); ! Setattr(n,"wrap:action", NewStringf("%s = %s;\n", nname, Swig_wrapped_var_deref(type,Swig_cparm_name(0,0)))); Setattr(n,"type","void"); Setattr(n,"parms",parms); --- 1099,1107 ---- Delete(ty); ! if (!Strstr(type,"enum $unnamed")) { ! Setattr(n,"wrap:action", NewStringf("%s = %s;\n", nname, Swig_wrapped_var_deref(type,Swig_cparm_name(0,0)))); ! } else { ! Setattr(n,"wrap:action", NewStringf("if (sizeof(int) == sizeof(%s)) *(int*)(void*)&(%s) = %s;\n", nname, nname, Swig_cparm_name(0,0))); ! } Setattr(n,"type","void"); Setattr(n,"parms",parms); |