From: Marcelo M. <mar...@us...> - 2006-01-28 04:15:12
|
Update of /cvsroot/swig/SWIG/Source/Modules In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13914/Source/Modules Modified Files: tcl8.cxx Log Message: add missing goto fail when needed Index: tcl8.cxx =================================================================== RCS file: /cvsroot/swig/SWIG/Source/Modules/tcl8.cxx,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** tcl8.cxx 28 Jan 2006 02:35:13 -0000 1.39 --- tcl8.cxx 28 Jan 2006 04:14:57 -0000 1.40 *************** *** 579,583 **** Printv(getf->def,"SWIGINTERN char *",getname,"(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, char *name1, char *name2, int flags) {",NIL); Wrapper_add_local(getf,"value", "Tcl_Obj *value = 0"); ! if ((tm = Swig_typemap_lookup_new("varout",n,name,0))) { Replaceall(tm,"$source", name); --- 579,583 ---- Printv(getf->def,"SWIGINTERN char *",getname,"(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, char *name1, char *name2, int flags) {",NIL); Wrapper_add_local(getf,"value", "Tcl_Obj *value = 0"); ! int addfail = 0; if ((tm = Swig_typemap_lookup_new("varout",n,name,0))) { Replaceall(tm,"$source", name); *************** *** 585,589 **** Replaceall(tm,"$result", "value"); /* Printf(getf->code, "%s\n",tm); */ ! emit_action_code(n, getf, tm); Printf(getf->code, "if (value) {\n"); Printf(getf->code, "Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);\n"); --- 585,589 ---- Replaceall(tm,"$result", "value"); /* Printf(getf->code, "%s\n",tm); */ ! addfail = emit_action_code(n, getf, tm); Printf(getf->code, "if (value) {\n"); Printf(getf->code, "Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);\n"); *************** *** 591,594 **** --- 591,598 ---- Printf(getf->code, "}\n"); Printf(getf->code, "return NULL;\n"); + if (addfail) { + Append(getf->code,"fail:\n"); + Printf(getf->code,"return \"%s\";\n", iname); + } Printf(getf->code,"}\n"); Wrapper_print(getf,f_wrappers); |