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

  1. critcl::cproc myincr {Tcl_Interp* interp char* varname} ok {
  2. Tcl_Obj* var = Tcl_GetVar2Ex(interp,varname, NULL, 0);
  3. int i;
  4. if(var == NULL) {
  5. Tcl_SetResult(interp, "no such variable", NULL);
  6. return TCL_ERROR;
  7. }
  8. if(Tcl_GetIntFromObj(interp, var, &i) != TCL_OK) return TCL_ERROR;
  9. Tcl_SetVar2Ex(interp, varname, NULL, Tcl_NewIntObj(i+1), 0);
  10. return TCL_OK;
  11. }
  12. set foo 42
  13. set bar x$foo
  14. myincr foo
  15. puts foo:$foo,bar:$bar
  16.