detailed.html page broken in CVS

Hello,

I have a problem with the detailed.html page when I use the CVS version of
the validator: my choices of encoding or type are not transmitted to the
validator. The culprit seems to be the code that transforms a POST request
into a GET, but does not copy the doctype or charset information.

I attach below a possible patch, against the current CVS version. It seems
to work, but I was just wondering if some more escaping could be necessary
(eg what happens if the charset variable contains a ";") ?

The code duplication is already in the original script (any simple way to
fix that ?).

Frédéric

--- check.orig	Thu Oct 31 15:24:09 2002
+++ check	Thu Oct 31 15:23:02 2002
@@ -1942,6 +1942,12 @@
          $thispage .= ';sp=1'      if $q->param('sp');
          $thispage .= ';noatt=1'   if $q->param('noatt');
          $thispage .= ';outline=1' if $q->param('outline');
+         $thispage .= ';doctype='.$q->param('doctype')
+           if ($q->param('doctype') and not
+               $q->param('doctype') =~ /(Inline|detect)/i);
+         $thispage .= ';charset='.$q->param('charset')
+           if ($q->param('charset') and not
+               $q->param('charset') =~ /detect/i);
 
       print $q->redirect($thispage);
       exit;
@@ -1982,6 +1988,12 @@
        $thispage .= ';sp=1'      if $q->param('sp');
        $thispage .= ';noatt=1'   if $q->param('noatt');
        $thispage .= ';outline=1' if $q->param('outline');
+       $thispage .= ';doctype='.$q->param('doctype')
+	 if ($q->param('doctype') and not
+	     $q->param('doctype') =~ /(Inline|detect)/i);
+       $thispage .= ';charset='.$q->param('charset')
+	 if ($q->param('charset') and not
+	     $q->param('charset') =~ /detect/i);
 
     print $q->redirect($thispage);
     exit;

Received on Thursday, 31 October 2002 00:08:13 UTC