--- ./mille.c.orig 1996-03-28 06:29:31.000000000 +0100 +++ ./mille.c 2013-05-26 18:05:50.000000000 +0200 @@ -1,16 +1,17 @@ # include "mille.h" # include +# include # ifdef attron # include -# endif attron +# endif /* * @(#)mille.c 1.3 (Berkeley) 5/10/83 */ -int rub(); +void rub( int ); -/*char _sobuf[BUFSIZ];*/ +char _sobuf[BUFSIZ]; main(ac, av) reg int ac; @@ -49,8 +50,6 @@ /* NOTREACHED */ } setbuf(stdout, _sobuf); - Play = PLAYER; - init_ui (); # ifndef PROF #ifdef sun srandom(getpid()); @@ -60,6 +59,8 @@ # else srand(0); # endif + Play = random()&01 ? COMP : PLAYER; + init_ui(); signal(SIGINT, rub); for (;;) { if (!restore || (Player[PLAYER].total >= 5000 @@ -73,7 +74,7 @@ } do { if (!restore) - Handstart = Play = other(Handstart); + Handstart = other(Handstart); if (!restore || On_exit) { shuffle(); init(); @@ -123,9 +124,9 @@ * Routine to trap rubouts, and make sure they really want to * quit. */ -rub() { +void rub( int signum ) { - signal(SIGINT, 1); + signal(SIGINT, SIG_IGN); if (getyn("Really? ")) die(); signal(SIGINT, rub); @@ -136,7 +137,7 @@ */ die() { - signal(SIGINT, 1); + signal(SIGINT, SIG_IGN); if (outf) fflush(outf); finish_ui ();