[PD-cvs] pd/src kernel.c,1.1.2.34,1.1.2.35

Mathieu Bouchard matju at users.sourceforge.net
Tue Jan 9 22:19:55 CET 2007


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31958

Modified Files:
      Tag: desiredata
	kernel.c 
Log Message:
t_binbuf becomes < t_pd


Index: kernel.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/kernel.c,v
retrieving revision 1.1.2.34
retrieving revision 1.1.2.35
diff -C2 -d -r1.1.2.34 -r1.1.2.35
*** kernel.c	9 Jan 2007 19:39:15 -0000	1.1.2.34
--- kernel.c	9 Jan 2007 21:19:53 -0000	1.1.2.35
***************
*** 688,693 ****
  };
  
! t_inlet  *t_object:: in(int n) {t_inlet  *i; while(n--) i=i->next; return i;}
! t_outlet *t_object::out(int n) {t_outlet *o; while(n--) o=o->o_next; return o;}
  
  t_class *wire_class;
--- 688,693 ----
  };
  
! t_inlet  *t_object:: in(int n) {t_inlet  *i= inlet; while(n--) i=i->next; return i;}
! t_outlet *t_object::out(int n) {t_outlet *o=outlet; while(n--) o=o->o_next; return o;}
  
  t_class *wire_class;
***************
*** 1626,1640 ****
  }
  
! struct _binbuf {
      int n;
      int capa; /* capacity: how much n may grow without reallocating */
!     t_atom *vec;
  };
  
  t_binbuf *binbuf_new(void) {
!     t_binbuf *x = (t_binbuf *)malloc(sizeof(*x));
      x->n = 0;
      x->capa = 1;
!     x->vec = (t_atom *)malloc(1*sizeof(t_atom));
      return x;
  }
--- 1626,1641 ----
  }
  
! static t_class *binbuf_class;
! struct _binbuf : t_pd {
      int n;
      int capa; /* capacity: how much n may grow without reallocating */
!     t_atom *v;
  };
  
  t_binbuf *binbuf_new(void) {
!     t_binbuf *x = (t_binbuf *)pd_new(binbuf_class);
      x->n = 0;
      x->capa = 1;
!     x->v = (t_atom *)malloc(1*sizeof(t_atom));
      return x;
  }
***************
*** 1642,1656 ****
  /* caution: capa >= x->n and capa >= 1 too */
  static void binbuf_capa(t_binbuf *x, int capa) {
!     x->vec = (t_atom *)realloc(x->vec, capa*sizeof(*x->vec));
      x->capa = capa;
  }
  
! void binbuf_free(t_binbuf *x) {free(x->vec); free(x);}
  
  t_binbuf *binbuf_duplicate(t_binbuf *y) {
      t_binbuf *x = (t_binbuf *)malloc(sizeof(*x));
      x->capa = x->n = y->n;
!     x->vec = (t_atom *)malloc(x->n * sizeof(*x->vec));
!     memcpy(x->vec, y->vec, x->n * sizeof(*x->vec));
      return x;
  }
--- 1643,1657 ----
  /* caution: capa >= x->n and capa >= 1 too */
  static void binbuf_capa(t_binbuf *x, int capa) {
!     x->v = (t_atom *)realloc(x->v, capa*sizeof(*x->v));
      x->capa = capa;
  }
  
! void binbuf_free(t_binbuf *x) {free(x->v); free(x);}
  
  t_binbuf *binbuf_duplicate(t_binbuf *y) {
      t_binbuf *x = (t_binbuf *)malloc(sizeof(*x));
      x->capa = x->n = y->n;
!     x->v = (t_atom *)malloc(x->n * sizeof(*x->v));
!     memcpy(x->v,y->v,x->n*sizeof(*x->v));
      return x;
  }
***************
*** 1658,1662 ****
  void binbuf_clear(t_binbuf *x) {
      x->n = 0;
!     x->vec = (t_atom *)realloc(x->vec, 4);
      x->capa = 4;
  }
