char line[MAX_CLUE_LENGTH+10];
fgets (line, MAX_CLUE_LENGTH + 10, infile);
p.grid_size = atoi (line);
+ /* if puzzle is invalid or otherwise not proper grid, return an invalid
+ puzzle object */
+ if (p.grid_size == 0)
+ {
+ init_puzzle (&p, 0);
+ return p;
+ }
fgets (line, MAX_CLUE_LENGTH + 10, infile);
p.grid_frozen = atoi (line) == 0 ? false : true ;
fgets (line, MAX_CLUE_LENGTH + 10, infile);