From 48a05aa887ae7d18512756bf1eeb177e08d0feaf Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Sun, 1 Aug 2021 22:07:01 -0500 Subject: Unsigned comparison to 0 warning avoidance (#869) * Added int variable for comparison with H5_VERS_RELEASE in H5.c to avoid warning that unsigned comparison < 0 is always false, which is known, but for later versions the comparison can possibly be true. * Better solution for avoiding warning that unsigned comparison < 0. --- src/H5.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/H5.c b/src/H5.c index 2debc92..3ceaecd 100644 --- a/src/H5.c +++ b/src/H5.c @@ -912,8 +912,6 @@ H5check_version(unsigned majnum, unsigned minnum, unsigned relnum) static unsigned int disable_version_check = 0; /* Set if the version check should be disabled */ static const char * version_mismatch_warning = VERSION_MISMATCH_WARNING; herr_t ret_value = SUCCEED; /* Return value */ - int releasenum = relnum; /* To avoid warning for unsigned < 0 - comparison in first release versions */ FUNC_ENTER_API_NOINIT_NOERR_NOFS H5TRACE3("e", "IuIuIu", majnum, minnum, relnum); @@ -933,7 +931,10 @@ H5check_version(unsigned majnum, unsigned minnum, unsigned relnum) } /* H5_VERS_MAJOR and H5_VERS_MINOR must match */ - if (H5_VERS_MAJOR != majnum || H5_VERS_MINOR != minnum || H5_VERS_RELEASE > releasenum) { + /* Cast relnum to int to avoid warning for unsigned < 0 comparison + * in first release versions */ + if (H5_VERS_MAJOR != majnum || H5_VERS_MINOR != minnum || H5_VERS_RELEASE > (int)relnum) { + switch (disable_version_check) { case 0: HDfprintf(stderr, "%s%s", version_mismatch_warning, -- cgit v0.12