diff options
| author | Jamie Couture | 2011-09-17 18:25:01 -0400 |
|---|---|---|
| committer | Lars Hjemli | 2012-01-03 15:16:01 +0000 |
| commit | e19f7d7180d64c8ba9ca15f5fe164606f0ec88c1 (patch) | |
| tree | 55faa59f4835bec90fa5d94643cf1600d699cdb7 /ui-ssdiff.h | |
| parent | bebe89d7c11a92bf206bf6e528c51ffa8ecbc0d5 (diff) | |
| download | cgit-e19f7d7180d64c8ba9ca15f5fe164606f0ec88c1.tar.gz cgit-e19f7d7180d64c8ba9ca15f5fe164606f0ec88c1.tar.bz2 cgit-e19f7d7180d64c8ba9ca15f5fe164606f0ec88c1.zip | |
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 <jamie.couture@gmail.com>
Diffstat (limited to 'ui-ssdiff.h')
| -rw-r--r-- | ui-ssdiff.h | 12 |
1 files changed, 12 insertions, 0 deletions
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 @@ | |||
| 1 | #ifndef UI_SSDIFF_H | 1 | #ifndef UI_SSDIFF_H |
| 2 | #define UI_SSDIFF_H | 2 | #define UI_SSDIFF_H |
| 3 | 3 | ||
| 4 | /* | ||
| 5 | * ssdiff line limits | ||
| 6 | */ | ||
| 7 | #ifndef MAX_SSDIFF_M | ||
| 8 | #define MAX_SSDIFF_M 128 | ||
| 9 | #endif | ||
| 10 | |||
| 11 | #ifndef MAX_SSDIFF_N | ||
| 12 | #define MAX_SSDIFF_N 128 | ||
| 13 | #endif | ||
| 14 | #define MAX_SSDIFF_SIZE ((MAX_SSDIFF_M) * (MAX_SSDIFF_N)) | ||
| 15 | |||
| 4 | extern void cgit_ssdiff_print_deferred_lines(); | 16 | extern void cgit_ssdiff_print_deferred_lines(); |
| 5 | 17 | ||
| 6 | extern void cgit_ssdiff_line_cb(char *line, int len); | 18 | extern void cgit_ssdiff_line_cb(char *line, int len); |
