diff --git a/include/integer.h b/include/integer.h index b420a708f..e5ee19c75 100644 --- a/include/integer.h +++ b/include/integer.h @@ -2,7 +2,32 @@ /* Copyright (c) 2016 by Michael Allison */ /* NetHack may be freely redistributed. See license for details. */ -/* integer.h -- provide sized integer types */ +/* integer.h -- provide sized integer types + * + * We try to sort out a way to provide sized integer types + * in here. The strong preference is to try and let a + * compiler-supplied header file set up the types. + * + * If your compiler is C99 conforming and sets a value of + * __STDC_VERSION__ >= 199901L, then is supposed + * to be available for inclusion. + * + * If your compiler doesn't set __STDC_VERSION__ to indicate + * full conformance to C99, but does actually supply a suitable + * , you can pass a compiler flag -DHAS_STDINT_H + * during build to cause the inclusion of anyway. + * + * If doesn't get included, then the code in the + * STDINT_WORKAROUND section of code is not skipped and will + * be used to set up the types. + * + * We acknowledge that some ongoing maintenance may be needed + * over time if people send us code updates for making the + * determination of whether is available, or + * require adjustments to the base type used for some + * compiler/platform combinations. + * + */ #ifndef INTEGER_H #define INTEGER_H @@ -24,6 +49,9 @@ #endif #ifndef SKIP_STDINT_WORKAROUND /* !C99 */ +/* + * STDINT_WORKAROUND section begins here + */ typedef unsigned char uint8_t; typedef short int16_t; typedef unsigned short uint16_t; diff --git a/src/do_name.c b/src/do_name.c index f9b794d6b..aa34ed432 100644 --- a/src/do_name.c +++ b/src/do_name.c @@ -1245,7 +1245,7 @@ register struct obj *obj; /* for "the Foo of Bar", only scuff "Foo of Bar" part */ bufp = !strncmpi(bufcpy, "the ", 4) ? (buf + 4) : buf; do { - wipeout_text(bufp, rnd(2), (unsigned) 0); + wipeout_text(bufp, rn2_on_display_rng(2), (unsigned) 0); } while (!strcmp(buf, bufcpy)); pline("While engraving, your %s slips.", body_part(HAND)); display_nhwindow(WIN_MESSAGE, FALSE); diff --git a/src/hacklib.c b/src/hacklib.c index eb1561293..df27f0287 100644 --- a/src/hacklib.c +++ b/src/hacklib.c @@ -852,6 +852,7 @@ STATIC_DCL struct tm *NDECL(getlt); /* Sets the seed for the random number generator */ #ifdef USE_ISAAC64 + static void set_random(seed, fn) unsigned long seed; @@ -859,11 +860,14 @@ int FDECL((*fn), (int)); { init_isaac64(seed, fn); } + #else /* USE_ISAAC64 */ + +/*ARGSUSED*/ static void set_random(seed, fn) unsigned long seed; -int FDECL((*fn),(int)); +int FDECL((*fn), (int)) UNUSED; { /* the types are different enough here that sweeping the different * routine names into one via #defines is even more confusing @@ -886,6 +890,7 @@ int FDECL((*fn),(int)); # endif # endif } + #endif /* USE_ISAAC64 */ /* An appropriate version of this must always be provided in @@ -899,7 +904,7 @@ extern unsigned long NDECL(sys_random_seed); */ void init_random(fn) -int FDECL((*fn),(int)); +int FDECL((*fn), (int)); { set_random(sys_random_seed(), fn); } @@ -907,7 +912,7 @@ int FDECL((*fn),(int)); /* Reshuffles the random number generator. */ void reseed_random(fn) -int FDECL((*fn),(int)); +int FDECL((*fn), (int)); { /* only reseed if we are certain that the seed generation is unguessable * by the players. */