See https://gitlab.com/procps-ng/procps/-/issues/271 diff -u -r procps-ng-4.0.3.alt/src/tests/test_strtod_nol.c procps-ng-4.0.3/src/tests/test_strtod_nol.c --- procps-ng-4.0.3.alt/src/tests/test_strtod_nol.c 2022-12-18 23:44:18.383960834 +0100 +++ procps-ng-4.0.3/src/tests/test_strtod_nol.c 2023-03-20 16:52:26.680032658 +0100 @@ -1,6 +1,7 @@ #include <stdio.h> #include <stdlib.h> +#include <math.h> #include "strutils.h" struct strtod_tests { @@ -25,6 +26,11 @@ {NULL, 0.0} }; +#define EPSILON 1.0 // Really not trying for precision here +int dequal(const double d1, const double d2) +{ + return fabs(d1-d2) < EPSILON; +} int main(int argc, char *argv[]) @@ -33,8 +39,8 @@ double val; for(i=0; tests[i].string != NULL; i++) { - if(strtod_nol_or_err(tests[i].string, "Cannot parse number") != - tests[i].result) { + if(!dequal (strtod_nol_or_err(tests[i].string, "Cannot parse number"), + tests[i].result)) { fprintf(stderr, "FAIL: strtod_nol_or_err(\"%s\") != %f\n", tests[i].string, tests[i].result); return EXIT_FAILURE;