d1579b2d70
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended. HOWEVER! Some subsystems have #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b)) even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation. To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it. I have left a handful of bootloaders that are too annoying to compile-test, and some dead code: cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4)) It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them. Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!) |
||
---|---|---|
.. | ||
ascii.h | ||
files.wscons | ||
linux_keymap.c | ||
linux_keymap.h | ||
Makefile | ||
mra.c | ||
tpcalib.c | ||
tpcalibvar.h | ||
unicode.h | ||
vt100_base.h | ||
wsbell.c | ||
wsbelldata.h | ||
wsbellmux.c | ||
wsbellmuxvar.h | ||
wsbellvar.h | ||
wscons_callbacks.h | ||
wscons_raster.h | ||
wscons_rfont.h | ||
wscons_rinit.c | ||
wscons_rops.c | ||
wsconsio.h | ||
wsdisplay_compat_usl.c | ||
wsdisplay_glyphcache.c | ||
wsdisplay_glyphcachevar.h | ||
wsdisplay_usl_io.h | ||
wsdisplay_util.c | ||
wsdisplay_vcons_util.c | ||
wsdisplay_vcons.c | ||
wsdisplay_vconsvar.h | ||
wsdisplay.c | ||
wsdisplayvar.h | ||
wsemul_dumb.c | ||
wsemul_sun.c | ||
wsemul_vt100_chars.c | ||
wsemul_vt100_keys.c | ||
wsemul_vt100_subr.c | ||
wsemul_vt100.c | ||
wsemul_vt100var.h | ||
wsemulconf.c | ||
wsemulvar.h | ||
wsevent.c | ||
wseventvar.h | ||
wskbd.c | ||
wskbdutil.c | ||
wskbdvar.h | ||
wsksymdef.h | ||
wsksymvar.h | ||
wsmouse.c | ||
wsmousevar.h | ||
wsmux.c | ||
wsmuxvar.h |