X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/481628b3d92ae1c7738bb51fe24a236245cd3d54..be39fd6df763fafcc07131d46fa4a3bd59245b64:/latin.c diff --git a/latin.c b/latin.c index 22488a7..45096e4 100644 --- a/latin.c +++ b/latin.c @@ -956,12 +956,12 @@ void latin_solver_debug(unsigned char *cube, int o) #ifdef STANDALONE_SOLVER if (solver_show_working) { struct latin_solver ls, *solver = &ls; - unsigned char *dbg; + char *dbg; int x, y, i, c = 0; ls.cube = cube; ls.o = o; /* for cube() to work */ - dbg = snewn(3*o*o*o, unsigned char); + dbg = snewn(3*o*o*o, char); for (y = 0; y < o; y++) { for (x = 0; x < o; x++) { for (i = 1; i <= o; i++) { @@ -1092,6 +1092,7 @@ digit *latin_generate(int o, random_state *rs) for (j = 0; j < o; j++) col[j] = num[j] = j; shuffle(col, j, sizeof(*col), rs); + shuffle(num, j, sizeof(*num), rs); /* We need the num permutation in both forward and inverse forms. */ for (j = 0; j < o; j++) numinv[num[j]] = j; @@ -1175,7 +1176,7 @@ int latin_check(digit *sq, int order) tree234 *dict = newtree234(latin_check_cmp); int c, r; int ret = 0; - lcparams *lcp, lc; + lcparams *lcp, lc, *aret; /* Use a tree234 as a simple hash table, go through the square * adding elements as we go or incrementing their counts. */ @@ -1187,7 +1188,8 @@ int latin_check(digit *sq, int order) lcp = snew(lcparams); lcp->elt = ELT(sq, c, r); lcp->count = 1; - assert(add234(dict, lcp) == lcp); + aret = add234(dict, lcp); + assert(aret == lcp); } else { lcp->count++; }