diff options
Diffstat (limited to 'ui-plain.c')
-rw-r--r-- | ui-plain.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -147,11 +147,14 @@ static void print_dir_entry(const unsigned char *sha1, const char *base, | |||
147 | char *fullpath; | 147 | char *fullpath; |
148 | 148 | ||
149 | fullpath = buildpath(base, baselen, path); | 149 | fullpath = buildpath(base, baselen, path); |
150 | if (!S_ISDIR(mode)) | 150 | if (!S_ISDIR(mode) && !S_ISGITLINK(mode)) |
151 | fullpath[strlen(fullpath) - 1] = 0; | 151 | fullpath[strlen(fullpath) - 1] = 0; |
152 | html(" <li>"); | 152 | html(" <li>"); |
153 | cgit_plain_link(path, NULL, NULL, ctx.qry.head, ctx.qry.sha1, | 153 | if (S_ISGITLINK(mode)) { |
154 | fullpath); | 154 | cgit_submodule_link(NULL, fullpath, sha1_to_hex(sha1)); |
155 | } else | ||
156 | cgit_plain_link(path, NULL, NULL, ctx.qry.head, ctx.qry.sha1, | ||
157 | fullpath); | ||
155 | html("</li>\n"); | 158 | html("</li>\n"); |
156 | match = 2; | 159 | match = 2; |
157 | } | 160 | } |