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

Diff for /mandoc/cgi.c between version 1.128 and 1.129

version 1.128, 2016/04/15 16:42:52 version 1.129, 2016/04/15 21:14:51
Line 59  struct req {
Line 59  struct req {
         int               isquery; /* QUERY_STRING used, not PATH_INFO */          int               isquery; /* QUERY_STRING used, not PATH_INFO */
 };  };
   
 static  void             catman(const struct req *, const char *);  
 static  void             format(const struct req *, const char *);  
 static  void             html_print(const char *);  static  void             html_print(const char *);
 static  void             html_putchar(char);  static  void             html_putchar(char);
 static  int              http_decode(char *);  static  int              http_decode(char *);
 static  void             http_parse(struct req *, const char *);  static  void             parse_manpath_conf(struct req *);
 static  void             pathgen(struct req *);  static  void             parse_path_info(struct req *req, const char *path);
 static  void             path_parse(struct req *req, const char *path);  static  void             parse_query_string(struct req *, const char *);
 static  void             pg_error_badrequest(const char *);  static  void             pg_error_badrequest(const char *);
 static  void             pg_error_internal(void);  static  void             pg_error_internal(void);
 static  void             pg_index(const struct req *);  static  void             pg_index(const struct req *);
Line 77  static void   pg_searchres(const struct req *,
Line 75  static void   pg_searchres(const struct req *,
 static  void             pg_show(struct req *, const char *);  static  void             pg_show(struct req *, const char *);
 static  void             resp_begin_html(int, const char *);  static  void             resp_begin_html(int, const char *);
 static  void             resp_begin_http(int, const char *);  static  void             resp_begin_http(int, const char *);
   static  void             resp_catman(const struct req *, const char *);
 static  void             resp_copy(const char *);  static  void             resp_copy(const char *);
 static  void             resp_end_html(void);  static  void             resp_end_html(void);
   static  void             resp_format(const struct req *, const char *);
 static  void             resp_searchform(const struct req *);  static  void             resp_searchform(const struct req *);
 static  void             resp_show(const struct req *, const char *);  static  void             resp_show(const struct req *, const char *);
 static  void             set_query_attr(char **, char **);  static  void             set_query_attr(char **, char **);
Line 185  set_query_attr(char **attr, char **val)
Line 185  set_query_attr(char **attr, char **val)
  * and store the values into the query structure.   * and store the values into the query structure.
  */   */
 static void  static void
 http_parse(struct req *req, const char *qs)  parse_query_string(struct req *req, const char *qs)
 {  {
         char            *key, *val;          char            *key, *val;
         size_t           keysz, valsz;          size_t           keysz, valsz;
Line 661  pg_searchres(const struct req *req, struct manpage *r,
Line 661  pg_searchres(const struct req *req, struct manpage *r,
 }  }
   
 static void  static void
 catman(const struct req *req, const char *file)  resp_catman(const struct req *req, const char *file)
 {  {
         FILE            *f;          FILE            *f;
         char            *p;          char            *p;
Line 798  catman(const struct req *req, const char *file)
Line 798  catman(const struct req *req, const char *file)
 }  }
   
 static void  static void
 format(const struct req *req, const char *file)  resp_format(const struct req *req, const char *file)
 {  {
         struct manoutput conf;          struct manoutput conf;
         struct mparse   *mp;          struct mparse   *mp;
Line 856  resp_show(const struct req *req, const char *file)
Line 856  resp_show(const struct req *req, const char *file)
                 file += 2;                  file += 2;
   
         if ('c' == *file)          if ('c' == *file)
                 catman(req, file);                  resp_catman(req, file);
         else          else
                 format(req, file);                  resp_format(req, file);
 }  }
   
 static void  static void
Line 1025  main(void)
Line 1025  main(void)
   
         memset(&req, 0, sizeof(struct req));          memset(&req, 0, sizeof(struct req));
         req.q.equal = 1;          req.q.equal = 1;
         pathgen(&req);          parse_manpath_conf(&req);
   
         /* Parse the path info and the query string. */          /* Parse the path info and the query string. */
   
Line 1035  main(void)
Line 1035  main(void)
                 path++;                  path++;
   
         if (*path != '\0') {          if (*path != '\0') {
                 path_parse(&req, path);                  parse_path_info(&req, path);
                 if (access(path, F_OK) == -1)                  if (access(path, F_OK) == -1)
                         path = "";                          path = "";
         } else if ((querystring = getenv("QUERY_STRING")) != NULL)          } else if ((querystring = getenv("QUERY_STRING")) != NULL)
                 http_parse(&req, querystring);                  parse_query_string(&req, querystring);
   
         /* Validate parsed data and add defaults. */          /* Validate parsed data and add defaults. */
   
Line 1080  main(void)
Line 1080  main(void)
  * If PATH_INFO is not a file name, translate it to a query.   * If PATH_INFO is not a file name, translate it to a query.
  */   */
 static void  static void
 path_parse(struct req *req, const char *path)  parse_path_info(struct req *req, const char *path)
 {  {
         char    *dir;          char    *dir;
   
Line 1132  path_parse(struct req *req, const char *path)
Line 1132  path_parse(struct req *req, const char *path)
  * Scan for indexable paths.   * Scan for indexable paths.
  */   */
 static void  static void
 pathgen(struct req *req)  parse_manpath_conf(struct req *req)
 {  {
         FILE    *fp;          FILE    *fp;
         char    *dp;          char    *dp;

Legend:
Removed from v.1.128  
changed lines
  Added in v.1.129

CVSweb