On 08/06/2012 04:35 PM, Daniel P. Berrange wrote: > On Mon, Aug 06, 2012 at 03:59:42PM +0200, Martin Kletzander wrote: >> On 08/06/2012 02:52 PM, Eric Blake wrote: >>> On 08/06/2012 06:24 AM, Daniel P. Berrange wrote: >>>> GLib has a g_ascii_dtostr() which forces uses of '.' as separator. Since >>>> GLib is LGPLv2+ licensed, we can just copy their impl, which actually >>>> uses GLibc's uselocale() if possible, otherwise has a fallback impl. >>> >>> gnulib also has a module 'ftoastr' for printing an unambiguous >>> representation of floating point (one problem with the default precision >>> of %lf and friends is that it rounds, so more than one floating point >>> value will result in the same ambiguous output string), but alas that >>> module is GPL at the moment, and I'm not sure whether it has a way to >>> force the decimal point issue. >>> >> >> I was going through the code of both of these and thanks ftoastr is >> under GPL, because I didn't quite understand it. Looking at the >> g_ascii_dtostr I've found that what is being done there and it amused me >> a bit. After couple of checks, conditions and whatnot, it get's the >> current decimal_point string from the localeconv() and replaces it with >> a '.', long story short, the only difference is that instead of >> strcpy(), there is memmove() used. >> >> Not that I don't want to change the code, this is only some info I've >> found and I don't know whether to change the code and if, then to what >> to change it. > > FYI looking at the GIT history, the glib fallback code is from 2001 and > the new uselocale() based code from 2011, and has greater speed than > the old code. > > So I still think we should just copy what glib has into a src/util/util.c > I missed that non-fallback code because I cloned a wrong repo, sorry. I'll send next version (that will probably be still more like a RFC) later. Martin -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list