Posted to tcl by suchenwi at Wed Oct 03 18:09:11 GMT 2007view pretty

 critcl::cproc myincr {Tcl_Interp* interp char* varname} int {
    Tcl_Obj* var = Tcl_GetVar(interp,varname, 0);
    int i, rc;
    if(var == NULL) return -1;
    if(Tcl_IsShared(var)) {
        var = Tcl_DuplicateObj(var);
        Tcl_IncrRefCount(var);
    }
    rc = Tcl_GetIntFromObj(interp, var, &i);
    Tcl_SetIntObj(var, i+1);
    return i+1;    
 }
 set foo 42
 #myincr foo
 puts foo:$foo