summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2009-01-06 20:37:23 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2009-01-06 20:37:23 (UTC)
commitf3c99cf1cee25ae95ffea6188b40734e877bce20 (patch) (side-by-side diff)
tree6b996b4b1e8da4b8b56c8022036d5dce6d2d5e7f
parent03afc5fe1fe70b6e44b60708c89708060e6d5a90 (diff)
downloadcgit-f3c99cf1cee25ae95ffea6188b40734e877bce20.zip
cgit-f3c99cf1cee25ae95ffea6188b40734e877bce20.tar.gz
cgit-f3c99cf1cee25ae95ffea6188b40734e877bce20.tar.bz2
ui-tree.c: do not add blank line when displaying blobs
Also, fix a related bug in the test-suite. Noticed-by: Jim Meyering <jim@meyering.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (show whitespace changes)
-rwxr-xr-xtests/t0104-tree.sh2
-rw-r--r--ui-tree.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/tests/t0104-tree.sh b/tests/t0104-tree.sh
index 0d62cc8..33f4eb0 100755
--- a/tests/t0104-tree.sh
+++ b/tests/t0104-tree.sh
@@ -2,32 +2,32 @@
. ./setup.sh
prepare_tests "Check content on tree page"
run_test 'generate bar/tree' 'cgit_url "bar/tree" >trash/tmp'
run_test 'find file-1' 'grep -e "file-1" trash/tmp'
run_test 'find file-50' 'grep -e "file-50" trash/tmp'
run_test 'generate bar/tree/file-50' 'cgit_url "bar/tree/file-50" >trash/tmp'
run_test 'find line 1' '
grep -e "<a id=.n1. name=.n1. href=.#n1.>1</a>" trash/tmp
'
run_test 'no line 2' '
- grep -e "<a id=.n2. name=.n2. href=.#n2.>2</a>" trash/tmp
+ ! grep -e "<a id=.n2. name=.n2. href=.#n2.>2</a>" trash/tmp
'
run_test 'generate foo+bar/tree' 'cgit_url "foo%2bbar/tree" >trash/tmp'
run_test 'verify a+b link' '
grep -e "/foo+bar/tree/a+b" trash/tmp
'
run_test 'generate foo+bar/tree?h=1+2' 'cgit_url "foo%2bbar/tree&h=1%2b2" >trash/tmp'
run_test 'verify a+b?h=1+2 link' '
grep -e "/foo+bar/tree/a+b?h=1%2b2" trash/tmp
'
tests_done
diff --git a/ui-tree.c b/ui-tree.c
index 79332fc..4bf372a 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -41,34 +41,36 @@ static void print_object(const unsigned char *sha1, char *path)
htmlf(")<br/>blob: %s", sha1_to_hex(sha1));
html("<table summary='blob content' class='blob'>\n");
idx = 0;
start = 0;
lineno = 0;
while(idx < size) {
if (buf[idx] == '\n') {
buf[idx] = '\0';
htmlf(linefmt, ++lineno);
html_txt(buf + start);
html("</td></tr>\n");
start = idx + 1;
}
idx++;
}
+ if (start < idx) {
htmlf(linefmt, ++lineno);
html_txt(buf + start);
+ }
html("</td></tr>\n");
html("</table>\n");
}
static int ls_item(const unsigned char *sha1, const char *base, int baselen,
const char *pathname, unsigned int mode, int stage,
void *cbdata)
{
char *name;
char *fullpath;
enum object_type type;
unsigned long size = 0;
name = xstrdup(pathname);
fullpath = fmt("%s%s%s", ctx.qry.path ? ctx.qry.path : "",