diff options
author | marha <marha@users.sourceforge.net> | 2012-03-05 10:23:14 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-03-05 10:23:14 +0100 |
commit | 8db4c7567d495ef6f6162406394ac192e6c2cfe7 (patch) | |
tree | 9d8233b2f54ad198da3354aa9dbd8d0082156a9c /libXfont/src/util/fontxlfd.c | |
parent | c14f2432d6bfb3de6c6289efd0471f038a289327 (diff) | |
parent | 50ace52bb8308fd62b8bad9ae912dc18c4ae32ff (diff) | |
download | vcxsrv-8db4c7567d495ef6f6162406394ac192e6c2cfe7.tar.gz vcxsrv-8db4c7567d495ef6f6162406394ac192e6c2cfe7.tar.bz2 vcxsrv-8db4c7567d495ef6f6162406394ac192e6c2cfe7.zip |
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'libXfont/src/util/fontxlfd.c')
-rw-r--r-- | libXfont/src/util/fontxlfd.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/libXfont/src/util/fontxlfd.c b/libXfont/src/util/fontxlfd.c index 2bd56c07d..ace87809b 100644 --- a/libXfont/src/util/fontxlfd.c +++ b/libXfont/src/util/fontxlfd.c @@ -71,7 +71,7 @@ GetInt(char *ptr, int *val) #ifndef NO_LOCALE static struct lconv *locale = 0; #endif -static char *radix = ".", *plus = "+", *minus = "-"; +static const char *radix = ".", *plus = "+", *minus = "-"; static char * readreal(char *ptr, double *result) @@ -117,7 +117,6 @@ readreal(char *ptr, double *result) static char * xlfd_double_to_text(double value, char *buffer, int space_required) { - char formatbuf[40]; register char *p1; int ndigits, exponent; @@ -133,14 +132,12 @@ xlfd_double_to_text(double value, char *buffer, int space_required) minus = locale->negative_sign; } #endif - /* Compute a format to use to render the number */ - sprintf(formatbuf, "%%.%dle", XLFD_NDIGITS); if (space_required) *buffer++ = ' '; /* Render the number using printf's idea of formatting */ - sprintf(buffer, formatbuf, value); + sprintf(buffer, "%.*le", XLFD_NDIGITS, value); /* Find and read the exponent value */ for (p1 = buffer + strlen(buffer); @@ -157,16 +154,14 @@ xlfd_double_to_text(double value, char *buffer, int space_required) if (exponent >= XLFD_NDIGITS || ndigits - exponent > XLFD_NDIGITS + 1) { /* Scientific */ - sprintf(formatbuf, "%%.%dle", ndigits - 1); - sprintf(buffer, formatbuf, value); + sprintf(buffer, "%.*le", ndigits - 1, value); } else { /* Fixed */ ndigits -= exponent + 1; if (ndigits < 0) ndigits = 0; - sprintf(formatbuf, "%%.%dlf", ndigits); - sprintf(buffer, formatbuf, value); + sprintf(buffer, "%.*lf", ndigits, value); if (exponent < 0) { p1 = buffer; @@ -265,10 +260,9 @@ xlfd_round_double(double x) * If not IEEE 754: Let printf() do it for you. */ - char formatbuf[40], buffer[40]; + char buffer[40]; - sprintf(formatbuf, "%%.%dlg", XLFD_NDIGITS); - sprintf(buffer, formatbuf, x); + sprintf(buffer, "%.*lg", XLFD_NDIGITS, x); return atof(buffer); } } |