[PD-cvs] pd/src kernel.c,1.1.2.58,1.1.2.59

Mathieu Bouchard matju at users.sourceforge.net
Wed Jul 18 06:50:37 CEST 2007


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

Modified Files:
      Tag: desiredata
	kernel.c 
Log Message:
removed some MAXPDSTRING


Index: kernel.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/kernel.c,v
retrieving revision 1.1.2.58
retrieving revision 1.1.2.59
diff -C2 -d -r1.1.2.58 -r1.1.2.59
*** kernel.c	18 Jul 2007 04:16:17 -0000	1.1.2.58
--- kernel.c	18 Jul 2007 04:50:35 -0000	1.1.2.59
***************
*** 264,270 ****
          char tbuf[30];
          sprintf(tbuf, "%g", a->a_float);
!         if (strlen(tbuf) < bufsize-1) strcpy(buf, tbuf);
!         else if (a->a_float < 0) strcpy(buf, "-");
!         else  strcat(buf, "+");
      } break;
      case A_SYMBOL: {
--- 264,268 ----
          char tbuf[30];
          sprintf(tbuf, "%g", a->a_float);
!         if (strlen(tbuf) < bufsize-1) strcpy(buf, tbuf); else strcpy(buf, a->a_float < 0 ? "-" : "+");
      } break;
      case A_SYMBOL: {
***************
*** 297,300 ****
--- 295,306 ----
  }
  
+ /*
+ void atom_string(t_atom *a, char *buf, unsigned int bufsize) {
+      ostringstream b;
+      atom_ostream(a,b,bufsize-1);
+      strcpy(buf,b.str().data());
+ }
+ */
+ 
  /* in which the value has bit 0 set if the key object is not a zombie,
     and has bit 1 set if the object has been uploaded to the client */
***************
*** 1668,1672 ****
  /* this one is for pd format version 0 */
  char *binbuf_text_miller(t_binbuf *x, char *t, char *end) {
!     char buf[MAXPDSTRING+1], *bufp = buf, *ebuf = buf+MAXPDSTRING;
      /* it's an atom other than a comma or semi */
      int q = 0, slash = 0, lastslash = 0, dollar = 0;
--- 1674,1678 ----
  /* this one is for pd format version 0 */
  char *binbuf_text_miller(t_binbuf *x, char *t, char *end) {
!     ostringstream buf;
      /* it's an atom other than a comma or semi */
      int q = 0, slash = 0, lastslash = 0, dollar = 0;
***************
*** 1677,1681 ****
      if (*t==',') {binbuf_addv(x,","); return t+1;}
      do {
! 	char c = *bufp = *t++;
  	lastslash = slash;
  	slash = c=='\\';
--- 1683,1687 ----
      if (*t==',') {binbuf_addv(x,","); return t+1;}
      do {
! 	char c = *t++;
  	lastslash = slash;
  	slash = c=='\\';
***************
*** 1693,1708 ****
  	}
  	if (!lastslash && c == '$' && t!=end && isdigit(*t)) dollar = 1;
! 	if (!slash) bufp++;
!     } while (t!=end && bufp!=ebuf && (slash || !strchr(" \n\r\t,;",*t)));
!     *bufp = 0;
!     if (q == 2 || q == 4 || q == 5 || q == 8) {binbuf_addv(x,"f",atof(buf)); return t;}
      /* LATER try to figure out how to mix "$" and "\$" correctly; here, the backslashes were already
         stripped so we assume all "$" chars are real dollars.  In fact, we only know at least one was. */
      if (dollar) {
! 	if (buf[0] != '$') dollar = 0;
! 	for (bufp = buf+1; *bufp; bufp++) if (!isdigit(*bufp)) dollar = 0;
! 	if (dollar) binbuf_addv(x,"$",atoi(buf+1));
! 	else        binbuf_addv(x,"&",gensym(buf));
!     } else          binbuf_addv(x,"t",buf);
      return t;
  }
--- 1699,1714 ----
  	}
  	if (!lastslash && c == '$' && t!=end && isdigit(*t)) dollar = 1;
