]> gitweb.michael.orlitzky.com - libsvgtiny.git/log
libsvgtiny.git
8 years agoAdd test set derived from AFL
Vincent Sanders [Sun, 11 Sep 2016 15:08:17 +0000 (16:08 +0100)]
Add test set derived from AFL

Generated with AFL using custom dictionary then minimised with cmin
and tmin tools to be the smallest test set possible

The run used two thousand processor hours on a 24way xeon 2.3GHz system

8 years agoprevent division by zero for gradient with no points and add test
Vincent Sanders [Wed, 31 Aug 2016 14:19:46 +0000 (15:19 +0100)]
prevent division by zero for gradient with no points and add test

8 years agoimprove test suite runner
Vincent Sanders [Wed, 31 Aug 2016 14:18:58 +0000 (15:18 +0100)]
improve test suite runner

8 years agoadd crash test generated with AFL
Vincent Sanders [Sat, 27 Aug 2016 19:45:07 +0000 (20:45 +0100)]
add crash test generated with AFL

8 years agocope with lack of root svg element
Vincent Sanders [Wed, 24 Aug 2016 21:02:47 +0000 (22:02 +0100)]
cope with lack of root svg element

8 years agoadd file output to test decoder
Vincent Sanders [Tue, 23 Aug 2016 20:13:22 +0000 (21:13 +0100)]
add file output to test decoder

8 years agoUpdate component version for release
Vincent Sanders [Sun, 3 Jan 2016 11:57:27 +0000 (11:57 +0000)]
Update component version for release

9 years agoFix build with certain C libraries.
Michael Drake [Sun, 1 Nov 2015 10:04:47 +0000 (10:04 +0000)]
Fix build with certain C libraries.

9 years agoenable decode tests for svg files
Vincent Sanders [Wed, 2 Sep 2015 08:21:05 +0000 (09:21 +0100)]
enable decode tests for svg files

These svg files have caused the library to crash and to render poorly.

9 years agoFix reallocation of path buffer length to cope with differng path lengths
Vincent Sanders [Sun, 23 Aug 2015 21:44:54 +0000 (22:44 +0100)]
Fix reallocation of path buffer length to cope with differng path lengths

9 years agoUpdate CFLAGS to avoid deprication warning for glibc 2.21 and later.
Vincent Sanders [Sun, 22 Mar 2015 00:22:24 +0000 (00:22 +0000)]
Update CFLAGS to avoid deprication warning for glibc 2.21 and later.

9 years agoFix paths for Haiku.
Adrien Destugues [Mon, 9 Jun 2014 18:32:12 +0000 (20:32 +0200)]
Fix paths for Haiku.

9 years agoUpdate the component version for release
Vincent Sanders [Sun, 8 Mar 2015 23:24:51 +0000 (23:24 +0000)]
Update the component version for release

9 years agoEnsure path generation does not overrun allocated storage.
Vincent Sanders [Thu, 15 Jan 2015 12:38:04 +0000 (12:38 +0000)]
Ensure path generation does not overrun allocated storage.

This fixes bug #2251 which was caused by the svg:

<svg width="11" height="11" id="support-entry-icon"
y="3389"><g><g><path fill-rule="evenodd" clip-rule="evenodd"
fill="#D6D6D6" d="M0,0v11h11V0H0z M10,10H1V1h9V10z M9,3H2v1h7V3z
M9,5H2v1h7V5z M9,7H2v1h7V7z"/></g></g></svg>

The svg was causing more path elements to be generated in the internal
representation than space was allocated for and overrunning heap
blocks.

The path element parsing was using a fixed size allocation for the
path elements and never bounds checked. Further it did not cope with
zero length paths (which the spec says are permitted). It was also
grossly overallocating for the common case.

This changes the path element array to be bounds checked and then
extended if required, the initial allocation is generally sufficient
and in testing very few resizes occurred.

The reallocation strategy grows the element storage by 2.5 each time
this means even in the degenerate case very few reallocations are
required. In testing no more than a single reallocation has been
observed.

