diff options
Diffstat (limited to 'packages/patches')
-rw-r--r-- | packages/patches/made_print_post_all_arguments-0.40.3.patch | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/packages/patches/made_print_post_all_arguments-0.40.3.patch b/packages/patches/made_print_post_all_arguments-0.40.3.patch index 3317c365..5abec468 100644 --- a/packages/patches/made_print_post_all_arguments-0.40.3.patch +++ b/packages/patches/made_print_post_all_arguments-0.40.3.patch @@ -1,22 +1,23 @@ ---- x_interface.c 2006/08/11 20:09:07 1.3 -+++ x_interface.c 2007/11/26 05:53:29 1.3.6.2 -@@ -15,11 +15,23 @@ - t_symbol *x_sym; - } t_print; +--- x_interface.c 2007/11/25 03:31:05 1.3.6.1 ++++ x_interface.c 2007/12/04 21:54:46 1.3.6.3 +@@ -17,12 +17,22 @@ --static void *print_new(t_symbol *s) -+static void *print_new(t_symbol *s, int argc, t_atom *argv) + static void *print_new(t_symbol *s, int argc, t_atom *argv) { + int bufsize; + char *buf; t_print *x = (t_print *)pd_new(print_class); +- x->x_sym = atom_getsymbolarg(0,argc,argv); +- if (x->x_sym == &s_) +- x->x_sym = atom_getfloatarg(0,argc,argv); - if (*s->s_name) x->x_sym = s; - else x->x_sym = gensym("print"); -+ if (*s->s_name) ++ if (argc) + { + t_binbuf *bb = binbuf_new(); + binbuf_add(bb, argc, argv); + binbuf_gettext(bb, &buf, &bufsize); ++ buf[bufsize] = 0; + x->x_sym = gensym(buf); + binbuf_free(bb); + } @@ -27,12 +28,3 @@ return (x); } -@@ -60,7 +72,7 @@ - static void print_setup(void) - { - print_class = class_new(gensym("print"), (t_newmethod)print_new, 0, -- sizeof(t_print), 0, A_DEFSYM, 0); -+ sizeof(t_print), 0, A_GIMME, 0); - class_addbang(print_class, print_bang); - class_addfloat(print_class, print_float); - class_addpointer(print_class, print_pointer); |