X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=main.c;h=f0dbb3a988fe7461a6ecccddfa7463f27467f3d8;hp=0556c01f9da86fa92824bfa31fcf2400f3b39b3d;hb=37dc950dd64f11acdca13db23e6dff524ca44037;hpb=e5a0c6e2b723186e452747bccef5f3386ce2f2f9 diff --git a/main.c b/main.c index 0556c01..f0dbb3a 100644 --- a/main.c +++ b/main.c @@ -85,7 +85,6 @@ int main(int argc, char *argv[]) fprintf(stderr, "advent: can't open save file %s for read\n", optarg); - signal(SIGINT, sig_handler); break; #endif default: @@ -461,6 +460,8 @@ static bool dwarfmove(void) static void croak(void) /* Okay, he's dead. Let's get on with it. */ { + if (game.numdie < 0) + game.numdie = 0; const char* query = obituaries[game.numdie].query; const char* yes_response = obituaries[game.numdie].yes_response; ++game.numdie; @@ -693,14 +694,16 @@ static void playermove( int motion) * to get it out. Having dropped it, go back and * pretend he wasn't carrying it after all. */ drop(EMERALD, game.loc); - int te_tmp = travel_entry; - do { - if (travel[te_tmp].stop) - BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE - ++te_tmp; - } while - (traveleq(travel_entry, te_tmp)); - travel_entry = te_tmp; + { + int te_tmp = travel_entry; + do { + if (travel[te_tmp].stop) + BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE + ++te_tmp; + } while + (traveleq(travel_entry, te_tmp)); + travel_entry = te_tmp; + } continue; /* goto L12 */ case 3: /* Special travel 3. Troll bridge. Must be done