diff --git a/pd/src/x_interface.c b/pd/src/x_interface.c index 84fc47876b2f9b20dfdb5b796c917aa89f5684d3..0ac6c55c2d480ed42006c31d080a93e2df3dc891 100644 --- a/pd/src/x_interface.c +++ b/pd/src/x_interface.c @@ -12,11 +12,19 @@ #include <stdlib.h> #include <stdio.h> +#if PD_FLOATSIZE == 32 +#define FLOAT_SPECIFIER "%s%s%.6g" +#elif PD_FLOATSIZE == 64 +#define FLOAT_SPECIFIER "%s%s%.14lg" +#endif + /* we need the following for [pdinfo] ... */ #define MAXNDEV 20 #define DEVDESCSIZE 80 + + /* -------------------------- print ------------------------------ */ t_class *print_class; @@ -86,7 +94,7 @@ static void print_pointer(t_print *x, t_gpointer *gp) static void print_float(t_print *x, t_floatarg f) { if (sys_nogui) - post("%s%s%g", x->x_sym->s_name, (*x->x_sym->s_name ? ": " : ""), f); + post(FLOAT_SPECIFIER, x->x_sym->s_name, (*x->x_sym->s_name ? ": " : ""), f); else { gui_start_vmess("gui_print", "xs", x, x->x_sym->s_name);