[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Can't load layouts created with current pcb,



On Sun, Mar 19, 2006 at 09:56:47PM +0100, Philipp Klaus Krause wrote:
> DJ Delorie schrieb:
> > Ok, you have a different problem.  In your case, you have the LOCALE
> > set up to save floating point numbers in a non-LANG_C format, which we
> > can't parse.  This line:
> > 
> > Thermal[0,500000]
> > 
> > Should look like this:
> > 
> > Thermal[0.500000]
> >          ^
> > 
> > Sorry about the confusion.  I'm not sure what to do about this
> > problem.
> > 
> 
> OK, the problem are the fprintf calls in src/file.c
> Just setting the locale to C will proobably not work well with future
> localization of pcb messages. Setting the locale to C, writing the file
> and setting it back to the original one is not thread-safe (I don't know
> if pcb uses threads though).
> One solution would be to use the locale-independent g_ascii_strtod()
> from glib.

Then it will stop working on systems that don't have glibc with
g_ascii_strtod.

I suggest to take the g_ascii_strtod from glibc, rip it out and embed
into the PCB source. Then you are free of all problems, forever, and for
all platforms. 

CL<
> 
> Philipp