[PD-cvs] externals/zexy/src msgfile.c,1.15,1.16

IOhannes m zmölnig zmoelnig at users.sourceforge.net
Tue Mar 6 17:38:57 CET 2007


Update of /cvsroot/pure-data/externals/zexy/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31597

Modified Files:
	msgfile.c 
Log Message:
made msgfile_bang reentrant


Index: msgfile.c
===================================================================
RCS file: /cvsroot/pure-data/externals/zexy/src/msgfile.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** msgfile.c	10 Oct 2006 15:04:55 -0000	1.15
--- msgfile.c	6 Mar 2007 16:38:54 -0000	1.16
***************
*** 400,405 ****
--- 400,415 ----
  static void msgfile_bang(t_msgfile *x)
  { 
+   if ((x->current) && (x->current->thislist)) {
+     t_msglist*cur=x->current;
+     x->current=cur->next;
+     outlet_list(x->x_obj.ob_outlet, gensym("list"), cur->n, cur->thislist);
+   } else {
+     outlet_bang(x->x_secondout);
+   }
+ 
+   /*
    msgfile_this(x);
    msgfile_skip(x, 1);
+   */
  }
  
***************
*** 528,532 ****
  
    t_binbuf *bbuf = binbuf_new();
-   int dollarmode = 0;
  
  
--- 538,541 ----
***************
*** 550,556 ****
    } else if (gensym("pd")==format) {
      mode = PD_MODE;
-   } else if(gensym("$$")==format) {
-     mode = PD_MODE;
-     dollarmode=1;
    } else if (*format->s_name)
      pd_error(x, "msgfile_read: unknown flag: %s", format->s_name);
--- 559,562 ----
***************
*** 611,618 ****
        *cbb++=';';pos++;
        *cbb='\n';
!     } else if (dollarmode && (bufptr[0]=='\\' && bufptr[1]=='$')) {
!       *cbb='$';
!     }
!     else {
        *cbb=*bufptr;
      }
--- 617,621 ----
        *cbb++=';';pos++;
        *cbb='\n';
!     } else {
        *cbb=*bufptr;
      }
***************
*** 651,656 ****
    int mode = x->mode;
  
-   int dollarmode = 0;
- 
    FILE *f=0;
  
--- 654,657 ----
***************
*** 674,680 ****
      } else if(gensym("pd")==format) {
        mode = PD_MODE;
-     } else if(gensym("$$")==format) {
-       mode = PD_MODE;
-       dollarmode=1;
      } else if(format&&format->s_name) {
        pd_error(x, "msgfile_write: ignoring unknown flag: %s", format->s_name);
--- 675,678 ----
***************
*** 706,711 ****
      else if ((*dumtext==';') && (dumtext[1]=='\n'))
        *dumtext = eol;
-     else if(dollarmode && (*dumtext=='$') && (dumtext[1]=='$')) /* only works with pd<0.40 */
-       *dumtext='\\';
      dumtext++;
    }
--- 704,707 ----





More information about the Pd-cvs mailing list