Hi Antti,

costello@iki.fi (Antti J$(D??(Brvinen) writes:
> char *the_program = "puts stdout $FooBar\nset a_len [ string length
> $FooBar ]\nputs stdout $a_len" ;
> [...]
>   printf("\neval=%d\n",Tcl_Eval(tcl_interp, the_program)) ; 


With older Tcl versions, the actual programs that are passed to
Tcl_Eval() must be in modifiable memory (the code temporarily sets
characters to 0).  Try this variable declaration instead:

 static char the_program[] =
  "puts stdout $FooBar\n"
  "set a_len [ string length $FooBar ]\n"
  "puts stdout $a_len\n"
  ;

benny