2019-01-23 23:01 UTC

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002599LibSVGTiny[All Projects] Generalpublic2018-05-11 06:36
ReporterFelix S. 
Assigned To 
Summary0002599: libsvgtiny uses sscanf() to parse decimal fractions in path data, which is locale-dependent
Descriptionlibsvgtiny uses the C standard library function sscanf() to parse decimal fractions into floating-point values. Unfortunately, the exact format accepted by this function is locale-dependent. This makes parsing fail in locales where the decimal point character is different from '.'.

Given that sscanf() does not offer a portable way to enforce locale-independent parsing, libsvgtiny should probably implement its own fraction-parsing function from scratch.
Steps To Reproduce0. Ensure that the de_DE.UTF-8 locale (or any other locale with decimal point ',') is available on your system.
1. In libsvgtiny's test/data/ directory, launch `LC_NUMERIC=de_DE.UTF-8 netsurf-fb file://`pwd`/tiger.svg` from the shell (replacing de_DE.UTF-8 with the respective locale if necessary).
2. Observe numerous 'parse failed at ...' messages in the console.
3. In the same directory, launch `LC_NUMERIC=C netsurf-fb file://`pwd`/tiger.svg`.
4. Observe no failure messages.
TagsNo tags attached.
Fixed in CI build #
Reported in CI build #
Attached Files


There are no notes attached to this issue.

-Issue History
Date Modified Username Field Change
2018-05-11 06:36 Felix S. New Issue
+Issue History