[EMAIL PROTECTED] writes:
> TCL_OBJ_CMD( "encrypt", Rivet_EncryptCmd );
> TCL_OBJ_CMD( "decrypt", Rivet_DecryptCmd );
> TCL_OBJ_CMD( "crypt", Rivet_CryptCmd );
I would encourage you to take a look at the WebSh implementation of
this, just for kicks. If you don't have the code already, the CVS is
the same except for 'tcl-websh' instead of 'tcl-rivet'. They have a
lot of commands and code built in, and where possible, I would like to
share.
> * Rivet_HexToDigit --
> * Rivet_UnescapeStringCmd --
> * Rivet_EscapeStringCmd --
What do these have that the relevant Apache functions don't?
ap_os_escape_path and ap_unescape_url, to wit.
> * Rivet_EscapeSgmlCharsCmd --
> switch(c) {
> case '&':
> *newStringP++ = '&';
> *newStringP++ = 'a';
> *newStringP++ = 'm';
> *newStringP++ = 'p';
> *newStringP++ = ';';
> break;
> case '<':
> *newStringP++ = '&';
> *newStringP++ = 'l';
> *newStringP++ = 't';
> *newStringP++ = ';';
> break;
> case '>':
> *newStringP++ = '&';
> *newStringP++ = 'g';
> *newStringP++ = 't';
> *newStringP++ = ';';
> break;
> case '\'':
> *newStringP++ = '&';
> *newStringP++ = '#';
> *newStringP++ = '3';
> *newStringP++ = '9';
> *newStringP++ = ';';
> break;
> case '"':
> *newStringP++ = '&';
> *newStringP++ = 'q';
> *newStringP++ = 'u';
> *newStringP++ = 'o';
> *newStringP++ = 't';
> *newStringP++ = ';';
> break;
What is the purpose of these? Just to escape things that might be
HTML relevant, or...?
> * Rivet_EscapeShellCommandCmd --
> * Implements the TCL www_escape_shell_command command:
Looks like a very good one to have around.
--
David N. Welton
Consulting: http://www.dedasys.com/
Free Software: http://people.debian.org/~davidw/
Apache Tcl: http://tcl.apache.org/
Personal: http://www.efn.org/~davidw/