From fef484babd0a6cdca203e568b606837c86f99998 Mon Sep 17 00:00:00 2001 From: Alex Khouderchah Date: Wed, 5 Feb 2020 11:20:30 -0800 Subject: [PATCH] libqrtr: Use size_t for offsets Currently, offsetof produces an unsigned long, while qmi_elem_info's offset member is a uint32_t. Since this is not the same type on all platforms, this change uses a size_t for both. stddef.h is also included for the standard offsetof definition, which also produces a size_t. This change also makes similar modifications to list.h. --- lib/libqrtr.h | 5 +++-- src/list.h | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/libqrtr.h b/lib/libqrtr.h index 87433ed..93254df 100644 --- a/lib/libqrtr.h +++ b/lib/libqrtr.h @@ -4,6 +4,7 @@ #include #include #include +#include #include #ifdef __cplusplus @@ -11,7 +12,7 @@ extern "C" { #endif #ifndef offsetof -#define offsetof(type, md) ((unsigned long)&((type *)0)->md) +#define offsetof(type, md) ((size_t)&((type *)0)->md) #endif #ifndef container_of @@ -90,7 +91,7 @@ struct qmi_elem_info { uint32_t elem_size; enum qmi_array_type array_type; uint8_t tlv_type; - uint32_t offset; + size_t offset; struct qmi_elem_info *ei_array; }; diff --git a/src/list.h b/src/list.h index d740743..1d1c8e6 100644 --- a/src/list.h +++ b/src/list.h @@ -1,8 +1,10 @@ #ifndef _LIST_H_ #define _LIST_H_ +#include + #ifndef offsetof -#define offsetof(type, md) ((unsigned long)&((type *)0)->md) +#define offsetof(type, md) ((size_t)&((type *)0)->md) #endif #ifndef container_of