version 1.148, 2017/02/22 16:20:01 |
version 1.149, 2017/03/15 10:17:29 |
Line 76 static void pg_error_badrequest(const char *); |
|
Line 76 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 *); |
static void pg_noresult(const struct req *, const char *); |
static void pg_noresult(const struct req *, const char *); |
|
static void pg_redirect(const struct req *, const char *); |
static void pg_search(const struct req *); |
static void pg_search(const struct req *); |
static void pg_searchres(const struct req *, |
static void pg_searchres(const struct req *, |
struct manpage *, size_t); |
struct manpage *, size_t); |
Line 540 pg_error_internal(void) |
|
Line 541 pg_error_internal(void) |
|
} |
} |
|
|
static void |
static void |
|
pg_redirect(const struct req *req, const char *name) |
|
{ |
|
printf("Status: 303 See Other\r\n"); |
|
printf("Location: http://%s/", HTTP_HOST); |
|
if (*scriptname != '\0') |
|
printf("%s/", scriptname); |
|
if (strcmp(req->q.manpath, req->p[0])) |
|
printf("%s/", req->q.manpath); |
|
if (req->q.arch != NULL) |
|
printf("%s/", req->q.arch); |
|
printf("%s", name); |
|
if (req->q.sec != NULL) |
|
printf(".%s", req->q.sec); |
|
printf("\r\nContent-Type: text/html; charset=utf-8\r\n\r\n"); |
|
} |
|
|
|
static void |
pg_searchres(const struct req *req, struct manpage *r, size_t sz) |
pg_searchres(const struct req *req, struct manpage *r, size_t sz) |
{ |
{ |
char *arch, *archend; |
char *arch, *archend; |
Line 956 pg_search(const struct req *req) |
|
Line 974 pg_search(const struct req *req) |
|
} |
} |
} |
} |
|
|
if (0 == mansearch(&search, &paths, argc, argv, &res, &ressz)) |
res = NULL; |
|
ressz = 0; |
|
if (req->isquery && req->q.equal && argc == 1) |
|
pg_redirect(req, argv[0]); |
|
else if (mansearch(&search, &paths, argc, argv, &res, &ressz) == 0) |
pg_noresult(req, "You entered an invalid query."); |
pg_noresult(req, "You entered an invalid query."); |
else if (0 == ressz) |
else if (ressz == 0) |
pg_noresult(req, "No results found."); |
pg_noresult(req, "No results found."); |
else |
else |
pg_searchres(req, res, ressz); |
pg_searchres(req, res, ressz); |