X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/e19f7d7180d64c8ba9ca15f5fe164606f0ec88c1..c6fe94e02a3963d4fddaf09cfc3e3dc1e186a881:/ui-ssdiff.c diff --git a/ui-ssdiff.c b/ui-ssdiff.c index 9fb5b11..7108779 100644 --- a/ui-ssdiff.c +++ b/ui-ssdiff.c @@ -23,7 +23,7 @@ static void create_or_reset_lcs_table() int i; if (L != NULL) { - memset(*L, 0, sizeof(*L) * MAX_SSDIFF_SIZE); + memset(*L, 0, sizeof(int) * MAX_SSDIFF_SIZE); return; } @@ -42,14 +42,12 @@ static char *longest_common_subsequence(char *A, char *B) int i, j, ri; int m = strlen(A); int n = strlen(B); - int tmp1, tmp2, length; + int tmp1, tmp2; int lcs_length; char *result; - length = (m + 1) * (n + 1); - // We bail if the lines are too long - if (length > MAX_SSDIFF_SIZE) + if (m >= MAX_SSDIFF_M || n >= MAX_SSDIFF_N) return NULL; create_or_reset_lcs_table(); @@ -232,7 +230,7 @@ static void print_ssdiff_line(char *class, if (old_line_no > 0) { struct diff_filespec *old_file = cgit_get_current_old_file(); char *lineno_str = fmt("n%d", old_line_no); - char *id_str = fmt("%s#%s", is_null_sha1(old_file->sha1)?"HEAD":sha1_to_hex(old_rev_sha1), lineno_str); + char *id_str = fmt("id=%s#%s", is_null_sha1(old_file->sha1)?"HEAD":sha1_to_hex(old_rev_sha1), lineno_str); html("