The final path element array will always be reallocted to the minimum
required size. This reduces overall memory usage which is useful with
complex scenes.

9 years agoUpdate README to cover dependancies and core buildsystem
Vincent Sanders [Sun, 7 Dec 2014 12:33:26 +0000 (12:33 +0000)]
Update README to cover dependancies and core buildsystem

Fix various issues with the test target and update the documentation
to be more correct.

10 years agoFix up for new buildsystem
John-Mark Bell [Sun, 16 Nov 2014 10:33:50 +0000 (10:33 +0000)]
Fix up for new buildsystem

10 years agofix parsing of whitespace in transform operators
Vincent Sanders [Thu, 23 Oct 2014 21:18:16 +0000 (22:18 +0100)]
fix parsing of whitespace in transform operators

The SVG spec for the transform attribute allows whitespace in places
that were causing the %n specifier in the ssanf to return 0 as the
match failed before it completed the parse.

http://www.w3.org/TR/SVG/coords.html#TransformAttribute

10 years agoFix relative move commands following a path close.
Paul Mecklenburg [Fri, 10 Oct 2014 22:13:02 +0000 (23:13 +0100)]
Fix relative move commands following a path close.

Both 'M' and 'm' are moves and therefore start a new (sub)path. In
either case the location should be cached so that a later 'close path'
(z or Z) knows the location it is returning to. The location is not
written to 'p', since it is assumed that the client code remembers. If
the next move is relative (lowercase), then it's important that last_x,
last_y were correctly updated while processing Z/z.

10 years agoAdd test case image for broken behaviour of relative move.
Michael Drake [Fri, 10 Oct 2014 22:09:30 +0000 (23:09 +0100)]
Add test case image for broken behaviour of relative move.

10 years agoUpdate component version for release
Vincent Sanders [Tue, 26 Aug 2014 14:44:29 +0000 (07:44 -0700)]
Update component version for release

10 years agoHopefully silence warnings about inlines and non inlines calling one
Daniel Silverstone [Sat, 26 Apr 2014 15:24:54 +0000 (16:24 +0100)]
Hopefully silence warnings about inlines and non inlines calling one
another.

10 years agoUpdate component version for release
Vincent Sanders [Fri, 18 Apr 2014 11:19:22 +0000 (12:19 +0100)]
Update component version for release

10 years agoAdd support for multilib
John-Mark Bell [Mon, 13 Jan 2014 01:07:38 +0000 (01:07 +0000)]
Add support for multilib

11 years agoFix to use list_size accessor.
Michael Drake [Fri, 23 Aug 2013 09:48:36 +0000 (10:48 +0100)]
Fix to use list_size accessor.

11 years agoMinor tidyup.
Michael Drake [Fri, 23 Aug 2013 09:47:56 +0000 (10:47 +0100)]
Minor tidyup.

11 years agoMove gradient logging to svgtiny_gradient.c, and suppress when not debugging gradients.
Michael Drake [Fri, 23 Aug 2013 08:26:38 +0000 (09:26 +0100)]
Move gradient logging to svgtiny_gradient.c, and suppress when not debugging gradients.

11 years agoFix leak of gradient dom strings.
Michael Drake [Fri, 23 Aug 2013 08:21:51 +0000 (09:21 +0100)]
Fix leak of gradient dom strings.

11 years agoSuppress most gradient debug.
Michael Drake [Thu, 22 Aug 2013 22:14:56 +0000 (23:14 +0100)]
Suppress most gradient debug.

11 years agoupdate component version for release
Vincent Sanders [Fri, 19 Apr 2013 19:26:48 +0000 (20:26 +0100)]
update component version for release

11 years agoadd a .gitattributes so .gitignore is not exported
Vincent Sanders [Thu, 18 Apr 2013 16:44:01 +0000 (17:44 +0100)]
add a .gitattributes so .gitignore is not exported