--- 1659,1663 ----
  void binbuf_clear(t_binbuf *x) {
      x->n = 0;
!     x->v = (t_atom *)realloc(x->v,4);
      x->capa = 4;
  }
***************
*** 1777,1781 ****
  	while (t!=end) {
  		t = sys_syntax ? binbuf_text_matju(x,t,end) : binbuf_text_miller(x,t,end);
! 		if (x->n && x->vec[x->n-1].a_type == A_SEMI) {
  			binbuf_eval(x,0,0,0);
  			binbuf_clear(x);
--- 1778,1782 ----
  	while (t!=end) {
  		t = sys_syntax ? binbuf_text_matju(x,t,end) : binbuf_text_miller(x,t,end);
! 		if (x->n && x->v[x->n-1].a_type == A_SEMI) {
  			binbuf_eval(x,0,0,0);
  			binbuf_clear(x);
***************
*** 1790,1794 ****
      int length = 0;
      char string[MAXPDSTRING];
!     t_atom *ap = x->vec;
      int indx;
      for (indx = x->n; indx--; ap++) {
--- 1791,1795 ----
      int length = 0;
      char string[MAXPDSTRING];
!     t_atom *ap = x->v;
      int indx;
      for (indx = x->n; indx--; ap++) {
***************
*** 1817,1822 ****
  void binbuf_add(t_binbuf *x, int argc, t_atom *argv) {
      int newsize = x->n + argc;
!     t_atom *ap = (t_atom *)realloc(x->vec, newsize * sizeof(*x->vec));
!     x->vec = ap;
      ap += x->n;
      for (int i = argc; i--; ap++) *ap = *(argv++);
--- 1818,1823 ----
  void binbuf_add(t_binbuf *x, int argc, t_atom *argv) {
      int newsize = x->n + argc;
!     t_atom *ap = (t_atom *)realloc(x->v,newsize*sizeof(*x->v));
!     x->v = ap;
      ap += x->n;
      for (int i = argc; i--; ap++) *ap = *(argv++);
***************
*** 1860,1865 ****
  void binbuf_addbinbuf(t_binbuf *x, t_binbuf *y) {
      t_binbuf *z = binbuf_new();
!     binbuf_add(z, y->n, y->vec);
!     t_atom *ap = z->vec;
      for (int i=0; i < z->n; i++, ap++) {
          char tbuf[MAXPDSTRING];
--- 1861,1866 ----
  void binbuf_addbinbuf(t_binbuf *x, t_binbuf *y) {
      t_binbuf *z = binbuf_new();
!     binbuf_add(z, y->n, y->v);
!     t_atom *ap = z->v;
      for (int i=0; i < z->n; i++, ap++) {
          char tbuf[MAXPDSTRING];
***************
*** 1881,1885 ****
          }
      }
!     binbuf_add(x, z->n, z->vec);
  }
  
--- 1882,1886 ----
          }
      }
!     binbuf_add(x, z->n, z->v);
  }
  
***************
*** 1896,1906 ****
      int newsize = x->n + argc, i;
      t_atom *ap;
!     ap = (t_atom *)realloc(x->vec, newsize * sizeof(*x->vec));
      if (!ap) {
          error("binbuf_addmessage: out of space");
          return;
      }
!     x->vec = ap;
!     for (ap = x->vec + x->n, i = argc; i--; ap++) {
          if (argv->a_type == A_SYMBOL) {
              char *str = argv->a_symbol->name, *str2;
--- 1897,1907 ----
      int newsize = x->n + argc, i;
      t_atom *ap;
!     ap = (t_atom *)realloc(x->v,newsize*sizeof(*x->v));
      if (!ap) {
          error("binbuf_addmessage: out of space");
          return;
      }
!     x->v = ap;
!     for (ap = x->v + x->n, i = argc; i--; ap++) {
          if (argv->a_type == A_SYMBOL) {
              char *str = argv->a_symbol->name, *str2;
***************
*** 1938,1943 ****
              startedpost = 1;
          }
!         postatom(1, x->vec + i);
!         newline = !! x->vec[i].a_type == A_SEMI;
      }
      if (startedpost) endpost();
--- 1939,1944 ----
              startedpost = 1;
          }
!         postatom(1, x->v + i);
!         newline = !! x->v[i].a_type == A_SEMI;
      }
      if (startedpost) endpost();
***************
*** 1945,1949 ****
  
  int binbuf_getnatom(t_binbuf *x) {return x->n;}
! t_atom *binbuf_getvec(t_binbuf *x) {return x->vec;}
  
  int canvas_getdollarzero(void);
--- 1946,1950 ----
  
  int binbuf_getnatom(t_binbuf *x) {return x->n;}
! t_atom *binbuf_getvec(t_binbuf *x) {return x->v;}
  
  int canvas_getdollarzero(void);
***************
*** 2039,2043 ****
      static t_atom mstack[MSTACKSIZE], *msp = mstack, *ems = mstack+MSTACKSIZE;
      t_atom *stackwas = msp;
!     t_atom *at = x->vec;
      int ac = x->n;
      int nargs;
--- 2040,2044 ----
      static t_atom mstack[MSTACKSIZE], *msp = mstack, *ems = mstack+MSTACKSIZE;
      t_atom *stackwas = msp;
!     t_atom *at = x->v;
      int ac = x->n;
      int nargs;
***************
*** 2245,2249 ****
          goto fail;
      }
!     for (ap = x->vec, indx = x->n; indx--; ap++) {
          int length;
              /* estimate how many characters will be needed.  Printing out
--- 2246,2250 ----
          goto fail;
      }
!     for (ap = x->v, indx = x->n; indx--; ap++) {
          int length;
              /* estimate how many characters will be needed.  Printing out
***************
*** 2300,2304 ****
  static t_binbuf *binbuf_convert(t_binbuf *oldb, int maxtopd) {
      t_binbuf *newb = binbuf_new();
!     t_atom *vec = oldb->vec;
      t_int n = oldb->n, nextindex, stackdepth = 0, stack[MAXSTACK], nobj = 0, i;
      t_atom outmess[MAXSTACK], *nextmess;
--- 2301,2305 ----
  static t_binbuf *binbuf_convert(t_binbuf *oldb, int maxtopd) {
      t_binbuf *newb = binbuf_new();
!     t_atom *vec = oldb->v;
      t_int n = oldb->n, nextindex, stackdepth = 0, stack[MAXSTACK], nobj = 0, i;
      t_atom outmess[MAXSTACK], *nextmess;
***************
*** 2503,2507 ****
      for (indexin = 0; indexin <= inbuf->n - searchbuf->n; indexin++) {
          for (nmatched = 0; nmatched < searchbuf->n; nmatched++) {
!             t_atom *a1 = &inbuf->vec[indexin + nmatched], *a2 = &searchbuf->vec[nmatched];
              if (a1->a_type != a2->a_type ||
                  a1->a_type == A_SYMBOL && a1->a_symbol != a2->a_symbol ||
--- 2504,2508 ----
      for (indexin = 0; indexin <= inbuf->n - searchbuf->n; indexin++) {
          for (nmatched = 0; nmatched < searchbuf->n; nmatched++) {
!             t_atom *a1 = &inbuf->v[indexin + nmatched], *a2 = &searchbuf->v[nmatched];
              if (a1->a_type != a2->a_type ||
                  a1->a_type == A_SYMBOL && a1->a_symbol != a2->a_symbol ||
***************
*** 2566,2569 ****
--- 2567,2572 ----
      class_addlist(bindlist_class, (t_method)bindlist_list);
      class_addanything(bindlist_class, (t_method)bindlist_anything);
+     binbuf_class = class_new(gensym("__alist"), (t_newmethod)binbuf_new,
+ 	(t_method)binbuf_free, sizeof(t_binbuf), CLASS_PD, A_GIMME, 0);
      wire_class = class_new(gensym("__wire"), (t_newmethod)wire_new,
  	(t_method)wire_free, sizeof(t_wire), CLASS_GOBJ, A_GIMME, 0);





More information about the Pd-cvs mailing list