Posted to tcl by xharx at Thu Nov 12 16:32:11 GMT 2020view raw
- 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?