11 years agoExplicitly check if r0 or r1 are NaN, as if they are, on x86 the function evaluates...
Chris Young [Sat, 5 Jan 2013 21:11:31 +0000 (21:11 +0000)]
Explicitly check if r0 or r1 are NaN, as if they are, on x86 the function evaluates as 0 (which is already handled), but on PPC the function evaluates to a negative value, causing the following for loop to become infinite.

11 years agoHandle empty text nodes correctly.
John-Mark Bell [Mon, 31 Dec 2012 00:10:38 +0000 (00:10 +0000)]
Handle empty text nodes correctly.

11 years agoDrop const, as this can't work with libdom.
John-Mark Bell [Sun, 30 Dec 2012 23:38:32 +0000 (23:38 +0000)]
Drop const, as this can't work with libdom.

11 years agocorrect target name
Chris Young [Tue, 27 Nov 2012 18:29:05 +0000 (18:29 +0000)]
correct target name

12 years agoReplace dom_string_length with dom_string_byte_length -- faster and more correct
Daniel Silverstone [Sat, 3 Nov 2012 22:42:11 +0000 (22:42 +0000)]
Replace dom_string_length with dom_string_byte_length -- faster and more correct

12 years agoVoid myself unpleasantly in order to satisfy RISC OS toolchain
Daniel Silverstone [Sat, 3 Nov 2012 18:22:52 +0000 (18:22 +0000)]
Void myself unpleasantly in order to satisfy RISC OS toolchain

12 years agoClean up properly
Daniel Silverstone [Sat, 3 Nov 2012 18:03:23 +0000 (18:03 +0000)]
Clean up properly

12 years agoFix up pkgconfig
Daniel Silverstone [Sat, 3 Nov 2012 17:53:10 +0000 (17:53 +0000)]
Fix up pkgconfig

12 years agoMerge branch 'dsilvers/tolibdom'
Daniel Silverstone [Sat, 3 Nov 2012 17:51:55 +0000 (17:51 +0000)]
Merge branch 'dsilvers/tolibdom'

12 years agoConvert the last bits for libdom
Daniel Silverstone [Sat, 3 Nov 2012 17:49:30 +0000 (17:49 +0000)]
Convert the last bits for libdom

12 years agoThe library now builds
Daniel Silverstone [Sat, 3 Nov 2012 17:45:07 +0000 (17:45 +0000)]
The library now builds

12 years agoMore work towards libdom conversion
Daniel Silverstone [Sat, 3 Nov 2012 16:46:39 +0000 (16:46 +0000)]
More work towards libdom conversion

12 years agoParse text
Daniel Silverstone [Sat, 3 Nov 2012 15:00:36 +0000 (15:00 +0000)]
Parse text

12 years agoMake more svg elements parse again
Daniel Silverstone [Sat, 3 Nov 2012 14:35:11 +0000 (14:35 +0000)]
Make more svg elements parse again

12 years agoMore work to bring svgtiny into the libdom era
Daniel Silverstone [Sat, 3 Nov 2012 14:13:47 +0000 (14:13 +0000)]
More work to bring svgtiny into the libdom era

12 years agoIgnore ~ files
Daniel Silverstone [Sat, 3 Nov 2012 14:13:41 +0000 (14:13 +0000)]
Ignore ~ files

12 years agoBegin conversion to libdom
Daniel Silverstone [Sat, 3 Nov 2012 12:05:13 +0000 (12:05 +0000)]
Begin conversion to libdom

12 years agoAdd an example SVG and a gitignore
Daniel Silverstone [Sat, 3 Nov 2012 10:32:06 +0000 (10:32 +0000)]
Add an example SVG and a gitignore

12 years agoUpdate to new NSBUILD infrastructure
Daniel Silverstone [Fri, 29 Jun 2012 19:56:04 +0000 (19:56 -0000)]
Update to new NSBUILD infrastructure

svn path=/trunk/libsvgtiny/; revision=14010

12 years agoBump version number
Vincent Sanders [Mon, 27 Feb 2012 13:40:19 +0000 (13:40 -0000)]
Bump version number