! 	if (!slash) buf << c;
!     } while (t!=end && (slash || !strchr(" \n\r\t,;",*t)));
!     if (q == 2 || q == 4 || q == 5 || q == 8) {binbuf_addv(x,"f",atof(buf.str().data())); return t;}
      /* LATER try to figure out how to mix "$" and "\$" correctly; here, the backslashes were already
         stripped so we assume all "$" chars are real dollars.  In fact, we only know at least one was. */
      if (dollar) {
!         const char *b = buf.str().data();
! 	if (*b != '$') dollar = 0;
! 	for (b++; *b; b++) if (!isdigit(*b)) dollar = 0;
! 	if (dollar) binbuf_addv(x,"$",atoi(buf.str().data()+1));
! 	else        binbuf_addv(x,"&",gensym(buf.str().data()));
!     } else          binbuf_addv(x,"t",buf.str().data());
      return t;
  }
***************
*** 1821,1825 ****
          case A_COMMA:   SETSYMBOL(ap, gensym(",")); break;
          case A_DOLLAR:  sprintf(tbuf, "$%ld", ap->a_index); SETSYMBOL(ap, gensym(tbuf)); break;
!         case A_DOLLSYM: atom_string(ap, tbuf, MAXPDSTRING);     SETSYMBOL(ap, gensym(tbuf)); break;
          case A_SYMBOL:
              /* FIXME make this general */
--- 1827,1831 ----
          case A_COMMA:   SETSYMBOL(ap, gensym(",")); break;
          case A_DOLLAR:  sprintf(tbuf, "$%ld", ap->a_index); SETSYMBOL(ap, gensym(tbuf)); break;
!         case A_DOLLSYM: atom_string(ap, tbuf, MAXPDSTRING); SETSYMBOL(ap, gensym(tbuf)); break;
          case A_SYMBOL:
              /* FIXME make this general */
***************
*** 1913,1917 ****
   * return value = 1; (s+1=="-bla")
   */
! int binbuf_expanddollsym(char*s, char*buf,t_atom dollar0, int ac, t_atom *av, int tonew) {
    int argno=atol(s);
    int arglen=0;
--- 1919,1923 ----
   * return value = 1; (s+1=="-bla")
   */
! static int binbuf_expanddollsym(char *s, char *buf, t_atom dollar0, int ac, t_atom *av, int tonew) {
    int argno=atol(s);
    int arglen=0;
***************
*** 1923,1933 ****
      arglen++;
    }
!   if (cs==s) { /* invalid $-expansion (like "$bla") */
!     sprintf(buf, "$");
!     return 0;
!   } else if (argno < 0 || argno > ac) { /* undefined argument */
!       if(!tonew)return 0;
        sprintf(buf, "$%d", argno);
!   } else if (argno == 0){ /* $0 */
      atom_string(&dollar0, buf, MAXPDSTRING/2-1);
    } else { /* fine! */
--- 1929,1938 ----
      arglen++;
    }
!   /* invalid $-expansion (like "$bla") */
!   if (cs==s) {sprintf(buf, "$"); return 0;}
!   if (argno < 0 || argno > ac) { /* undefined argument */
!       if(!tonew) return 0;
        sprintf(buf, "$%d", argno);
!   } else if (argno == 0) { /* $0 */
      atom_string(&dollar0, buf, MAXPDSTRING/2-1);
    } else { /* fine! */
***************
*** 1937,1942 ****
  }
  
! /* LATER remove the dependence on the current canvas for $0; should be another
! argument. */
  t_symbol *binbuf_realizedollsym(t_symbol *s, int ac, t_atom *av, int tonew) {
      char buf[MAXPDSTRING];
--- 1942,1946 ----
  }
  
! /* LATER remove the dependence on the current canvas for $0; should be another argument. */
  t_symbol *binbuf_realizedollsym(t_symbol *s, int ac, t_atom *av, int tonew) {
      char buf[MAXPDSTRING];





More information about the Pd-cvs mailing list