changeset 112318:deae5bb3f0f6

Give a name FLOAT_TO_STRING_BUFSIZE to the constant 350. * lisp.h (FLOAT_TO_STRING_BUFSIZE): New macro. * data.c (Fnumber_to_string): Use it. * print.c (float_to_string, print_object): Likewise.
author Paul Eggert <eggert@cs.ucla.edu>
date Sun, 09 Jan 2011 00:21:21 -0800
parents 7df2e30d72ec
children 9f1234368955
files src/ChangeLog src/data.c src/lisp.h src/print.c
diffstat 4 files changed, 11 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Sun Jan 09 00:12:35 2011 -0800
+++ b/src/ChangeLog	Sun Jan 09 00:21:21 2011 -0800
@@ -1,5 +1,10 @@
 2011-01-09  Paul Eggert  <eggert@cs.ucla.edu>
 
+	Give a name FLOAT_TO_STRING_BUFSIZE to the constant 350.
+	* lisp.h (FLOAT_TO_STRING_BUFSIZE): New macro.
+	* data.c (Fnumber_to_string): Use it.
+	* print.c (float_to_string, print_object): Likewise.
+
 	Include <unistd.h> unilaterally.
 	* alloc.c, atimer.c, buffer.c, callproc.c, dired.c, dispnew.c, doc.c:
 	* doprnt.c, editfns.c, emacs.c, fileio.c, filelock.c, fns.c:
--- a/src/data.c	Sun Jan 09 00:12:35 2011 -0800
+++ b/src/data.c	Sun Jan 09 00:21:21 2011 -0800
@@ -2375,7 +2375,7 @@
 
   if (FLOATP (number))
     {
-      char pigbuf[350];	/* see comments in float_to_string */
+      char pigbuf[FLOAT_TO_STRING_BUFSIZE];
 
       float_to_string (pigbuf, XFLOAT_DATA (number));
       return build_string (pigbuf);
--- a/src/lisp.h	Sun Jan 09 00:12:35 2011 -0800
+++ b/src/lisp.h	Sun Jan 09 00:21:21 2011 -0800
@@ -2781,6 +2781,7 @@
 				 Lisp_Object);
 extern Lisp_Object internal_with_output_to_temp_buffer
         (const char *, Lisp_Object (*) (Lisp_Object), Lisp_Object);
+#define FLOAT_TO_STRING_BUFSIZE 350
 extern void float_to_string (unsigned char *, double);
 extern void syms_of_print (void);
 
--- a/src/print.c	Sun Jan 09 00:12:35 2011 -0800
+++ b/src/print.c	Sun Jan 09 00:21:21 2011 -0800
@@ -1054,6 +1054,7 @@
  * case of -1e307 in 20d float_output_format. What is one to do (short of
  * re-writing _doprnt to be more sane)?
  * 			-wsr
+ * Given the above, the buffer must be least FLOAT_TO_STRING_BUFSIZE bytes.
  */
 
 void
@@ -1100,9 +1101,8 @@
   lose:
     {
       /* Generate the fewest number of digits that represent the
-	 floating point value without losing information.
-         The 350 is by convention, e.g., this file's pigbuf.  */
-      dtoastr (buf, 350, 0, 0, data);
+	 floating point value without losing information.  */
+      dtoastr (buf, FLOAT_TO_STRING_BUFSIZE, 0, 0, data);
     }
   else			/* oink oink */
     {
@@ -1493,7 +1493,7 @@
 
     case Lisp_Float:
       {
-	char pigbuf[350];	/* see comments in float_to_string */
+	char pigbuf[FLOAT_TO_STRING_BUFSIZE];
 
 	float_to_string (pigbuf, XFLOAT_DATA (obj));
 	strout (pigbuf, -1, -1, printcharfun, 0);