author | Harley Laue <losinggeneration@aim.com> | 2008-04-29 15:59:53 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2008-04-29 15:59:53 (UTC) |
commit | 112b2080626c62fff27cf8aaa9ac2fb07eb50b74 (patch) (side-by-side diff) | |
tree | d683b43290e997a713c935c5163ca7cfcaaa3f3d | |
parent | 905dbaef5aa33ea11d385b82de0188fee73dd655 (diff) | |
download | cgit-112b2080626c62fff27cf8aaa9ac2fb07eb50b74.zip cgit-112b2080626c62fff27cf8aaa9ac2fb07eb50b74.tar.gz cgit-112b2080626c62fff27cf8aaa9ac2fb07eb50b74.tar.bz2 |
Print an error if filename is not found in html_include.
Normally when html_include cannot open the file it fails silently and
things can be a bit hard to figure out from just looking at apache's
log. This will be beneficial for those initially setting up their server
with cgit.
Signed-off-by: Harley Laue <losinggeneration@aim.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | html.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -1,29 +1,30 @@ /* html.c: helper functions for html output * * Copyright (C) 2006 Lars Hjemli * * Licensed under GNU General Public License v2 * (see COPYING for full license text) */ #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <stdarg.h> #include <string.h> +#include <errno.h> int htmlfd = STDOUT_FILENO; char *fmt(const char *format, ...) { static char buf[8][1024]; static int bufidx; int len; va_list args; bufidx++; bufidx &= 7; va_start(args, format); len = vsnprintf(buf[bufidx], sizeof(buf[bufidx]), format, args); va_end(args); @@ -155,34 +156,37 @@ void html_link_close(void) { html("</a>"); } void html_fileperm(unsigned short mode) { htmlf("%c%c%c", (mode & 4 ? 'r' : '-'), (mode & 2 ? 'w' : '-'), (mode & 1 ? 'x' : '-')); } int html_include(const char *filename) { FILE *f; char buf[4096]; size_t len; - if (!(f = fopen(filename, "r"))) + if (!(f = fopen(filename, "r"))) { + fprintf(stderr, "[cgit] Failed to include file %s: %s (%d).\n", + filename, strerror(errno), errno); return -1; + } while((len = fread(buf, 1, 4096, f)) > 0) write(htmlfd, buf, len); fclose(f); return 0; } int hextoint(char c) { if (c >= 'a' && c <= 'f') return 10 + c - 'a'; else if (c >= 'A' && c <= 'F') return 10 + c - 'A'; else if (c >= '0' && c <= '9') return c - '0'; else return -1; |