Commit 75543b212ec7419a2ecb873b688df6f4d4f8bc43
Committed by
Stéphane Raimbault
1 parent
00e068eb
Fix LIBMODBUS_VERSION_HEX encoding (closes #345)
The result of LIBMODBUS_VERSION_HEX is left-shifted by an extra factor of 8 bits. For example, current implementation for version 1.2.3 would be encoded like 0x01020300 instead of 0x010203.
Showing
2 changed files
with
5 additions
and
5 deletions
src/modbus-version.h.in
| @@ -35,10 +35,10 @@ | @@ -35,10 +35,10 @@ | ||
| 35 | */ | 35 | */ |
| 36 | #define LIBMODBUS_VERSION_STRING "@LIBMODBUS_VERSION@" | 36 | #define LIBMODBUS_VERSION_STRING "@LIBMODBUS_VERSION@" |
| 37 | 37 | ||
| 38 | -/* Numerically encoded version, like 0x010203 */ | ||
| 39 | -#define LIBMODBUS_VERSION_HEX ((LIBMODBUS_VERSION_MAJOR << 24) | \ | ||
| 40 | - (LIBMODBUS_VERSION_MINOR << 16) | \ | ||
| 41 | - (LIBMODBUS_VERSION_MICRO << 8)) | 38 | +/* Numerically encoded version, eg. v1.2.3 is 0x010203 */ |
| 39 | +#define LIBMODBUS_VERSION_HEX ((LIBMODBUS_VERSION_MAJOR << 16) | \ | ||
| 40 | + (LIBMODBUS_VERSION_MINOR << 8) | \ | ||
| 41 | + (LIBMODBUS_VERSION_MICRO << 0)) | ||
| 42 | 42 | ||
| 43 | /* Evaluates to True if the version is greater than @major, @minor and @micro | 43 | /* Evaluates to True if the version is greater than @major, @minor and @micro |
| 44 | */ | 44 | */ |
tests/version.c
| @@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
| 9 | 9 | ||
| 10 | int main(void) | 10 | int main(void) |
| 11 | { | 11 | { |
| 12 | - printf("Compiled with libmodbus version %s (%08X)\n", LIBMODBUS_VERSION_STRING, LIBMODBUS_VERSION_HEX); | 12 | + printf("Compiled with libmodbus version %s (%06X)\n", LIBMODBUS_VERSION_STRING, LIBMODBUS_VERSION_HEX); |
| 13 | printf("Linked with libmodbus version %d.%d.%d\n", | 13 | printf("Linked with libmodbus version %d.%d.%d\n", |
| 14 | libmodbus_version_major, libmodbus_version_minor, libmodbus_version_micro); | 14 | libmodbus_version_major, libmodbus_version_minor, libmodbus_version_micro); |
| 15 | 15 |