@@ -17,19 +17,19 @@ # Multiple arguments tcc4tcl::cproc add {int a int b} int { return(a+b); } # Add external functions -tcc4tcl::cproc mkdir {char* dir} ok { - int rv; - - rv = mkdir(dir); - if (rv == 0) { - return(TCL_OK); - }; - - return(TCL_ERROR); +tcc4tcl::cproc mkdir {Tcl_Interp* interp char* dir} ok { + int mkdir_ret; + mkdir_ret = mkdir(dir); + + if (mkdir_ret != 0) { + Tcl_SetObjResult(interp, Tcl_NewStringObj("failed", -1)); + return(TCL_ERROR); + }; + return(TCL_OK); } puts [test 1] puts [test1 1] @@ -38,8 +38,8 @@ puts [add [test 1] 1] catch { puts [mkdir "/"] } err -if {$err != ""} { +if {$err != "failed"} { error "\[mkdir\] did not return the expected error" }