[PATCH] eal/windows: resolve conversion and truncation warnings
Tyler Retzlaff
roretzla at linux.microsoft.com
Wed Aug 2 22:48:22 CEST 2023
* Initialize const int NS_PER_SEC with an integer literal instead of
double thereby avoiding implicit conversion from double to int.
* Cast the result of the expression assigned to timspec.tv_nsec to long.
Windows builds generate integer truncation warning for this assignment
since the result of the expression was 8 bytes (LONGLONG) but
on Windows targets is 4 bytes. The value produced for the expression
should safely fit in the long.
Signed-off-by: Tyler Retzlaff <roretzla at linux.microsoft.com>
---
lib/eal/windows/include/rte_os_shim.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/eal/windows/include/rte_os_shim.h b/lib/eal/windows/include/rte_os_shim.h
index eda8113..19b12e9 100644
--- a/lib/eal/windows/include/rte_os_shim.h
+++ b/lib/eal/windows/include/rte_os_shim.h
@@ -87,7 +87,7 @@
static inline int
rte_clock_gettime(clockid_t clock_id, struct timespec *tp)
{
- const int NS_PER_SEC = 1E9;
+ const int NS_PER_SEC = 1000000000;
LARGE_INTEGER pf, pc;
LONGLONG nsec;
@@ -102,7 +102,7 @@
nsec = pc.QuadPart * NS_PER_SEC / pf.QuadPart;
tp->tv_sec = nsec / NS_PER_SEC;
- tp->tv_nsec = nsec - tp->tv_sec * NS_PER_SEC;
+ tp->tv_nsec = (long)(nsec - tp->tv_sec * NS_PER_SEC);
return 0;
default:
return -1;
--
1.8.3.1
More information about the dev
mailing list