[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