[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/

Reply via email to