From: Christian Heller <c.heller@plomlompom.de>
Date: Thu, 29 Jan 2015 05:16:31 +0000 (+0100)
Subject: Client: Fix buggy log window size pre-calculating triggering segfaults.
X-Git-Tag: tce~552
X-Git-Url: https://plomlompom.com/repos/%22https:/validator.w3.org/foo.html?a=commitdiff_plain;h=eda9c448812827e36b71fa1c3eb76d0fb906b57d;p=plomrogue
Client: Fix buggy log window size pre-calculating triggering segfaults.
---
diff --git a/src/client/draw_wins.c b/src/client/draw_wins.c
index d45bb1e..ec29173 100644
--- a/src/client/draw_wins.c
+++ b/src/client/draw_wins.c
@@ -354,13 +354,15 @@ extern void draw_win_log(struct Win * win)
return;
}
uint32_t x, i, n_postbreak_lines;
- for (i = 0, x = 0, n_postbreak_lines = 0; i < strlen(world.log); i++)
+ for (i = 0, x = 0, n_postbreak_lines = 1; i < strlen(world.log); i++)
{
exit_err(i == UINT32_MAX, "Log too large.");
x++;
- n_postbreak_lines = n_postbreak_lines + (x == win->frame_size.x);
- n_postbreak_lines = n_postbreak_lines + ('\n' == world.log[i]);
- x = ((x == win->frame_size.x) || ('\n' == world.log[i])) ? 0 : x;
+ if (x > win->frame_size.x || '\n' == world.log[i])
+ {
+ n_postbreak_lines++;
+ x = 0;
+ }
}
if (n_postbreak_lines > win->frame_size.y)
{