summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-03-07 22:20:45 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-03-08 19:35:21 +0200
commit1268751ce6d170dc1aa968f1314c0bb5852b1b8e (patch)
treeaea433203cd47f9ec1c6e507b61486b4e4c4af13
parent20fb72a56eb3afe347ac058c13b8c84fbff1ed40 (diff)
v4l2: v4l2_camera_proxy: Fix sign compare compilation error
When compiling for ARM and uClibc, gcc-8.3.0 complains about comparison of integer expressions of different signedness: ../../src/v4l2/v4l2_camera_proxy.cpp: In member function ‘void* V4L2CameraProxy::mmap(void*, size_t, int, int, off_t)’: ../../src/v4l2/v4l2_camera_proxy.cpp:88:25: error: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘off_t’ {aka ‘long int’} [-Werror=sign-compare] if (index * sizeimage_ != offset || length != sizeimage_) { ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ Fix the compilation error with a cast. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
-rw-r--r--src/v4l2/v4l2_camera_proxy.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp
index 62252047..b620f236 100644
--- a/src/v4l2/v4l2_camera_proxy.cpp
+++ b/src/v4l2/v4l2_camera_proxy.cpp
@@ -85,7 +85,8 @@ void *V4L2CameraProxy::mmap(void *addr, size_t length, int prot, int flags,
}
unsigned int index = offset / sizeimage_;
- if (index * sizeimage_ != offset || length != sizeimage_) {
+ if (static_cast<off_t>(index * sizeimage_) != offset ||
+ length != sizeimage_) {
errno = EINVAL;
return MAP_FAILED;
}