[PD-cvs] pd/src desire.c,1.1.2.217.2.161,1.1.2.217.2.162

Mathieu Bouchard matju at users.sourceforge.net
Wed Jul 18 18:33:38 CEST 2007


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

Modified Files:
      Tag: desiredata
	desire.c 
Log Message:
removed some MAXPDSTRING and some other fixed-size buffers


Index: desire.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v
retrieving revision 1.1.2.217.2.161
retrieving revision 1.1.2.217.2.162
diff -C2 -d -r1.1.2.217.2.161 -r1.1.2.217.2.162
*** desire.c	18 Jul 2007 16:12:15 -0000	1.1.2.217.2.161
--- desire.c	18 Jul 2007 16:33:34 -0000	1.1.2.217.2.162
***************
*** 27,30 ****
--- 27,31 ----
  #include <errno.h>
  #include <sys/time.h>
+ #include <sstream>
  
  // oops, c99 only (is it standard C++ ?)
***************
*** 63,67 ****
  #define IS_A_SYMBOL(atom,index)  ((atom+index)->a_type == A_SYMBOL)
  
- static void postatom2(const char *s, int argc, t_atom *argv);
  int imin(int a, int b) {return a<b?a:b;}
  int imax(int a, int b) {return a>b?a:b;}
--- 64,67 ----
***************
*** 4644,4653 ****
  
  void drawnumber_float(t_drawnumber *x, t_floatarg f) {
-     int viswas;
      if (x->vis.type != A_FLOAT || x->vis.var) {
          pd_error(x, "global vis/invis for a template with variable visibility");
          return;
      }
!     viswas = (x->vis.f != 0);
      if ((f != 0 && viswas) || (f == 0 && !viswas)) return;
      canvas_redrawallfortemplatecanvas(x->canvas, 2);
--- 4644,4652 ----
  
  void drawnumber_float(t_drawnumber *x, t_floatarg f) {
      if (x->vis.type != A_FLOAT || x->vis.var) {
          pd_error(x, "global vis/invis for a template with variable visibility");
          return;
      }
!     int viswas = x->vis.f!=0;
      if ((f != 0 && viswas) || (f == 0 && !viswas)) return;
      canvas_redrawallfortemplatecanvas(x->canvas, 2);
***************
*** 4656,4669 ****
  }
  
! #define DRAWNUMBER_BUFSIZE 80
! static void drawnumber_sprintf(t_drawnumber *x, char *buf, t_atom *ap) {
!     strncpy(buf, x->label->name, DRAWNUMBER_BUFSIZE);
!     buf[DRAWNUMBER_BUFSIZE - 1] = 0;
!     int nchars = strlen(buf);
!     atom_string(ap, buf + nchars, DRAWNUMBER_BUFSIZE - nchars);
! }
! 
! static void drawnumber_vis(t_gobj *z, t_canvas *canvas, t_word *data, t_template *t,
! float basex, float basey, int vis) {
      t_drawnumber *x = (t_drawnumber *)z;
      if (!slot_getfloat(&x->vis, t, data, 0)) return;
--- 4655,4659 ----
  }
  
! static void drawnumber_vis(t_gobj *z, t_canvas *canvas, t_word *data, t_template *t, float basex, float basey, int vis) {
      t_drawnumber *x = (t_drawnumber *)z;
      if (!slot_getfloat(&x->vis, t, data, 0)) return;
***************
*** 4672,4684 ****
          int xloc = canvas_xtopixels(canvas, basex + slot_getcoord(&x->xloc, t, data, 0));
          int yloc = canvas_ytopixels(canvas, basey + slot_getcoord(&x->yloc, t, data, 0));
!         char colorstring[20], buf[DRAWNUMBER_BUFSIZE];
          numbertocolor((int)slot_getfloat(&x->color, t, data, 1), colorstring);
          if (x->flags & DRAW_SYMBOL) SETSYMBOL(&at, slot_getsymbol(&x->value, t, data, 0));
          else                        SETFLOAT( &at, slot_getfloat( &x->value, t, data, 0));
!         drawnumber_sprintf(x, buf, &at);
          sys_vgui(".x%lx.c create text %d %d -anchor nw -fill %s -text {%s}",
!                 (long)canvas_getcanvas(canvas), xloc, yloc, colorstring, buf);
!         sys_vgui(" -font {Courier 42}"/*sys_hostfontsize(canvas_getfont(canvas))*/);
!         sys_vgui(" -tags drawnumber%lx\n", (long)data);
      } else sys_vgui(".x%lx.c delete drawnumber%lx\n", (long)canvas_getcanvas(canvas), (long)data);
  }
