summaryrefslogtreecommitdiff
path: root/browse.c
diff options
context:
space:
mode:
Diffstat (limited to 'browse.c')
-rw-r--r--browse.c38
1 files changed, 6 insertions, 32 deletions
diff --git a/browse.c b/browse.c
index a230fe0..d1ea975 100644
--- a/browse.c
+++ b/browse.c
@@ -275,12 +275,11 @@ file_template_callback(size_t index, void *arg)
return 1;
}
-struct http_ret
+void
browse(struct kreq * r)
{
struct file *file;
struct page_template *tmpl;
- struct http_ret ret;
struct khtmlreq html;
struct ktemplate template;
struct template_data data;
@@ -289,53 +288,30 @@ browse(struct kreq * r)
file = NULL;
tmpl = NULL;
- /* initialize return structure for success */
- ret = (struct http_ret) {
- KHTTP_200, ""
- };
-
/* list requested directory content */
file = file_new(r->path);
if (file == NULL) {
- ret = (struct http_ret) {
- KHTTP_404,
- "browse: Unable to build data file"
- };
+ http_exit(r, KHTTP_404, "browse: Unable to build data file");
goto end;
}
if (!file->is_dir) {
- ret = (struct http_ret) {
- KHTTP_404,
- "browse: Invalid data file"
- };
+ http_exit(r, KHTTP_404, "browse: Invalid data file");
goto end;
}
if (build_upload_url(r, file) == 0) {
- ret = (struct http_ret) {
- KHTTP_500,
- "browse: Can't build upload url"
- };
+ http_exit(r, KHTTP_500, "browse: Can't build upload url");
goto end;
}
-
if (build_file_list(r, file) < 0) {
- ret = (struct http_ret) {
- KHTTP_500,
- "browse: Unable to build file list"
- };
+ http_exit(r, KHTTP_500, "browse: Unable to build file list");
goto end;
}
-
/* read template */
tmpl = page_template_new(BROWSE_URL);
if (tmpl == NULL) {
- ret = (struct http_ret) {
- KHTTP_500,
- "browse: Unable to read template"
- };
+ http_exit(r, KHTTP_500, "browse: Unable to read template");
goto end;
}
-
/* we have all the data we need, we can start to write output page */
http_open(r, KHTTP_200, KMIME_TEXT_HTML);
@@ -383,6 +359,4 @@ end:
file_free(file);
file = NULL;
}
-
- return ret;
}