aboutsummaryrefslogtreecommitdiffstats
path: root/icetime
diff options
context:
space:
mode:
Diffstat (limited to 'icetime')
-rw-r--r--icetime/icetime.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/icetime/icetime.cc b/icetime/icetime.cc
index cf6aa5b..58ae3bf 100644
--- a/icetime/icetime.cc
+++ b/icetime/icetime.cc
@@ -208,11 +208,19 @@ void read_pcf(const char *filename)
void read_config()
{
- char buffer[128];
+ constexpr size_t line_buf_size = 65536;
+ char buffer[line_buf_size];
int tile_x, tile_y, line_nr = -1;
- while (fgets(buffer, 128, fin))
+ while (fgets(buffer, line_buf_size, fin))
{
+ if (buffer[strlen(buffer) - 1] != '\n')
+ {
+ fprintf(stderr, "Input file contains very long lines.\n");
+ fprintf(stderr, "icetime cannot process it.\n");
+ exit(1);
+ }
+
if (buffer[0] == '.')
{
line_nr = -1;