From 1a901433e2a27e5bcd29216fdb57082be620b745 Mon Sep 17 00:00:00 2001
From: Unknwon <u@gogs.io>
Date: Sun, 15 Nov 2015 17:37:26 -0500
Subject: [PATCH] minor fix for #1949

---
 modules/base/markdown.go | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/modules/base/markdown.go b/modules/base/markdown.go
index 9d297f0ce..1f48b88db 100644
--- a/modules/base/markdown.go
+++ b/modules/base/markdown.go
@@ -167,10 +167,21 @@ func RenderSha1CurrentPattern(rawBytes []byte, urlPrefix string) []byte {
 	return rawBytes
 }
 
-func RenderIssueIndexPattern(rawBytes []byte, urlPrefix string) []byte {
-	if i := strings.Index(urlPrefix, "/src"); i != -1 {
-		urlPrefix = urlPrefix[:i]
+func cutoutVerbosePrefix(prefix string) string {
+	count := 0
+	for i := 0; i < len(prefix); i++ {
+		if prefix[i] == '/' {
+			count++
+		}
+		if count >= 3 {
+			return prefix[:i]
+		}
 	}
+	return prefix
+}
+
+func RenderIssueIndexPattern(rawBytes []byte, urlPrefix string) []byte {
+	urlPrefix = cutoutVerbosePrefix(urlPrefix)
 	ms := issueIndexPattern.FindAll(rawBytes, -1)
 	for _, m := range ms {
 		var space string