[libcamera-devel] [PATCH] v4l2: v4l2_camera_proxy: Fix sign compare compilation error
Niklas Söderlund
niklas.soderlund at ragnatech.se
Sun Mar 8 17:37:19 CET 2020
Hi Laurent,
Thanks for your work.
On 2020-03-07 23:25:28 +0200, Laurent Pinchart wrote:
> 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 at ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> ---
> src/v4l2/v4l2_camera_proxy.cpp | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp
> index 622520479be0..b620f236499c 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;
> }
> --
> Regards,
>
> Laurent Pinchart
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
--
Regards,
Niklas Söderlund
More information about the libcamera-devel
mailing list