Posted to tcl by gps at Sun Apr 19 04:46:29 GMT 2009view raw

  1. static int
  2. invoke_traces (Tcl_Interp *interp, struct objstructure_element *elem) {
  3. struct objstructure *s = elem->parent;
  4. struct objstructure_trace *traces;
  5. int r = TCL_OK;
  6.  
  7.  
  8. s->rc += 1;
  9. elem->rc += 1;
  10.  
  11. traces = elem->traces;
  12. while (traces) {
  13. r = Tcl_EvalObjEx (interp, traces->callback, TCL_EVAL_GLOBAL);
  14. if (TCL_ERROR == r)
  15. break;
  16.  
  17. traces = traces->next;
  18. }
  19.  
  20. elem->rc -= 1;
  21. s->rc -= 1;
  22.  
  23. return r;
  24. }
  25.