Red Hat Bugzilla – Bug 24875
Bad usage of %f in output routines
Last modified: 2008-05-01 11:37:59 EDT
dia uses %f in its output routines without taking care of its
locale-dependency. E.g. if you call it with different locales some numbers
can not be interpreted:
[... saving prefences ...]
$ LC_ALL=C dia
/home/ensc/.dia/diarc:7: error: unexpected number `100', expected number
(float)/home/ensc/.dia/diarc:7: error: unexpected character `,', expected
/home/ensc/.dia/diarc:7: error: unexpected number `0', expected keyword
/home/ensc/.dia/diarc:11: error: unexpected number `1', expected number
/home/ensc/.dia/diarc:11: error: unexpected character `,', expected keyword
That's caused because in German the comma is used instead of the period in
floating-point numbers. So a number like `100,1' is valid in German but not
I know that this report should go to the authors of dia, but because there
is a more actual version (0.86 ) out and I don't know if it happens there
also, I am entering it here. Nevertheless RH7.1 final should not contain
Changelog indicates that the problem is solved since 0.85.
fixed with addition of 0.86.
Havoc, where were you?
I got the bug while the tree was locked, and had it marked to put in on tree
unlock, but hadn't gotten around to it yet.
An locale-related error which is *not* solved in the official 0.86 can be
triggered with the following actions:
$ LC_ALL=C dia
[ create a line; save as test ]
$ LC_ALL=de_DE dia test
[ three messageboxes saying: "Error parsing point" ]
That's caused by "<point val="4,3"/>" which will be interpreted in German as
"4.3" instead of the pair [4 ; 3].
The maillists says that there are other locale-bugs solved in the CVS only.
Created attachment 8459 [details]
diagram mentioned in the previous comment
Fixed in 0.88.1.