From: Eric S. Raymond Date: Tue, 19 Oct 2010 11:41:08 +0000 (-0400) Subject: Port to modern C. X-Git-Tag: 2.5~3 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=ac213c25159ad546b5428dabfcedb71f32db2734;p=deal.git Port to modern C. --- diff --git a/deal.c b/deal.c index db66431..bb73a51 100644 --- a/deal.c +++ b/deal.c @@ -37,16 +37,15 @@ #include #include #include +#include +#include #define BASE_DEFAULT 7 /* # cards in initial deal */ #define TURNS_DEFAULT 20 /* show this many turns if total is greater */ -#define TRUE 1 -#define FALSE 0 - static int si, sk, sM, sN; static int sa, sb; -static int verbose = FALSE; +static bool verbose = false; static double log_a_choose_b(int a, int b); @@ -74,23 +73,21 @@ static void usage(void) exit(0); } -main(argc, argv) -int argc; -char **argv; +main(int argc, char **argv) { extern char *optarg; /* set by getopt */ extern int optind; /* set by getopt */ - static double hyper_prob(); + extern double hyper_prob(); int status, special, total, columns, i, j; int base = BASE_DEFAULT; int turns = TURNS_DEFAULT; - int gammatest = FALSE; - int ormore = FALSE; - int hypertest = FALSE; - int choosetest = FALSE; - int headers = TRUE; - int wide = FALSE; + bool gammatest = false; + bool ormore = false; + bool hypertest = false; + bool choosetest = false; + bool headers = true; + bool wide = false; while ((status = getopt(argc, argv, "b:c:ght:vwBGH")) != EOF) { @@ -105,23 +102,23 @@ char **argv; break; case 'G': - gammatest = TRUE; + gammatest = true; break; case 'H': - hypertest = TRUE; + hypertest = true; break; case 'g': - wide = ormore = TRUE; + wide = ormore = true; break; case 'h': - headers = FALSE; + headers = false; break; case 'B': - choosetest = TRUE; + choosetest = true; break; case 't': @@ -129,11 +126,11 @@ char **argv; break; case 'v': - verbose = TRUE; + verbose = true; break; case 'w': - wide = TRUE; + wide = true; break; default: @@ -247,7 +244,7 @@ char **argv; * giving the final answer. */ -static double hyper_prob(i, k, M, N) +double hyper_prob(i, k, M, N) int i, k, M, N; { double p, exp();