Author: Harley Laue <losinggeneration@aim.com>
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>
html.c | 6 +++++-
diff --git a/html.c b/html.c index 937b5e7d6ef162554e187dc047c506c973edb553..bddb04d1adcb8052b7590a07838b8b4c1f6a8247 100644 --- a/html.c +++ b/html.c @@ -11,6 +11,7 @@ #include#include <stdlib.h> #include <stdarg.h> #include <string.h> +#include <errno.h> int htmlfd = STDOUT_FILENO; @@ -168,8 +169,11 @@ 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);