diff options
author | Eric Wong <normalperson@yhbt.net> | 2008-09-29 02:35:09 -0700 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2008-09-29 04:05:48 -0700 |
commit | fcbcdd9869e3147fe4a30ba808af294f680c9373 (patch) | |
tree | ccc1799d04cbf2501032107384a81094e18c615a /src/mpd_types.h | |
parent | c7930c993e4624e4e6d9a50cdea448b432a2bf05 (diff) | |
download | mpd-fcbcdd9869e3147fe4a30ba808af294f680c9373.tar.gz mpd-fcbcdd9869e3147fe4a30ba808af294f680c9373.tar.xz mpd-fcbcdd9869e3147fe4a30ba808af294f680c9373.zip |
Switch to C99 types (retaining compat with old compilers)
Seeing the "mpd_" prefix _everywhere_ is mind-numbing as the
mind needs to retrain itself to skip over the first 4 tokens of
a type to get to its meaning. So avoid having extra characters
on my terminal to make it easier to follow code at 2:30 am in
the morning.
Please report any new issues you may come across on Free
toolchains. I realize how difficult it can be to build/maintain
cross-compiling toolchains and I have no intention of forcing
people to upgrade their toolchains to build mpd.
Tested with gcc 2.95.4 and and gcc 4.3.1 on x86-32.
Diffstat (limited to 'src/mpd_types.h')
-rw-r--r-- | src/mpd_types.h | 51 |
1 files changed, 38 insertions, 13 deletions
diff --git a/src/mpd_types.h b/src/mpd_types.h index dbdfc6865..b61f007ad 100644 --- a/src/mpd_types.h +++ b/src/mpd_types.h @@ -21,23 +21,48 @@ #include "../config.h" -typedef unsigned char mpd_uint8; -typedef signed char mpd_sint8; +#if defined(HAVE_INTTYPES_H) + /* + * inttypes.h pulls in stdint.h on C99 systems, needed for older systems + * that didn't provide stdint.h but still defined equivalent types. + */ +# include <inttypes.h> +#elif defined(HAVE_STDINT_H) +# include <stdint.h> +#elif defined(HAVE_SYS_INTTYPES_H) +# include <sys/inttypes.h> /* some ancient systems had this, untested */ +#endif /* C99-ish type headers */ + +#include <sys/types.h> + +#if (!defined(HAVE_STDINT_H) && !defined(HAVE_INTTYPES_H)) + +/* + * this only includes a partial subset of what is expected in a C99 + * stdint.h or inttypes.h; but includes enough of what is needed for mpd + * to function on older platforms + * (especially Linux ones still using gcc 2.95) + */ + +typedef unsigned char uint8_t; +typedef signed char int8_t; #if SIZEOF_SHORT == 2 -typedef unsigned short mpd_uint16; -typedef signed short mpd_sint16; +typedef unsigned short uint16_t; +typedef signed short int16_t; #elif SIZEOF_INT == 2 -typedef unsigned int mpd_uint16; -typedef signed int mpd_sint16; -#endif +typedef unsigned int uint16_t; +typedef signed int int16_t; +#endif /* (u)int_16_t */ #if SIZEOF_INT == 4 -typedef unsigned int mpd_uint32; -typedef signed int mpd_sint32; +typedef unsigned int uint32_t; +typedef signed int int32_t; #elif SIZEOF_LONG == 4 -typedef unsigned long mpd_uint32; -typedef signed long mpd_sint32; -#endif +typedef unsigned long uint32_t; +typedef signed long int32_t; +#endif /* (u)int_32 */ + +#endif /* !HAVE_STDINT_H && !HAVE_INTTYPES_H */ -#endif +#endif /* MPD_TYPES_H */ |