X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/b6b0369e58b13a0de27f1758af5e385a1d786e7a..cbb5549e12c8edfd8b38b642b7b25c1fb8912c9b:/pattern.c diff --git a/pattern.c b/pattern.c index d597127..e7b99b3 100644 --- a/pattern.c +++ b/pattern.c @@ -322,16 +322,16 @@ int compute_rowdata(int *ret, unsigned char *start, int len, int step) n = 0; for (i = 0; i < len; i++) { - if (start[i*step] == GRID_UNKNOWN) - return -1; - if (start[i*step] == GRID_FULL) { int runlen = 1; - while (i+runlen < len && start[(i+runlen)*step]) + while (i+runlen < len && start[(i+runlen)*step] == GRID_FULL) runlen++; ret[n++] = runlen; i += runlen; } + + if (i < len && start[i*step] == GRID_UNKNOWN) + return -1; } return n;