svn path=/trunk/libsvgtiny/; revision=13487

13 years agoDon't treat warnings as errors on AmigaOS
Chris Young [Wed, 28 Sep 2011 17:04:54 +0000 (17:04 -0000)]
Don't treat warnings as errors on AmigaOS

svn path=/trunk/libsvgtiny/; revision=12908

13 years agosed in BeOS still doesn't handle -i, so use a temporary file since RiscOS doesn't...
François Revel [Mon, 21 Mar 2011 22:07:10 +0000 (22:07 -0000)]
sed in BeOS still doesn't handle -i, so use a temporary file since RiscOS doesn't know pipes.

svn path=/trunk/libsvgtiny/; revision=12121

13 years agos/strndup/svgtiny_strndup
John Mark Bell [Sun, 2 Jan 2011 22:09:46 +0000 (22:09 -0000)]
s/strndup/svgtiny_strndup

svn path=/trunk/libsvgtiny/; revision=11186

13 years agoUse built-in strndup if the platform we're targetting doesn't have one
John Mark Bell [Wed, 29 Dec 2010 18:06:04 +0000 (18:06 -0000)]
Use built-in strndup if the platform we're targetting doesn't have one

svn path=/trunk/libsvgtiny/; revision=11140

14 years agoSplit the string for stroke-width like it's done for the other attributes so svgtiny_...
James Bursa [Fri, 24 Sep 2010 23:41:14 +0000 (23:41 -0000)]
Split the string for stroke-width like it's done for the other attributes so svgtiny_parse_length doesn't get confused about the remainder of the string. Contributed by Peter Korsgaard.

svn path=/trunk/libsvgtiny/; revision=10837

14 years agoAdd an example of using libsvgtiny. Displays an SVG using X11 and cairo.
James Bursa [Sun, 10 Jan 2010 21:08:17 +0000 (21:08 -0000)]
Add an example of using libsvgtiny. Displays an SVG using X11 and cairo.

svn path=/trunk/libsvgtiny/; revision=9800

14 years agoFor BeOS libxml2 is not part of the default devkit, try to find headers elsewhere.
François Revel [Sun, 3 Jan 2010 23:37:39 +0000 (23:37 -0000)]
For BeOS libxml2 is not part of the default devkit, try to find headers elsewhere.

svn path=/trunk/libsvgtiny/; revision=9785

14 years agoMore of the C89... really do test it please!
François Revel [Sat, 2 Jan 2010 02:08:45 +0000 (02:08 -0000)]
More of the C89... really do test it please!

svn path=/trunk/libsvgtiny/; revision=9772

14 years agoLots of C89, please test...
François Revel [Sat, 2 Jan 2010 01:54:45 +0000 (01:54 -0000)]
Lots of C89, please test...

svn path=/trunk/libsvgtiny/; revision=9771

14 years agoC89: Fix for gcc2 "warning: comma at end of enumerator list".
François Revel [Sat, 2 Jan 2010 01:32:54 +0000 (01:32 -0000)]
C89: Fix for gcc2 "warning: comma at end of enumerator list".

svn path=/trunk/libsvgtiny/; revision=9770

14 years agoRound stroke widths to nearest integer instead of down, and force to 1 if it would...
James Bursa [Sat, 28 Nov 2009 04:08:19 +0000 (04:08 -0000)]
Round stroke widths to nearest integer instead of down, and force to 1 if it would be rounded to 0.

svn path=/trunk/libsvgtiny/; revision=9707

14 years agoImplement <ellipse> element. Improve error handling for <circle>.
James Bursa [Sat, 28 Nov 2009 04:05:30 +0000 (04:05 -0000)]
Implement <ellipse> element. Improve error handling for <circle>.

svn path=/trunk/libsvgtiny/; revision=9706

