Posted to tcl by suchenwi at Wed Oct 03 19:52:25 GMT 2007view pretty

 critcl::cproc myincr {Tcl_Interp* interp char* varname} ok {
    Tcl_Obj* var = Tcl_GetVar2Ex(interp,varname, NULL, 0);
    int i;
    if(var == NULL) {
        Tcl_SetResult(interp, "no such variable", NULL);
        return TCL_ERROR;
    }
    if(Tcl_GetIntFromObj(interp, var, &i) != TCL_OK) return TCL_ERROR;
    Tcl_SetVar2Ex(interp, varname, NULL, Tcl_NewIntObj(i+1), 0);
    return TCL_OK;
 }
 set foo 42
 set bar x$foo
 myincr foo
 puts foo:$foo,bar:$bar