From 36628a5c9a9610af6e3d7475d777fadee6eae496 Mon Sep 17 00:00:00 2001 From: Bryan Jurish Date: Fri, 19 Oct 2007 13:32:56 +0000 Subject: + fixed any2string/string2any asymmetry for default case eos_char<0 svn path=/trunk/externals/moocow/pdstring/; revision=8841 --- Changes | 7 +++++++ configure.in | 2 +- src/string2any.c | 6 ++++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Changes b/Changes index 152925c..b354bed 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,12 @@ Change log for PD external 'pdstring' +v0.06 + + fixed asymmetricity bug (thanks to iohannes for the report) + +v0.05 + + improved NUL parsing, add in- and outlets + + use static binbufs to avoid segfaults (a la mrpeach's [str]) + v0.03 Thu, 02 Feb 2006 12:57:43 +0100 + automake-ified diff --git a/configure.in b/configure.in index 581f7f8..5f6ae4f 100644 --- a/configure.in +++ b/configure.in @@ -4,7 +4,7 @@ AC_PREREQ(2.5) dnl Some handy macros define([THE_PACKAGE_NAME], [pdstring]) -define([THE_PACKAGE_VERSION], [0.05]) +define([THE_PACKAGE_VERSION], [0.06]) define([THE_PACKAGE_AUTHOR], [moocow@ling.uni-potsdam.de]) AC_INIT(THE_PACKAGE_NAME, THE_PACKAGE_VERSION, THE_PACKAGE_AUTHOR) diff --git a/src/string2any.c b/src/string2any.c index a2b90dc..a79dc0e 100644 --- a/src/string2any.c +++ b/src/string2any.c @@ -87,7 +87,7 @@ typedef struct _string2any static void string2any_atoms(t_string2any *x, int argc, t_atom *argv) { char *s; - int x_argc, a_argc=argc; + int x_argc, a_argc=0; t_atom *x_argv; /*-- allocate --*/ @@ -98,8 +98,10 @@ static void string2any_atoms(t_string2any *x, int argc, t_atom *argv) } /*-- get text --*/ - for (s=x->x_text; argc > 0; argc--, argv++, s++) { + for (s=x->x_text; argc > 0; argc--, a_argc++, argv++, s++) { *s = atom_getfloat(argv); + S2ADEBUG(post("string2any[%p]: a_argc=%d,*s=%d", x, a_argc, *s)); + if ((x->x_eos<0 && !*s) || (*s==x->x_eos)) { break; } /*-- hack: look for eos char --*/ } *s = 0; S2ADEBUG(post("string2any[%p]: text: \"%s\", strlen=%d, argc=%d", x, x->x_text, strlen(x->x_text), a_argc)); -- cgit v1.2.1