*** Display.cc.orig	Thu Sep  7 11:37:58 2000
--- Display.cc	Thu Sep  7 12:13:33 2000
***************
*** 346,352 ****
              struct tm   *tm = localtime(&t);
              String datefmt = config["date_format"];
              const String locale  = config["locale"];
!             if (!datefmt.empty())
                {
                  if (config.Boolean("iso_8601"))
                      datefmt = "%Y-%m-%d %H:%M:%S %Z";
--- 346,352 ----
              struct tm   *tm = localtime(&t);
              String datefmt = config["date_format"];
              const String locale  = config["locale"];
!             if (datefmt.empty())
                {
                  if (config.Boolean("iso_8601"))
                      datefmt = "%Y-%m-%d %H:%M:%S %Z";
***************
*** 1040,1046 ****
                  state = StStart;
                  break;
              case StVarStart:
!                 if (*str == '%')
                      var << *str;        // code for URL-encoded variable
                  else if (*str == '&')
                  {
--- 1040,1046 ----
                  state = StStart;
                  break;
              case StVarStart:
!                 if (*str == '%' || *str == '=')
                      var << *str;        // code for URL-encoded variable
                  else if (*str == '&')
                  {
***************
*** 1110,1116 ****
      // see if we can find a good replacement for it, either in our
      // vars dictionary or in the environment variables.
      name = var;
!     while (*name == '&' || *name == '%')
          name++;
      temp = (String *) vars[name];
      if (temp)
--- 1110,1116 ----
      // see if we can find a good replacement for it, either in our
      // vars dictionary or in the environment variables.
      name = var;
!     while (*name == '&' || *name == '%' || *name == '=')
          name++;
      temp = (String *) vars[name];
      if (temp)
***************
*** 1125,1132 ****
      {
          if (*name == '%')
              encodeURL(value);
!         else
              value = HtSGMLCodec::instance()->decode(value);
      }
      cout << value;
  }
--- 1125,1134 ----
      {
          if (*name == '%')
              encodeURL(value);
!         else if(*name == '&')
              value = HtSGMLCodec::instance()->decode(value);
+         else
+             decodeURL(value);
      }
      cout << value;
  }
