Posted to tcl by xharx at Thu Nov 12 16:32:11 GMT 2020view pretty
int EPtkcreatepicdata(ClientData clientdata, Tcl_Interp *interp, int arc, const char **argv) {
char *pto=malloc(100);
sprintf(pto, "%s", "dings");
Tcl_Obj *mobj=Tcl_NewObj();
mobj->bytes=pto;
mobj->length=10;
Tcl_SetObjResult(interp, mobj);
return TCL_OK;
}
void registercommands(Tcl_Interp *tcl_interp) {
Tcl_CreateCommand(tcl_interp, "epcreatepicdata", EPtkcreatepicdata, (ClientData) NULL, (Tcl_CmdDeleteProc *)NULL);
}
Now, in a tcl- script, when I say eg.
puts [epcreatepicdata]
I get a
dings
alloc: invalid block: 0x7f8f8c3dcf70: a5 0
What do I do wrong?