From e19f7d7180d64c8ba9ca15f5fe164606f0ec88c1 Mon Sep 17 00:00:00 2001 From: Jamie Couture Date: Sat, 17 Sep 2011 18:25:01 -0400 Subject: ui-ssdiff: move LCS table away from the stack Printing deferred line changes for files containing long lines would cause a segfault. - limit LCS table size: 128x128. - move LCS table to global context: avoid allocating/freeing memory for every deferred line change. Signed-off-by: Jamie Couture --- ui-ssdiff.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'ui-ssdiff.h') diff --git a/ui-ssdiff.h b/ui-ssdiff.h index 64b4b12..88627e2 100644 --- a/ui-ssdiff.h +++ b/ui-ssdiff.h @@ -1,6 +1,18 @@ #ifndef UI_SSDIFF_H #define UI_SSDIFF_H +/* + * ssdiff line limits + */ +#ifndef MAX_SSDIFF_M +#define MAX_SSDIFF_M 128 +#endif + +#ifndef MAX_SSDIFF_N +#define MAX_SSDIFF_N 128 +#endif +#define MAX_SSDIFF_SIZE ((MAX_SSDIFF_M) * (MAX_SSDIFF_N)) + extern void cgit_ssdiff_print_deferred_lines(); extern void cgit_ssdiff_line_cb(char *line, int len); -- cgit v1.2.3-59-g8ed1b