diff options
author | Clifford Wolf <clifford@clifford.at> | 2017-05-11 11:06:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-11 11:06:27 +0200 |
commit | 8611d612d4c40035e377ae9d3417fbd233edb61d (patch) | |
tree | 4ee5e8459b492b43d700d78a0a2cb9688427eb48 /icetime | |
parent | 0f64fdf573f098a98c178bb1b64571b577d5aa33 (diff) | |
parent | e787fa2d3013365f20a062577254276263482aae (diff) | |
download | icestorm-8611d612d4c40035e377ae9d3417fbd233edb61d.tar.gz icestorm-8611d612d4c40035e377ae9d3417fbd233edb61d.tar.bz2 icestorm-8611d612d4c40035e377ae9d3417fbd233edb61d.zip |
Merge pull request #81 from cbiffle/allow-long-sym-lines
icetime: allow longer lines in input asc files
Diffstat (limited to 'icetime')
-rw-r--r-- | icetime/icetime.cc | 12 |
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; |