diff options
| author | Amaury Pouly <amaury.pouly@gmail.com> | 2017-01-16 00:10:38 +0100 |
|---|---|---|
| committer | Gerrit Rockbox <gerrit@rockbox.org> | 2017-02-04 17:24:47 +0100 |
| commit | d7871914acd2ed77f43344e36e08944524a67d9e (patch) | |
| tree | 7bcef243d9b53c3703c305b8a5f9f8a8488eabfb /lib/rbcodec/codecs/libtremor/codebook.c | |
| parent | 1245c5fe61f6ca8e1980a33a8b8f7ea4322829fd (diff) | |
| download | rockbox-d7871914acd2ed77f43344e36e08944524a67d9e.zip rockbox-d7871914acd2ed77f43344e36e08944524a67d9e.tar.gz rockbox-d7871914acd2ed77f43344e36e08944524a67d9e.tar.bz2 rockbox-d7871914acd2ed77f43344e36e08944524a67d9e.tar.xz | |
Fix dangerous casts
On Windows 64-bit, the size of long is 32-bit, thus any pointer to long cast is
not valid. In any case, one should use intptr_t and ptrdiff_t when casting
to integers. This commit attempts to fix all instances reported by GCC.
When relevant, I replaced code by the macros PTR_ADD, ALIGN_UP from system.h
Change-Id: I2273b0e8465d3c4689824717ed5afa5ed238a2dc
Diffstat (limited to 'lib/rbcodec/codecs/libtremor/codebook.c')
| -rw-r--r-- | lib/rbcodec/codecs/libtremor/codebook.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/rbcodec/codecs/libtremor/codebook.c b/lib/rbcodec/codecs/libtremor/codebook.c index 7087f0a..f3ac5a2 100644 --- a/lib/rbcodec/codecs/libtremor/codebook.c +++ b/lib/rbcodec/codecs/libtremor/codebook.c @@ -293,7 +293,7 @@ static long decode_packed_block(codebook *book, oggpack_buffer *b, if(b->endbyte < b->storage - 8) { ogg_uint32_t *ptr; unsigned long bit, bitend; - unsigned long adr; + intptr_t adr; ogg_uint32_t cache = 0; int cachesize = 0; const unsigned int cachemask = (1<<book->dec_firsttablen)-1; @@ -303,7 +303,7 @@ static long decode_packed_block(codebook *book, oggpack_buffer *b, const ogg_uint32_t *book_codelist = book->codelist; const char *book_dec_codelengths = book->dec_codelengths; - adr = (unsigned long)b->ptr; + adr = (intptr_t)b->ptr; bit = (adr&3)*8+b->endbit; ptr = (ogg_uint32_t*)(adr&~3); bitend = ((adr&3)+(b->storage-b->endbyte))*8; @@ -334,7 +334,7 @@ static long decode_packed_block(codebook *book, oggpack_buffer *b, cache >>= l; } - adr=(unsigned long)b->ptr; + adr=(intptr_t)b->ptr; bit-=(adr&3)*8+cachesize; b->endbyte+=bit/8; b->ptr+=bit/8; |