15 years agoDespite M_PI being #defined in math.h, and math.h being #included, in certain
Chris Young [Sun, 22 Nov 2009 15:57:10 +0000 (15:57 -0000)]
Despite M_PI being #defined in math.h, and math.h being #included, in certain
circumstances it doesn't get #defined.  Catch this.

svn path=/trunk/libsvgtiny/; revision=9701

15 years agoAmigaOS4 standard library headers also create warnings
Chris Young [Sun, 22 Nov 2009 15:55:17 +0000 (15:55 -0000)]
AmigaOS4 standard library headers also create warnings

svn path=/trunk/libsvgtiny/; revision=9700

15 years agoChange svgtiny_display to build debug version.
James Bursa [Sun, 22 Nov 2009 13:33:11 +0000 (13:33 -0000)]
Change svgtiny_display to build debug version.

svn path=/trunk/libsvgtiny/; revision=9683

15 years agoStart implementing arcs in paths. Fix crash when an empty path has a gradient fill.
James Bursa [Sun, 22 Nov 2009 13:32:37 +0000 (13:32 -0000)]
Start implementing arcs in paths. Fix crash when an empty path has a gradient fill.

svn path=/trunk/libsvgtiny/; revision=9682

15 years agoFix svgtiny_display script to work with new makefiles.
James Bursa [Sun, 15 Nov 2009 23:02:06 +0000 (23:02 -0000)]
Fix svgtiny_display script to work with new makefiles.

svn path=/trunk/libsvgtiny/; revision=9676

15 years ago-Wextra is only understood by GCC 3.4.6 or later.
John Mark Bell [Fri, 6 Nov 2009 07:05:12 +0000 (07:05 -0000)]
-Wextra is only understood by GCC 3.4.6 or later.
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/libsvgtiny/; revision=9670

15 years agoFix colour component macros on RISC OS.
John Mark Bell [Tue, 8 Sep 2009 10:06:33 +0000 (10:06 -0000)]
Fix colour component macros on RISC OS.

svn path=/trunk/libsvgtiny/; revision=9558

15 years agoSomething approximating a makefile for the test binary.
John Mark Bell [Mon, 24 Aug 2009 09:25:11 +0000 (09:25 -0000)]
Something approximating a makefile for the test binary.
pkg-config control file.

svn path=/trunk/libsvgtiny/; revision=9426

15 years agogperf -> .c rule. This isn't in the core buildsystem as nothing else requires this...
John Mark Bell [Mon, 24 Aug 2009 09:14:08 +0000 (09:14 -0000)]
gperf -> .c rule. This isn't in the core buildsystem as nothing else requires this. We can migrate it when needed.

svn path=/trunk/libsvgtiny/; revision=9425

15 years agoSquash warnings
John Mark Bell [Mon, 24 Aug 2009 08:21:22 +0000 (08:21 -0000)]
Squash warnings

svn path=/trunk/libsvgtiny/; revision=9423

15 years agoMissed makefile
John Mark Bell [Mon, 24 Aug 2009 08:10:34 +0000 (08:10 -0000)]
Missed makefile

svn path=/trunk/libsvgtiny/; revision=9422

15 years agoAdd libxml2 dep
John Mark Bell [Mon, 24 Aug 2009 08:10:18 +0000 (08:10 -0000)]
Add libxml2 dep

svn path=/trunk/libsvgtiny/; revision=9421

15 years agoBeginnings of port to core buildsystem
John Mark Bell [Mon, 24 Aug 2009 08:06:29 +0000 (08:06 -0000)]
Beginnings of port to core buildsystem

svn path=/trunk/libsvgtiny/; revision=9419

15 years agoPrefix build dirs with build- and svn ignore them. Simplify clean rule.
John Tytgat [Sun, 1 Feb 2009 17:57:22 +0000 (17:57 -0000)]
Prefix build dirs with build- and svn ignore them. Simplify clean rule.

svn path=/trunk/libsvgtiny/; revision=6336

16 years agoGCCSDK 4 build compatibility (not finished yet)
John Tytgat [Sun, 28 Sep 2008 20:35:57 +0000 (20:35 -0000)]
GCCSDK 4 build compatibility (not finished yet)

