[PD-cvs] SF.net SVN: pure-data: [9729] trunk/packages/patches/ allow_spaces_in_new_directory-0.41.4.patch

eighthave at users.sourceforge.net eighthave at users.sourceforge.net
Mon Apr 28 06:14:00 CEST 2008


Revision: 9729
          http://pure-data.svn.sourceforge.net/pure-data/?rev=9729&view=rev
Author:   eighthave
Date:     2008-04-27 21:14:00 -0700 (Sun, 27 Apr 2008)

Log Message:
-----------
wrote a function to switch the [pd filename] callback message to use a
A_GIMME instead of two symbols, thereby correctly receiving any directory
names with spaces in it.

Added Paths:
-----------
    trunk/packages/patches/allow_spaces_in_new_directory-0.41.4.patch

Added: trunk/packages/patches/allow_spaces_in_new_directory-0.41.4.patch
===================================================================
--- trunk/packages/patches/allow_spaces_in_new_directory-0.41.4.patch	                        (rev 0)
+++ trunk/packages/patches/allow_spaces_in_new_directory-0.41.4.patch	2008-04-28 04:14:00 UTC (rev 9729)
@@ -0,0 +1,47 @@
+Index: m_glob.c
+===================================================================
+--- m_glob.c	(revision 9721)
++++ m_glob.c	(working copy)
+@@ -11,7 +11,7 @@
+ /* These "glob" routines, which implement messages to Pd, are from all
+ over.  Some others are prototyped in m_imp.h as well. */
+ 
+-void glob_setfilename(void *dummy, t_symbol *name, t_symbol *dir);
++void glob_setfilename_gimme(void *dummy, t_symbol *s, int argc, t_atom *argv);
+ void glob_verifyquit(void *dummy, t_floatarg f);
+ void glob_dsp(void *dummy, t_symbol *s, int argc, t_atom *argv);
+ void glob_meters(void *dummy, t_floatarg f);
+@@ -74,8 +74,8 @@
+         CLASS_DEFAULT, A_NULL);
+     class_addmethod(glob_pdobject, (t_method)glob_initfromgui, gensym("init"),
+         A_GIMME, 0);
+-    class_addmethod(glob_pdobject, (t_method)glob_setfilename, gensym("filename"),
+-        A_SYMBOL, A_SYMBOL, 0);
++    class_addmethod(glob_pdobject, (t_method)glob_setfilename_gimme, 
++        gensym("filename"), A_GIMME, 0);
+     class_addmethod(glob_pdobject, (t_method)glob_evalfile, gensym("open"),
+         A_SYMBOL, A_SYMBOL, 0);
+     class_addmethod(glob_pdobject, (t_method)glob_quit, gensym("quit"), 0);
+Index: g_canvas.c
+===================================================================
+--- g_canvas.c	(revision 9726)
++++ g_canvas.c	(working copy)
+@@ -138,6 +138,18 @@
+     canvas_newdirectory = dirsym;
+ }
+ 
++void glob_setfilename_gimme(void *dummy, t_symbol *s, int argc, t_atom *argv)
++{
++    int bufsize;
++    char *buf;
++    t_binbuf *b = binbuf_new();
++    canvas_newfilename = atom_getsymbolarg(0, argc, argv);
++    binbuf_add(b, argc - 1, argv + 1);
++    binbuf_gettext(b, &buf, &bufsize);
++    buf[bufsize] = 0;
++    canvas_newdirectory = gensym(buf);
++}
++
+ t_canvas *canvas_getcurrent(void)
+ {
+     return ((t_canvas *)pd_findbyclass(&s__X, canvas_class));


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Pd-cvs mailing list