Discussion:
[libdvdcss-devel] [PATCH] device: Adjust types in offset calculations
Diego Biurrun
2014-11-14 19:18:34 UTC
Permalink
This fixes all related warnings from MSVC.
---
src/device.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/device.c b/src/device.c
index 13826f8..9d9946c 100644
--- a/src/device.c
+++ b/src/device.c
@@ -540,17 +540,17 @@ static int libc_seek( dvdcss_t dvdcss, int i_blocks )
return i_blocks;
}

- i_seek = (off_t)i_blocks * (off_t)DVDCSS_BLOCK_SIZE;
+ i_seek = i_blocks * DVDCSS_BLOCK_SIZE;
i_seek = lseek( dvdcss->i_fd, i_seek, SEEK_SET );

if( i_seek < 0 )
{
print_error( dvdcss, "seek error" );
dvdcss->i_pos = -1;
- return i_seek;
+ return (int) i_seek;
}

- dvdcss->i_pos = i_seek / DVDCSS_BLOCK_SIZE;
+ dvdcss->i_pos = (int) (i_seek / DVDCSS_BLOCK_SIZE);

return dvdcss->i_pos;
}
@@ -578,7 +578,7 @@ static int win2k_seek( dvdcss_t dvdcss, int i_blocks )
return -1;
}

- dvdcss->i_pos = li_seek.QuadPart / DVDCSS_BLOCK_SIZE;
+ dvdcss->i_pos = (int) (li_seek.QuadPart / DVDCSS_BLOCK_SIZE);

return dvdcss->i_pos;
}
@@ -589,9 +589,9 @@ static int win2k_seek( dvdcss_t dvdcss, int i_blocks )
*****************************************************************************/
static int libc_read ( dvdcss_t dvdcss, void *p_buffer, int i_blocks )
{
- off_t i_size, i_ret, i_ret_blocks;
+ ssize_t i_size, i_ret, i_ret_blocks;

- i_size = (off_t)i_blocks * (off_t)DVDCSS_BLOCK_SIZE;
+ i_size = i_blocks * DVDCSS_BLOCK_SIZE;
i_ret = read( dvdcss->i_fd, p_buffer, i_size );

if( i_ret < 0 )
--
2.1.0
Diego Biurrun
2014-11-14 19:56:10 UTC
Permalink
libdvdcss | branch: master | Diego Biurrun <***@biurrun.de> | Thu Oct 16 13:22:20 2014 +0200| [c500fe5227012ac04ec0b91c6c29606bad246839] | committer: Diego Biurrun

device: Adjust types in offset calculations

This fixes all related warnings from MSVC.
http://git.videolan.org/gitweb.cgi/libdvdcss.git/?a=commit;h=c500fe5227012ac04ec0b91c6c29606bad246839
---

src/device.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/device.c b/src/device.c
index 13826f8..9d9946c 100644
--- a/src/device.c
+++ b/src/device.c
@@ -540,17 +540,17 @@ static int libc_seek( dvdcss_t dvdcss, int i_blocks )
return i_blocks;
}

- i_seek = (off_t)i_blocks * (off_t)DVDCSS_BLOCK_SIZE;
+ i_seek = i_blocks * DVDCSS_BLOCK_SIZE;
i_seek = lseek( dvdcss->i_fd, i_seek, SEEK_SET );

if( i_seek < 0 )
{
print_error( dvdcss, "seek error" );
dvdcss->i_pos = -1;
- return i_seek;
+ return (int) i_seek;
}

- dvdcss->i_pos = i_seek / DVDCSS_BLOCK_SIZE;
+ dvdcss->i_pos = (int) (i_seek / DVDCSS_BLOCK_SIZE);

return dvdcss->i_pos;
}
@@ -578,7 +578,7 @@ static int win2k_seek( dvdcss_t dvdcss, int i_blocks )
return -1;
}

- dvdcss->i_pos = li_seek.QuadPart / DVDCSS_BLOCK_SIZE;
+ dvdcss->i_pos = (int) (li_seek.QuadPart / DVDCSS_BLOCK_SIZE);

return dvdcss->i_pos;
}
@@ -589,9 +589,9 @@ static int win2k_seek( dvdcss_t dvdcss, int i_blocks )
*****************************************************************************/
static int libc_read ( dvdcss_t dvdcss, void *p_buffer, int i_blocks )
{
- off_t i_size, i_ret, i_ret_blocks;
+ ssize_t i_size, i_ret, i_ret_blocks;

- i_size = (off_t)i_blocks * (off_t)DVDCSS_BLOCK_SIZE;
+ i_size = i_blocks * DVDCSS_BLOCK_SIZE;
i_ret = read( dvdcss->i_fd, p_buffer, i_size );

if( i_ret < 0 )

Loading...