diff options
Diffstat (limited to 'ui-plain.c')
-rw-r--r-- | ui-plain.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -97,11 +97,14 @@ static void print_dir_entry(const unsigned char *sha1, const char *base, | |||
97 | char *fullpath; | 97 | char *fullpath; |
98 | 98 | ||
99 | fullpath = buildpath(base, baselen, path); | 99 | fullpath = buildpath(base, baselen, path); |
100 | if (!S_ISDIR(mode)) | 100 | if (!S_ISDIR(mode) && !S_ISGITLINK(mode)) |
101 | fullpath[strlen(fullpath) - 1] = 0; | 101 | fullpath[strlen(fullpath) - 1] = 0; |
102 | html(" <li>"); | 102 | html(" <li>"); |
103 | cgit_plain_link(path, NULL, NULL, ctx.qry.head, ctx.qry.sha1, | 103 | if (S_ISGITLINK(mode)) { |
104 | fullpath); | 104 | cgit_submodule_link(NULL, fullpath, sha1_to_hex(sha1)); |
105 | } else | ||
106 | cgit_plain_link(path, NULL, NULL, ctx.qry.head, ctx.qry.sha1, | ||
107 | fullpath); | ||
105 | html("</li>\n"); | 108 | html("</li>\n"); |
106 | match = 2; | 109 | match = 2; |
107 | } | 110 | } |