[PD-cvs] externals/zexy/src msgfile.c,1.18,1.19

IOhannes m zmölnig zmoelnig at users.sourceforge.net
Thu Sep 6 10:31:10 CEST 2007


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

Modified Files:
	msgfile.c 
Log Message:
fixed crasher bug when replacing an sublist in an empty msgbox


Index: msgfile.c
===================================================================
RCS file: /cvsroot/pure-data/externals/zexy/src/msgfile.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** msgfile.c	14 Mar 2007 09:08:56 -0000	1.18
--- msgfile.c	6 Sep 2007 08:31:08 -0000	1.19
***************
*** 64,68 ****
    int mode;
  
- 
    t_msglist *current;         /* pointer to our list */
  
--- 64,67 ----
***************
*** 119,130 ****
      t_msglist *nxt=dummy->next;
      t_msglist *prv=dummy->previous;
!     freebytes(dummy->thislist, sizeof(dummy->thislist));
!     dummy->thislist = 0;
!     dummy->n = 0;
!     dummy->next=0;
!     dummy->previous=0;
  
!     freebytes(dummy, sizeof(t_msglist));
!     dummy=0;
  
      if (nxt) nxt->previous = prv;
--- 118,131 ----
      t_msglist *nxt=dummy->next;
      t_msglist *prv=dummy->previous;
!     if(dummy){
!       freebytes(dummy->thislist, sizeof(dummy->thislist));
!       dummy->thislist = 0;
!       dummy->n = 0;
!       dummy->next=0;
!       dummy->previous=0;
  
!       freebytes(dummy, sizeof(t_msglist));
!       dummy=0;
!     }
  
      if (nxt) nxt->previous = prv;
***************
*** 356,362 ****
  static void msgfile_replace(t_msgfile *x, t_symbol *s, int ac, t_atom *av)
  {
!   freebytes(x->current->thislist, sizeof(x->current->thislist));
!   x->current->thislist = 0;
!   x->current->n = 0;
    write_currentnode(x, ac, av);
  }
--- 357,369 ----
  static void msgfile_replace(t_msgfile *x, t_symbol *s, int ac, t_atom *av)
  {
!   if(x->current) {
!     if(x->current->thislist) {
!       freebytes(x->current->thislist, sizeof(x->current->thislist));
!     }
!     x->current->thislist = 0;
!     x->current->n = 0;
!   } else {
!     add_currentnode(x);
!   }
    write_currentnode(x, ac, av);
  }





More information about the Pd-cvs mailing list