gcvt.c.patch   [plain text]


--- gcvt.c.orig	2009-11-06 00:45:45.000000000 -0800
+++ gcvt.c	2009-11-06 00:52:51.000000000 -0800
@@ -68,7 +68,7 @@ gcvt(double value, int ndigit, char *buf
 			sign = 0;
 		src = digits;
 		*dst++ = *src++;
-		*dst++ = *lconv->decimal_point;
+		dst = stpcpy(dst, lconv->decimal_point);
 		while (*src != '\0')
 			*dst++ = *src++;
 		*dst++ = 'e';
@@ -101,7 +101,7 @@ gcvt(double value, int ndigit, char *buf
 		if (*src != '\0') {
 			if (src == digits)
 				*dst++ = '0';	/* zero before decimal point */
-			*dst++ = *lconv->decimal_point;
+			dst = stpcpy(dst, lconv->decimal_point);
 			for (i = decpt; digits[i] != '\0'; i++) {
 				*dst++ = digits[i];
 			}