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 | |
| 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
| -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; | 
