simon-git: puzzles (master): Simon Tatham

Commits to Tartarus hosted VCS tartarus-commits at lists.tartarus.org
Sat Apr 28 12:27:15 BST 2018


TL;DR:
  e53c097 latin.c: remove a rogue array overrun.
  31384ca Buildscr: make long parts of the build conditionalisable.

Repository:     https://git.tartarus.org/simon/puzzles.git
On the web:     https://git.tartarus.org/?p=simon/puzzles.git
Branch updated: master
Committer:      Simon Tatham <anakin at pobox.com>
Date:           2018-04-28 12:27:15

commit e53c097fb742ac1ec61c70e64380190c067b59d9
web diff https://git.tartarus.org/?p=simon/puzzles.git;a=commitdiff;h=e53c097fb742ac1ec61c70e64380190c067b59d9;hp=a1663d6650053eee5e43a1267a05578a920521da
Author: Simon Tatham <anakin at pobox.com>
Date:   Sat Apr 28 12:02:43 2018 +0100

    latin.c: remove a rogue array overrun.
    
    Oops! This was left over from an early development version of commits
    4408476b7 and 000ebc507, in which I initially arranged for each
    adjacency list to be terminated with the sentinel value -1 instead of
    separately storing an array of the lists' lengths.
    
    I later changed the representation to make randomising the algorithm
    easier (it's much easier to shuffle an array uniformly at random if
    you _don't_ have to faff endlessly to work out its length). But this
    write of a no-longer- needed sentinel value in the client code must
    have survived the rewrite by mistake, and also somehow evaded all my
    pre-commit testing with valgrind and asan.
    
    A user reported that the Towers Javascript version was crashing on
    startup, and I think this is the cause, because it seems to fix it for
    me.

 latin.c | 1 -
 1 file changed, 1 deletion(-)

commit 31384ca9c04a614fc0f517a39b41c02412ef98d5
web diff https://git.tartarus.org/?p=simon/puzzles.git;a=commitdiff;h=31384ca9c04a614fc0f517a39b41c02412ef98d5;hp=e53c097fb742ac1ec61c70e64380190c067b59d9
Author: Simon Tatham <anakin at pobox.com>
Date:   Sat Apr 28 12:02:55 2018 +0100

    Buildscr: make long parts of the build conditionalisable.
    
    If I want to rebuild just the Javascript puzzles (for example) in
    circumstances where I don't expect to need a great many
    edit-compile-link cycles, it's easier to get bob to do it for me than
    to remember how to set up the development tools on my path. But it
    takes ages to run the whole build script if I also have to wait for
    the Windows, Mac and Java puzzles to be built, not to mention the
    initial Unix build that runs for no purpose other than generating the
    icon images.
    
    So now I can run the build with various time-consuming parts
    conditioned out, for development purposes. Of course, the default is
    still to build absolutely everything.

 Buildscr | 216 ++++++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 122 insertions(+), 94 deletions(-)



More information about the tartarus-commits mailing list