summaryrefslogtreecommitdiff
path: root/src/bitwise.c
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year.Ralph Giles2014-05-271-1/+1
| | | | git-svn-id: http://svn.xiph.org/trunk/ogg@19149 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Fix format specifier width warning.Ralph Giles2014-05-271-4/+4
| | | | | | | dest_bytes is a long here, so we should use %ld instead of %d. git-svn-id: http://svn.xiph.org/trunk/ogg@19147 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Correct oggpack_writecopy bug reported by Ian Nartowicz: IntegerMonty2014-04-241-15/+246
| | | | | | | | | | | | | | | | overflow checking in oggpack_writecopy_helper got the reallocation size test condition backwards and so would error out when it needed to expand the destination's internal buffer. At the same time, do preexpansion of both aligned and unaligned copies to avoid possible heap thrashing in the unaligned case. Add black and glass box unit tests for oggpack_writecopy and oggpackB_writecopy. git-svn-id: http://svn.xiph.org/trunk/ogg@19119 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Clean up whitespace.Ralph Giles2011-08-041-25/+25
| | | | | | | Remove trailing whitespace and re-indent some comments. git-svn-id: http://svn.xiph.org/trunk/ogg@18051 0101bb08-14d6-0310-b084-bc0e0c8e3800
* The generic TYPE_MAX macros introduced in r17270 require the gcc typeofTim Terriberry2010-06-101-2/+3
| | | | | | | | | extension, which is not supported by MSVC. We don't actually need that generality, though, so revert to simply using LONG_MAX instead. git-svn-id: http://svn.xiph.org/trunk/ogg@17287 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Two cleanups of buffer LONG_MAX overflow hardening:Monty2010-06-041-3/+3
| | | | | | | | | | | | GCC optimizes out the overflow check due to the overflow check reyling on overflow; reimplement using type-based TYPE_MAX macro Correct an accidental assignment-during-check that wasn't a bug, but was semantically incorrect and rightly triggered a compilation warning. git-svn-id: http://svn.xiph.org/trunk/ogg@17270 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Complete code review on the pattern:Monty2010-06-041-56/+90
| | | | | | | | | | | | | | if(b->endbyte*8+bits>b->storage*8)goto overflow; Eliminate the possibility of b->endbyte overflow on buffer storage near or exactly at long storage limit; corrections made to both read and write. Also, harden both read and write against requesting <0 or >32 read/write. In both case, the packer is put into 'error' state. git-svn-id: http://svn.xiph.org/trunk/ogg@17268 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Cast away a char pointer signedness warning.Ralph Giles2010-03-261-4/+4
| | | | | | | | | | | The oggpack_* calls expect an unsigned char *, but the self-test code for convenience uses string literals for some of the test vectors. This generates a warning on gcc and clang, at least. We silence the warning by casting the literals to (unsigned char *). git-svn-id: http://svn.xiph.org/trunk/ogg@17063 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Modify default page flushing behavior;Monty2010-03-211-2/+2
| | | | | | | | | | | 1) Don't unneccessarily span pages. 2) Unless necessary, don't flush pages if there are less than four packets on them; this expands page size to reduce unneccessary overhead if incoming packets are large. git-svn-id: http://svn.xiph.org/trunk/ogg@16993 0101bb08-14d6-0310-b084-bc0e0c8e3800
* DESTROY ALL TABSMonty2009-05-271-50/+50
| | | | git-svn-id: http://svn.xiph.org/trunk/ogg@16051 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Complete fleshing out async error reporting interface in the source;Monty2009-05-271-1/+1
| | | | | | | | | | makes it safe to ignore most return codes in applications and simply check occasionally to see if something went wrong at some earlier point. git-svn-id: http://svn.xiph.org/trunk/ogg@16047 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Correct a typo in the new oggpackB_writecheck that would have caused a Monty2009-05-211-1/+1
| | | | | | | | stack overflow. git-svn-id: http://svn.xiph.org/trunk/ogg@16022 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Update configure script to use new 'legal' names for cache vals (I hate you ↵Monty2009-05-191-14/+49
| | | | | | | | | | | | | | | | | | | | so much, autofoo) Update ogg to check the return of all allocs for those on embedded platforms with guarantees non-ovecommit. Be aware that these checks are useless on any modern desktop OS, but that embedded folks with no MMU and a hard heap boundary will benefit. Add one new call to bitpacker that will query a write-mode oggpack_buffer to see if it ran out of memory at some point; there was no other way to add the error reporting in an ABI-compatible manner (and it also allows the writepacker to avoid extra checks; it will just keep going after running out of memory without faulting and state can be queried later). git-svn-id: http://svn.xiph.org/trunk/ogg@16016 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Fix possible read past the end of the buffer when reading 0 bits.Tim Terriberry2008-02-291-0/+3
| | | | git-svn-id: http://svn.xiph.org/trunk/ogg@14546 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Fix for bugs 464/564Monty2004-09-011-1/+1
| | | | git-svn-id: http://svn.xiph.org/trunk/ogg@7675 0101bb08-14d6-0310-b084-bc0e0c8e3800
* free memory allocated in testing routines, to allow checks to pass inConrad Parker2004-08-191-0/+2
| | | | | | | leak-checking environments git-svn-id: http://svn.xiph.org/trunk/ogg@7586 0101bb08-14d6-0310-b084-bc0e0c8e3800
* add explicit casts and consts to fix visual c compiler warningsConrad Parker2004-08-111-19/+19
| | | | | | | | (patch from Colin Ward) + tested on linux/gcc git-svn-id: http://svn.xiph.org/trunk/ogg@7525 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Correct masking bug (incorrect implicit cast) in oggpackB_read that'sMonty2004-06-171-1/+1
| | | | | | | | | exposed by 64 bit systems; the 32 bit mask is signed default and being sign-extended by 64 bit. git-svn-id: http://svn.xiph.org/trunk/ogg@6832 0101bb08-14d6-0310-b084-bc0e0c8e3800
* A bcopy() snuck in from sloppy source tree management. Revert it toMonty2004-03-161-2/+2
| | | | | | | | the original memmove (bcopy is neither portable nor equivalent to memmove) git-svn-id: http://svn.xiph.org/trunk/ogg@5951 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Fix for bug 498Monty2004-03-081-4/+4
| | | | | | | (B_look() and B_read() broken on 64 bit archs) git-svn-id: http://svn.xiph.org/trunk/ogg@5904 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Temporary fix to bitwise.c bigendian null-bit read calls. The fix isMonty2003-11-101-3/+3
| | | | | | | fine, I want to find something slightly more elegant. git-svn-id: http://svn.xiph.org/trunk/ogg@5550 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Fix for bug 458Monty2003-10-081-6/+11
| | | | git-svn-id: http://svn.xiph.org/trunk/ogg@5409 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Correct a typo (extra digit) in the mask8B array. Thanks for derf forRalph Giles2003-09-291-2/+2
| | | | | | | the fix. Bug 457. git-svn-id: http://svn.xiph.org/trunk/ogg@5378 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Add bigendian bitpacker to libogg (that is, a packer that packs MSbitMonty2002-09-151-56/+381
| | | | | | | | | | | | | first into bit position 7, rtaher than LSb first into bit position 0, ala Vorbis I). VP3 needs it, as will other future Ogg codecs. Might as well add it now. Monty git-svn-id: http://svn.xiph.org/trunk/ogg@3911 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Xiphophorus -> Xiph.Org changesMonty2002-07-111-2/+2
| | | | git-svn-id: http://svn.xiph.org/trunk/ogg@3577 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Tested changes needed for ongoing work on branches in vorbis/Monty2002-05-081-1/+45
| | | | | | | Add bitpack copy and checkpoint functions git-svn-id: http://svn.xiph.org/trunk/ogg@3289 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Minor fix; reading zero bits from the packer at end of file should notMonty2002-01-191-29/+4
| | | | | | | cause EOF. git-svn-id: http://svn.xiph.org/trunk/ogg@2958 0101bb08-14d6-0310-b084-bc0e0c8e3800
* fix "interesting" warningSegher Boessenkool2001-12-211-3/+3
| | | | git-svn-id: http://svn.xiph.org/trunk/ogg@2880 0101bb08-14d6-0310-b084-bc0e0c8e3800
* lots of extremely minor fixesSegher Boessenkool2001-12-201-2/+2
| | | | git-svn-id: http://svn.xiph.org/trunk/ogg@2867 0101bb08-14d6-0310-b084-bc0e0c8e3800
* sizeof() cleanup.Segher Boessenkool2001-10-021-4/+4
| | | | git-svn-id: http://svn.xiph.org/trunk/ogg@2106 0101bb08-14d6-0310-b084-bc0e0c8e3800
* speling fixSegher Boessenkool2001-03-281-2/+2
| | | | git-svn-id: http://svn.xiph.org/trunk/ogg@1416 0101bb08-14d6-0310-b084-bc0e0c8e3800
* final beta 4 commitMonty2001-02-261-5/+5
| | | | | | | | change to BSD license version update git-svn-id: http://svn.xiph.org/trunk/ogg@1333 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Update copyright dates.Monty2001-02-021-4/+3
| | | | git-svn-id: http://svn.xiph.org/trunk/ogg@1242 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Also need defines for _ogg_freeMonty2000-11-131-2/+2
| | | | git-svn-id: http://svn.xiph.org/trunk/ogg@1053 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Merge branch_beta3 onto the mainline.Monty2000-11-051-8/+8
| | | | | | | Monty git-svn-id: http://svn.xiph.org/trunk/ogg@989 0101bb08-14d6-0310-b084-bc0e0c8e3800
* ack, some of the '_' were still lingering.Jack Moffitt2000-09-071-52/+52
| | | | git-svn-id: http://svn.xiph.org/trunk/ogg@648 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Initial revisionJack Moffitt2000-09-031-0/+434
git-svn-id: http://svn.xiph.org/trunk/ogg@618 0101bb08-14d6-0310-b084-bc0e0c8e3800