diff options
| -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 | } |
