summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Buffer: Optimise to minimise memmove shuffles.HEADmasterMichael Drake2021-05-162-16/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously the data in the linear buffer was always stored at the start of the allocation, pointed to by `buffer->data`. This was achieved by memmoving every time data was consumed from the front. Now the allocation is pointed to by `buffer->alloc`, and the start of the data is pointed to by `buffer->data` (as before). This means client code does not need to change to get at the data. The advantage comes when we discard the from the start of the buffer, when some data is consumed. We now simply advance the data pointer by the number of bytes to be discarded, and reduce the buffer length by the same amount. If the used portion of the buffer now fits between the start of the allocation and the current start of the data, it is memcpyed to the allocation start, otherwise it is left alone. This is a significant optimisation when the size of the chunk is large, such as when loading from disc. (When the first (only) "chunk" is just the whole file.
* Update componnet version for releaserelease/0.2.4Vincent Sanders2018-08-221-1/+1
|
* Tests: Fix memory leak.Michael Drake2018-07-281-0/+1
|
* Tests: Fix read before start of unused expected buffer.Michael Drake2018-07-281-1/+1
|
* Update component version for releaserelease/0.2.3Vincent Sanders2016-02-161-1/+1
|
* make unused variable macro more portableVincent Sanders2016-02-061-1/+1
|
* Update Component version for releaserelease/0.2.2Vincent Sanders2015-12-181-2/+2
|
* Update CFLAGS to avoid deprication warning for glibc 2.21 and later.Vincent Sanders2015-03-211-2/+9
|
* Fix include directories for Haiku.Adrien Destugues2015-03-212-5/+5
|
* Update the component version for releaserelease/0.2.1Vincent Sanders2015-03-081-1/+1
|
* Fix up for new buildsystemJohn-Mark Bell2014-11-161-1/+1
|
* Update component version for releaserelease/0.2.0Vincent Sanders2014-04-181-1/+1
|
* Fix memmove beyond buffer length in parserutlis_buffer_discard. Thanks to ↵Michael Drake2014-03-281-1/+1
| | | | Elie Roudninski.
* Add test for memmove beyond buffer length, in parserutils_buffer_discard.Michael Drake2014-03-283-1/+71
|
* Replace use of abort() with assertions.John-Mark Bell2014-01-137-36/+21
|
* Fix non-iconv build.John-Mark Bell2014-01-131-2/+1
|
* add support for multilibDavid Tardon2014-01-132-3/+3
| | | | Signed-off-by: John-Mark Bell <jmb@netsurf-browser.org>
* Fix bounds checking. Fixes CID 1152178, 1152179.John-Mark Bell2014-01-122-2/+2
|
* Fix leak. Thanks to Ralf Junker.Michael Drake2014-01-101-1/+6
|
* Remove client allocation function.Michael Drake2013-12-1428-223/+72
|
* Don't use the nonportable alloca() during tests.Anthony J. Bentley2013-04-274-10/+30
|
* update component version for releaserelease/0.1.2Vincent Sanders2013-04-191-1/+1
|
* add a .gitattributes so .gitignore is not exportedVincent Sanders2013-04-181-0/+2
|
* Fix input insertion.Vincent Sanders2012-07-051-1/+1
| | | | The gap in teh input was being created at the wrong insertion point!
* add simple insert test when an a is found in teh input streamVincent Sanders2012-07-051-0/+5
|
* Update to new NSBUILD infrastructureDaniel Silverstone2012-06-299-11/+13
| | | | svn path=/trunk/libparserutils/; revision=14003
* Remove unused origlen so tests runDaniel Silverstone2012-06-291-2/+2
| | | | svn path=/trunk/libparserutils/; revision=14001
* Basic gitignoreDaniel Silverstone2012-06-041-0/+3
| | | | svn path=/trunk/libparserutils/; revision=13948
* Remove dead allocation which also isn't even usefully documentingDaniel Silverstone2012-03-251-1/+0
| | | | svn path=/trunk/libparserutils/; revision=13672
* Fix iconv disablement documentationJohn Mark Bell2012-01-121-1/+1
| | | | svn path=/trunk/libparserutils/; revision=13402
* Bump version numberJohn Mark Bell2011-09-181-1/+1
| | | | svn path=/trunk/libparserutils/; revision=12813
* Actually handle byte order marks in streams marked as utf16 or utf32John Mark Bell2011-07-191-13/+48
| | | | svn path=/trunk/libparserutils/; revision=12608
* Require iconv by default, as this is the most useful configurationJohn Mark Bell2011-04-214-28/+22
| | | | svn path=/trunk/libparserutils/; revision=12215
* Bump version numberJohn Mark Bell2011-04-071-1/+1
| | | | svn path=/trunk/libparserutils/; revision=12162
* Given that some iconv() implementations define the input buffer pointer to ↵John Mark Bell2011-03-091-2/+2
| | | | | | be a pointer to a pointer to const data, and some don't, hack around the issue by casting to void * svn path=/trunk/libparserutils/; revision=11950
* Internalise the internal symbol names.Daniel Silverstone2011-01-2610-64/+64
| | | | svn path=/trunk/libparserutils/; revision=11493
* Fix profile and coverage targetsJohn Mark Bell2010-12-061-1/+3
| | | | svn path=/trunk/libparserutils/; revision=11022
* Remove spurious assignmentJohn Mark Bell2010-12-051-1/+1
| | | | svn path=/trunk/libparserutils/; revision=11015
* C89François Revel2010-12-051-1/+4
| | | | svn path=/trunk/libparserutils/; revision=11013
* Remove Aliases file.Michael Drake2010-12-041-302/+0
| | | | svn path=/trunk/libparserutils/; revision=10984
* Remove Aliases file from test harnessesJohn Mark Bell2010-12-0410-40/+30
| | | | svn path=/trunk/libparserutils/; revision=10979
* Sync Aliases file with hubbubJohn Mark Bell2010-12-041-1/+2
| | | | svn path=/trunk/libparserutils/; revision=10974
* Make sure we elide trailing non-characters when matching aliasesDaniel Silverstone2010-12-042-0/+12
| | | | svn path=/trunk/libparserutils/; revision=10973
* Remove init/final code and turn aliases into static data structure. r=vinceDaniel Silverstone2010-12-0427-721/+207
| | | | svn path=/trunk/libparserutils/; revision=10961
* Sprinkle some C++ scoping aroundJohn Mark Bell2010-10-2312-0/+108
| | | | svn path=/trunk/libparserutils/; revision=10901
* Fix bug where any encoding specified when creating an input stream would be ↵John Mark Bell2010-10-231-8/+18
| | | | | | | | replaced by UTF-8 if there was no charset detection callback provided, too. Tidy up the logic in this area, and add more commentary so it's clear. svn path=/trunk/libparserutils/; revision=10899
* Fix whitespaceJohn Mark Bell2010-10-231-1/+1
| | | | svn path=/trunk/libparserutils/; revision=10898
* Bump versionJohn Mark Bell2010-04-191-1/+1
| | | | svn path=/trunk/libparserutils/; revision=10445
* -Wextra is only understood by GCC 3.4.6 or later. John Mark Bell2009-11-061-3/+4
| | | | | | | | | | | | | | | | It is a more descriptive synonym for -W. Use -W instead which is understood by all common versions of GCC (i.e. GCC 2.95 supports it, which is the oldest GCC version we have to support) Additionally, conditionalise our -Werror usage on whether we're building for BeOS/Haiku. On these platforms, the standard library headers result in warnings. GCC 2 is quite happy to build this code on other platforms, so shouldn't be the trigger for dropping -Werror (even if BeOS is the only target where GCC2 is likely to be used). svn path=/trunk/libparserutils/; revision=9669
* Ensure we use the canonical charset name when invoking iconv_open()John Mark Bell2009-10-121-1/+2
| | | | svn path=/trunk/libparserutils/; revision=9628