diff --git a/src/g_bang.c b/src/g_bang.c index 018ae116dd23043c3fcaeed507e3d62e83aca9dc..6beba307011643c2d8dddb485663edef47e48f78 100644 --- a/src/g_bang.c +++ b/src/g_bang.c @@ -587,8 +587,8 @@ static void bng_properties(t_gobj *z, t_glist *owner) ----------dimensions(pix):----------- %d %d size: 0 0 empty \ --------flash-time(ms)(ms):--------- %d intrrpt: %d hold: %d \ %d empty empty %d %d empty %d \ - %s %s \ - %s %d %d \ + {%s} {%s} \ + {%s} %d %d \ %d %d \ %d %d %d\n", x->x_gui.x_w, IEM_GUI_MINSIZE, diff --git a/src/g_hdial.c b/src/g_hdial.c index 6b9870708e331af47a06b9991a744fc4395db9eb..1d32a203e641ebc61096d262c1fcd341ef6c8e51 100644 --- a/src/g_hdial.c +++ b/src/g_hdial.c @@ -600,8 +600,8 @@ static void hradio_properties(t_gobj *z, t_glist *owner) ----------dimensions(pix):----------- %d %d size: 0 0 empty \ empty 0.0 empty 0.0 empty %d \ %d new-only new&old %d %d number: %d \ - %s %s \ - %s %d %d \ + {%s} {%s} \ + {%s} %d %d \ %d %d \ %d %d %d\n", x->x_gui.x_w, IEM_GUI_MINSIZE, diff --git a/src/g_hslider.c b/src/g_hslider.c index 282265ff2909eaddeb1c055dbc4d075839ca33bc..2153439a4f3bc35eeec263a97b4526f0f73fdd88 100644 --- a/src/g_hslider.c +++ b/src/g_hslider.c @@ -630,8 +630,8 @@ static void hslider_properties(t_gobj *z, t_glist *owner) --------dimensions(pix)(pix):-------- %d %d width: %d %d height: \ -----------output-range:----------- %g left: %g right: %g \ %d lin log %d %d empty %d \ - %s %s \ - %s %d %d \ + {%s} {%s} \ + {%s} %d %d \ %d %d \ %d %d %d\n", x->x_gui.x_w, IEM_SL_MINSIZE, x->x_gui.x_h, IEM_GUI_MINSIZE, diff --git a/src/g_mycanvas.c b/src/g_mycanvas.c index 5f3b8f53c233554fd4667211e819c433f31a2cc7..4f6a76c47fd426fb53141024ca1686b5505aa989 100644 --- a/src/g_mycanvas.c +++ b/src/g_mycanvas.c @@ -460,8 +460,8 @@ static void my_canvas_properties(t_gobj *z, t_glist *owner) ------selectable_dimensions(pix):------ %d %d size: 0.0 0.0 empty \ ------visible_rectangle(pix)(pix):------ %d width: %d height: %d \ %d empty empty %d %d empty %d \ - %s %s \ - %s %d %d \ + {%s} {%s} \ + {%s} %d %d \ %d %d \ %d %d %d\n", x->x_gui.x_w, 1, diff --git a/src/g_numbox.c b/src/g_numbox.c index 45159d6711e404386ed1b1aca42d96a8ece87fa9..27c115170543a953d1b0f171c59e4abbdaac4094 100644 --- a/src/g_numbox.c +++ b/src/g_numbox.c @@ -845,8 +845,8 @@ static void my_numbox_properties(t_gobj *z, t_glist *owner) -------dimensions(digits)(pix):------- %d %d width: %d %d height: \ -----------output-range:----------- %g min: %g max: %d \ %d lin log %d %d log-height: %d \ - %s %s \ - %s %d %d \ + {%s} {%s} \ + {%s} %d %d \ %d %d \ %d %d %d\n", x->x_gui.x_w, 1, x->x_gui.x_h, 8, diff --git a/src/g_toggle.c b/src/g_toggle.c index 3db86241a082a80a8ee7f7d11417b00f6a3cd30f..2641d9cae5a17287b36dfe0b331f96d335a0d86e 100644 --- a/src/g_toggle.c +++ b/src/g_toggle.c @@ -587,8 +587,8 @@ static void toggle_properties(t_gobj *z, t_glist *owner) ----------dimensions(pix):----------- %d %d size: 0 0 empty \ -----------non-zero-value:----------- %g value: 0.0 empty %g \ -1 lin log %d %d empty %d \ - %s %s \ - %s %d %d \ + {%s} {%s} \ + {%s} %d %d \ %d %d \ %d %d %d\n", x->x_gui.x_w, IEM_GUI_MINSIZE, diff --git a/src/g_vdial.c b/src/g_vdial.c index f460c8e139a4618d8d839a71113e032d498e88ff..c996c87c8cf9b61402858aa494770b71b25e7ab2 100644 --- a/src/g_vdial.c +++ b/src/g_vdial.c @@ -602,8 +602,8 @@ static void vradio_properties(t_gobj *z, t_glist *owner) ----------dimensions(pix):----------- %d %d size: 0 0 empty \ empty 0.0 empty 0.0 empty %d \ %d new-only new&old %d %d number: %d \ - %s %s \ - %s %d %d \ + {%s} {%s} \ + {%s} %d %d \ %d %d \ %d %d %d\n", x->x_gui.x_w, IEM_GUI_MINSIZE, diff --git a/src/g_vslider.c b/src/g_vslider.c index f41258e31fb8b810e45a7463425d2a3bbd9b0195..0c499b6e6c0fbe9eeee23dcf5cb7f80d10e9de7b 100644 --- a/src/g_vslider.c +++ b/src/g_vslider.c @@ -641,8 +641,8 @@ static void vslider_properties(t_gobj *z, t_glist *owner) --------dimensions(pix)(pix):-------- %d %d width: %d %d height: \ -----------output-range:----------- %g bottom: %g top: %d \ %d lin log %d %d empty %d \ - %s %s \ - %s %d %d \ + {%s} {%s} \ + {%s} %d %d \ %d %d \ %d %d %d\n", x->x_gui.x_w, IEM_GUI_MINSIZE, x->x_gui.x_h, IEM_SL_MINSIZE, diff --git a/src/g_vumeter.c b/src/g_vumeter.c index 52ecb10bba218081f49d42a63c3c1473b08c02f5..945580c90e45a65ee19cf55f7faf36ef84a314ad 100644 --- a/src/g_vumeter.c +++ b/src/g_vumeter.c @@ -861,8 +861,8 @@ static void vu_properties(t_gobj *z, t_glist *owner) --------dimensions(pix)(pix):-------- %d %d width: %d %d height: \ empty 0.0 empty 0.0 empty %d \ %d no_scale scale %d %d empty %d \ - %s %s \ - %s %d %d \ + {%s} {%s} \ + {%s} %d %d \ %d %d \ %d %d %d\n", x->x_gui.x_w, IEM_GUI_MINSIZE, x->x_gui.x_h, IEM_VU_STEPS*IEM_VU_MINSIZE, diff --git a/src/m_binbuf.c b/src/m_binbuf.c index e1926b67e6a751f40d9f7f01924a917142a60660..313164b75954f003ec0141e5322733ce84e39c50 100644 --- a/src/m_binbuf.c +++ b/src/m_binbuf.c @@ -21,6 +21,29 @@ #include <string.h> #include <stdarg.h> +/* escape characters for saving */ +static char* strnescape(char *dest, const char *src, size_t outlen) +{ + int ptin = 0; + unsigned ptout = 0; + for(; ptout < outlen; ptin++, ptout++) + { + int c = src[ptin]; + if (c == ' ' || c=='\t') + dest[ptout++] = '\\'; + dest[ptout] = src[ptin]; + if (c==0) break; + } + + if(ptout < outlen) + dest[ptout]=0; + else + dest[outlen-1]=0; + + return dest; +} + + struct _binbuf { int b_n; @@ -1000,7 +1023,9 @@ int binbuf_write(t_binbuf *x, char *filename, char *dir, int crflag) bp > sbuf && bp[-1] == ' ') bp--; if (!crflag || ap->a_type != A_SEMI) { - atom_string(ap, bp, (ep-bp)-2); + char bp2[WBUFSIZE]; + atom_string(ap, bp2, WBUFSIZE); + strnescape(bp, bp2, (ep-bp)-2); length = strlen(bp); bp += length; ncolumn += length;