--- eccodes-2.19.0-Source.unchanged/src/grib_api_prototypes.h 2020-10-15 13:21:34.000000000 +0200 +++ eccodes-2.19.0-Source/src/grib_api_prototypes.h 2020-10-16 08:52:25.171175169 +0200 @@ -859,8 +859,8 @@ double grib_ieeefloat_error(double x); double grib_long_to_ieee(unsigned long x); int grib_nearest_smaller_ieee_float(double a, double* x); unsigned long grib_ieee_to_long(double x); -unsigned long grib_ieee64_to_long(double x); -double grib_long_to_ieee64(unsigned long x); +uint64_t grib_ieee64_to_long(double x); +double grib_long_to_ieee64(uint64_t x); int grib_ieee_decode_array(grib_context* c, unsigned char* buf, size_t nvals, int bytes, double* val); int grib_ieee_decode_array(grib_context* c, unsigned char* buf, size_t nvals, int bytes, double* val); int grib_ieee_encode_array(grib_context* c, double* val, size_t nvals, int bytes, unsigned char* buf); --- eccodes-2.19.0-Source.unchanged/src/grib_ieeefloat.c 2020-10-15 13:21:34.000000000 +0200 +++ eccodes-2.19.0-Source/src/grib_ieeefloat.c 2020-10-16 09:01:37.712934707 +0200 @@ -442,7 +442,7 @@ unsigned long grib_ieee_to_long(double x * Byte swapping is actually implemented in grib_decode_unsigned_long and * grib_encode_unsigned_long. */ -unsigned long grib_ieee64_to_long(double x) +uint64_t grib_ieee64_to_long(double x) { unsigned long lval; DebugAssert(sizeof(double) == sizeof(long)); @@ -450,7 +450,7 @@ unsigned long grib_ieee64_to_long(double return lval; } -double grib_long_to_ieee64(unsigned long x) +double grib_long_to_ieee64(uint64_t x) { double dval; DebugAssert(sizeof(double) == sizeof(long));