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

  1. critcl::cproc myincr {Tcl_Interp* interp char* varname} int {
  2. Tcl_Obj* var = Tcl_GetVar(interp,varname, 0);
  3. int i, rc;
  4. if(var == NULL) return -1;
  5. if(Tcl_IsShared(var)) {
  6. var = Tcl_DuplicateObj(var);
  7. Tcl_IncrRefCount(var);
  8. }
  9. rc = Tcl_GetIntFromObj(interp, var, &i);
  10. Tcl_SetIntObj(var, i+1);
  11. return i+1;
  12. }
  13. set foo 42
  14. #myincr foo
  15. puts foo:$foo
  16.