svn path=/trunk/libsvgtiny/; revision=5458

16 years agoAdd an overview of the library.
James Bursa [Sun, 4 May 2008 01:59:15 +0000 (01:59 -0000)]
Add an overview of the library.

svn path=/trunk/libsvgtiny/; revision=4122

16 years agoFix stroke widths.
James Bursa [Sun, 4 May 2008 00:24:50 +0000 (00:24 -0000)]
Fix stroke widths.

svn path=/trunk/libsvgtiny/; revision=4121

16 years agoAdd svgtiny_list and convert gradient plotting to use it.
James Bursa [Sun, 30 Mar 2008 01:14:46 +0000 (01:14 -0000)]
Add svgtiny_list and convert gradient plotting to use it.

svn path=/trunk/libsvgtiny/; revision=4062

16 years agoAdd scale argument to svgtiny_test and svgtiny_display.
James Bursa [Mon, 10 Mar 2008 04:45:21 +0000 (04:45 -0000)]
Add scale argument to svgtiny_test and svgtiny_display.

svn path=/trunk/libsvgtiny/; revision=3915

16 years agoWork on linearGradient attributes gradientUnits and gradientTransform. Adapt number...
James Bursa [Mon, 10 Mar 2008 04:43:44 +0000 (04:43 -0000)]
Work on linearGradient attributes gradientUnits and gradientTransform. Adapt number of segment steps depending on difference in gradient.

svn path=/trunk/libsvgtiny/; revision=3914

16 years agoMake it easier compilable in GCCSDK4's Autobuilder
John Tytgat [Sun, 9 Mar 2008 15:21:53 +0000 (15:21 -0000)]
Make it easier compilable in GCCSDK4's Autobuilder

svn path=/trunk/libsvgtiny/; revision=3906

16 years agoAdd support for x1, y1, x2, y2 attributes of linearGradient.
James Bursa [Tue, 19 Feb 2008 01:13:11 +0000 (01:13 -0000)]
Add support for x1, y1, x2, y2 attributes of linearGradient.

svn path=/trunk/libsvgtiny/; revision=3862

16 years agoLinear gradients, part 1.
James Bursa [Mon, 18 Feb 2008 20:47:03 +0000 (20:47 -0000)]
Linear gradients, part 1.

svn path=/trunk/libsvgtiny/; revision=3861

16 years agoScale stroke-width correctly.
James Bursa [Sun, 3 Feb 2008 21:50:32 +0000 (21:50 -0000)]
Scale stroke-width correctly.

svn path=/trunk/libsvgtiny/; revision=3841

16 years agoAdd install target.
James Bursa [Sun, 3 Feb 2008 19:10:05 +0000 (19:10 -0000)]
Add install target.

svn path=/trunk/libsvgtiny/; revision=3836

16 years agoUse BBGGRR instead of RRGGBB on RISC OS.
James Bursa [Sun, 3 Feb 2008 19:09:48 +0000 (19:09 -0000)]
Use BBGGRR instead of RRGGBB on RISC OS.

svn path=/trunk/libsvgtiny/; revision=3835

16 years agoAdd support for cross-compiling to RISC OS.
James Bursa [Sun, 3 Feb 2008 18:27:57 +0000 (18:27 -0000)]
Add support for cross-compiling to RISC OS.

svn path=/trunk/libsvgtiny/; revision=3831

16 years agoImplement svgtiny_free() and fix memory usage.
James Bursa [Sat, 2 Feb 2008 18:10:19 +0000 (18:10 -0000)]
Implement svgtiny_free() and fix memory usage.

svn path=/trunk/libsvgtiny/; revision=3825

16 years agoSVG code extracted from NetSurf into a standalone library.
James Bursa [Sat, 2 Feb 2008 17:47:18 +0000 (17:47 -0000)]
SVG code extracted from NetSurf into a standalone library.

svn path=/trunk/libsvgtiny/; revision=3824