On 11/19/23 00:50, Massimo Manghi wrote:
Dear fellow Tcl'ers


The relevant macro in tclDecls.h

#define Tcl_ExternalToUtfDString(encoding, src, len, ds) \
     (Tcl_ExternalToUtfDStringEx(NULL, (encoding), (src), (len), \
     TCL_ENCODING_PROFILE_TCL8, (ds), NULL), Tcl_DStringValue(ds))

which expands Tcl_ExternalToUtfDString(encoding, src, len, ds) as

(Tcl_ExternalToUtfDString(....),Tcl_DStringValue(ds))

where apparently the function call on the right of the comma has no meaningful purpose, as it returns the string internal value which goes unassigned.

Probably a minor problem but I thought the Tcl includes shouldn't in principle generate unnecessary noise

  -- Massimo


The problem was that unlike the previous function definition the macro construction requires the returned value to be used somehow. Harald are this macros supposed to replace deprecated functions?

There's much to be done on this in src/mod_rivet_ng/TclWebapache.c. Rivet ignores the encoding argument of this macro.

mod_rivet basically works with Tcl 9.0 but the usual global variables (auto_path, tcl_platform, tcl_version etc.) are not there anymore in the interpreter

I'm going to commit in tcl-novem the work I have so far made

 -- Massimo

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscr...@tcl.apache.org
For additional commands, e-mail: rivet-dev-h...@tcl.apache.org

Reply via email to