=================================================================== RCS file: /cvs/mandoc/cgi.c,v retrieving revision 1.106 retrieving revision 1.109 diff -u -p -r1.106 -r1.109 --- mandoc/cgi.c 2015/03/27 21:33:20 1.106 +++ mandoc/cgi.c 2015/10/06 18:32:19 1.109 @@ -1,4 +1,4 @@ -/* $Id: cgi.c,v 1.106 2015/03/27 21:33:20 schwarze Exp $ */ +/* $Id: cgi.c,v 1.109 2015/10/06 18:32:19 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2014, 2015 Ingo Schwarze @@ -30,8 +30,9 @@ #include #include -#include "mandoc.h" #include "mandoc_aux.h" +#include "mandoc.h" +#include "roff.h" #include "main.h" #include "manconf.h" #include "mansearch.h" @@ -331,13 +332,13 @@ http_decode(char *p) for ( ; '\0' != *p; p++, q++) { if ('%' == *p) { if ('\0' == (hex[0] = *(p + 1))) - return(0); + return 0; if ('\0' == (hex[1] = *(p + 2))) - return(0); + return 0; if (1 != sscanf(hex, "%x", &c)) - return(0); + return 0; if ('\0' == c) - return(0); + return 0; *q = (char)c; p += 2; @@ -346,7 +347,7 @@ http_decode(char *p) } *q = '\0'; - return(1); + return 1; } static void @@ -498,10 +499,10 @@ validate_urifrag(const char *frag) if ( ! (isalnum((unsigned char)*frag) || '-' == *frag || '.' == *frag || '/' == *frag || '_' == *frag)) - return(0); + return 0; frag++; } - return(1); + return 1; } static int @@ -510,13 +511,13 @@ validate_manpath(const struct req *req, const char* ma size_t i; if ( ! strcmp(manpath, "mandoc")) - return(1); + return 1; for (i = 0; i < req->psz; i++) if ( ! strcmp(manpath, req->p[i])) - return(1); + return 1; - return(0); + return 0; } static int @@ -526,8 +527,8 @@ validate_filename(const char *file) if ('.' == file[0] && '/' == file[1]) file += 2; - return ( ! (strstr(file, "../") || strstr(file, "/..") || - (strncmp(file, "man", 3) && strncmp(file, "cat", 3)))); + return ! (strstr(file, "../") || strstr(file, "/..") || + (strncmp(file, "man", 3) && strncmp(file, "cat", 3))); } static void @@ -819,8 +820,7 @@ format(const struct req *req, const char *file) struct manoutput conf; struct mparse *mp; struct mchars *mchars; - struct mdoc *mdoc; - struct man *man; + struct roff_man *man; void *vp; int fd; int usepath; @@ -846,8 +846,8 @@ format(const struct req *req, const char *file) usepath ? "&manpath=" : "", usepath ? req->q.manpath : ""); - mparse_result(mp, &mdoc, &man, NULL); - if (NULL == man && NULL == mdoc) { + mparse_result(mp, &man, NULL); + if (man == NULL) { fprintf(stderr, "fatal mandoc error: %s/%s\n", req->q.manpath, file); pg_error_internal(); @@ -858,8 +858,8 @@ format(const struct req *req, const char *file) vp = html_alloc(mchars, &conf); - if (NULL != mdoc) - html_mdoc(vp, mdoc); + if (man->macroset == MACROSET_MDOC) + html_mdoc(vp, man); else html_man(vp, man); @@ -1031,7 +1031,7 @@ main(void) if (setitimer(ITIMER_VIRTUAL, &itimer, NULL) == -1) { fprintf(stderr, "setitimer: %s\n", strerror(errno)); pg_error_internal(); - return(EXIT_FAILURE); + return EXIT_FAILURE; } /* Scan our run-time environment. */ @@ -1043,7 +1043,7 @@ main(void) fprintf(stderr, "unsafe SCRIPT_NAME \"%s\"\n", scriptname); pg_error_internal(); - return(EXIT_FAILURE); + return EXIT_FAILURE; } /* @@ -1056,7 +1056,7 @@ main(void) fprintf(stderr, "MAN_DIR: %s: %s\n", MAN_DIR, strerror(errno)); pg_error_internal(); - return(EXIT_FAILURE); + return EXIT_FAILURE; } memset(&req, 0, sizeof(struct req)); @@ -1072,13 +1072,13 @@ main(void) else if ( ! validate_manpath(&req, req.q.manpath)) { pg_error_badrequest( "You specified an invalid manpath."); - return(EXIT_FAILURE); + return EXIT_FAILURE; } if ( ! (NULL == req.q.arch || validate_urifrag(req.q.arch))) { pg_error_badrequest( "You specified an invalid architecture."); - return(EXIT_FAILURE); + return EXIT_FAILURE; } /* Dispatch to the three different pages. */ @@ -1103,7 +1103,7 @@ main(void) for (i = 0; i < (int)req.psz; i++) free(req.p[i]); free(req.p); - return(EXIT_SUCCESS); + return EXIT_SUCCESS; } /*