[BACK]Return to cgi.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/cgi.c between version 1.61 and 1.63

version 1.61, 2014/07/10 00:52:50 version 1.63, 2014/07/11 22:27:35
Line 165  html_printquery(const struct req *req)
Line 165  html_printquery(const struct req *req)
         }          }
         if (NULL != req->q.expr) {          if (NULL != req->q.expr) {
                 printf("&expr=");                  printf("&expr=");
                 html_print(req->q.expr ? req->q.expr : "");                  html_print(req->q.expr);
         }          }
 }  }
   
Line 284  static int
Line 284  static int
 http_decode(char *p)  http_decode(char *p)
 {  {
         char             hex[3];          char             hex[3];
           char            *q;
         int              c;          int              c;
   
         hex[2] = '\0';          hex[2] = '\0';
   
         for ( ; '\0' != *p; p++) {          q = p;
           for ( ; '\0' != *p; p++, q++) {
                 if ('%' == *p) {                  if ('%' == *p) {
                         if ('\0' == (hex[0] = *(p + 1)))                          if ('\0' == (hex[0] = *(p + 1)))
                                 return(0);                                  return(0);
Line 299  http_decode(char *p)
Line 301  http_decode(char *p)
                         if ('\0' == c)                          if ('\0' == c)
                                 return(0);                                  return(0);
   
                         *p = (char)c;                          *q = (char)c;
                         memmove(p + 1, p + 3, strlen(p + 3) + 1);                          p += 2;
                 } else                  } else
                         *p = '+' == *p ? ' ' : *p;                          *q = '+' == *p ? ' ' : *p;
         }          }
   
         *p = '\0';          *q = '\0';
         return(1);          return(1);
 }  }
   
Line 314  resp_begin_http(int code, const char *msg)
Line 316  resp_begin_http(int code, const char *msg)
 {  {
   
         if (200 != code)          if (200 != code)
                 printf("Status: %d %s\n", code, msg);                  printf("Status: %d %s\r\n", code, msg);
   
         puts("Content-Type: text/html; charset=utf-8\n"          printf("Content-Type: text/html; charset=utf-8\r\n"
              "Cache-Control: no-cache\n"               "Cache-Control: no-cache\r\n"
              "Pragma: no-cache\n"               "Pragma: no-cache\r\n"
              "");               "\r\n");
   
         fflush(stdout);          fflush(stdout);
 }  }
Line 484  resp_search(const struct req *req, struct manpage *r, 
Line 486  resp_search(const struct req *req, struct manpage *r, 
                  * If we have just one result, then jump there now                   * If we have just one result, then jump there now
                  * without any delay.                   * without any delay.
                  */                   */
                 puts("Status: 303 See Other");                  printf("Status: 303 See Other\r\n");
                 printf("Location: http://%s%s/show/%s/%s?",                  printf("Location: http://%s%s/show/%s/%s?",
                     httphost, scriptname, req->q.manpath, r[0].file);                      httphost, scriptname, req->q.manpath, r[0].file);
                 http_printquery(req);                  http_printquery(req);
                 puts("\n"                  printf("\r\n"
                      "Content-Type: text/html; charset=utf-8\n");                       "Content-Type: text/html; charset=utf-8\r\n"
                        "\r\n");
                 return;                  return;
         }          }
   

Legend:
Removed from v.1.61  
changed lines
  Added in v.1.63

CVSweb