--- 4662,4675 ----
          int xloc = canvas_xtopixels(canvas, basex + slot_getcoord(&x->xloc, t, data, 0));
          int yloc = canvas_ytopixels(canvas, basey + slot_getcoord(&x->yloc, t, data, 0));
!         char colorstring[20];
          numbertocolor((int)slot_getfloat(&x->color, t, data, 1), colorstring);
          if (x->flags & DRAW_SYMBOL) SETSYMBOL(&at, slot_getsymbol(&x->value, t, data, 0));
          else                        SETFLOAT( &at, slot_getfloat( &x->value, t, data, 0));
!         std::ostringstream buf;
! 	buf << x->label->name;
! 	atom_ostream(&at,buf);
          sys_vgui(".x%lx.c create text %d %d -anchor nw -fill %s -text {%s}",
!                 (long)canvas_getcanvas(canvas), xloc, yloc, colorstring, buf.str().data());
!         sys_vgui(" -font {Courier 42} -tags drawnumber%lx\n", (long)data); /*sys_hostfontsize(canvas_getfont(canvas))*/
      } else sys_vgui(".x%lx.c delete drawnumber%lx\n", (long)canvas_getcanvas(canvas), (long)data);
  }
***************
*** 4695,4705 ****
    int firstkey;
  } dn;
-  
-      /* LATER protect against the template changing or the scalar disappearing
-      probably by attaching a gpointer here ... */
- 
- /* LATER protect against the template changing or the scalar disappearing
-    probably by attaching a gpointer here ... */
  
  #if 0
  static void drawnumber_motion(void *z, t_floatarg dx, t_floatarg dy) {
--- 4686,4691 ----
    int firstkey;
  } dn;
  
+ /* LATER protect against the template changing or the scalar disappearing probably by attaching a gpointer here ... */
  #if 0
  static void drawnumber_motion(void *z, t_floatarg dx, t_floatarg dy) {
***************
*** 7292,7300 ****
      IGN("asiolatency");
      startpost("%s: unknown message %s ", class_getname(pd_class(x)), s->name);
!     for (int i = 0; i < argc; i++) {
! 	char str[80];
! 	atom_string(argv+i, str, 80);
! 	poststring(str);
!     }
      endpost();
  }
--- 7278,7284 ----
      IGN("asiolatency");
      startpost("%s: unknown message %s ", class_getname(pd_class(x)), s->name);
!     std::ostringstream buf;
!     for (int i = 0; i < argc; i++) {buf << " "; atom_ostream(argv+i,buf);}
!     post("%s",buf.str().data());
      endpost();
  }
***************
*** 7502,7515 ****
  
  void postatom(int argc, t_atom *argv) {
!     char buf[MAXPDSTRING];
!     for (int i=0; i<argc; i++) {atom_string(argv+i,buf,MAXPDSTRING); poststring(buf);}
! }
! 
! static void postatom2(const char *s, int argc, t_atom *argv) {
!     char buf[MAXPDSTRING];
!     FILE *f = stdout;
!     fprintf(f,"%s",s);
!     for (int i=0; i<argc; i++) {atom_string(argv+i,buf,MAXPDSTRING); fprintf(f,"%s ",buf);}
!     fprintf(f,"\n");
  }
  
--- 7486,7492 ----
  
  void postatom(int argc, t_atom *argv) {
!     std::ostringstream buf;
!     for (int i=0; i<argc; i++) {buf << " "; atom_ostream(argv+i,buf);}
!     dopost(buf.str().data());
  }
  





More information about the Pd-cvs mailing list