On 2015-11-17 10:15, Roman Haefeli wrote:
> I see. It's not complicated at all on a patch level to make [packOSC]
> allow reentrancy. See attached patch. I can live easily without it being
> fixed in [packOSC].

your solution unfortunately shows that [unpackOSC] is broken as well.


since messages seems to be buffered internally in some heap-allocated
memory, [unpackOSC] egalize all recursive messages to the last received.
the problem appears when using

see attached patch.

fgamsdr
IOhannes
#N canvas 336 582 815 403 10;
#X obj 320 164 packOSC;
#X obj 320 186 unpackOSC;
#X msg 320 139 /bla \$1;
#X msg 320 50 0;
#X obj 320 72 i;
#X obj 320 94 + 1;
#X obj 320 116 t f f;
#X obj 320 208 t a a;
#X obj 352 229 route /bla;
#X obj 352 251 < 5;
#X obj 352 273 select 1;
#X obj 502 233 unpackOSC;
#X msg 502 163 /bla \$1;
#X msg 502 74 0;
#X obj 502 96 i;
#X obj 502 118 + 1;
#X obj 502 140 t f f;
#X obj 534 276 route /bla;
#X obj 534 298 < 5;
#X obj 534 320 select 1;
#N canvas 120 186 450 300 packOSC 0;
#X obj 40 39 inlet;
#X obj 40 61 t b a;
#X obj 40 123 list prepend;
#X obj 40 145 outlet;
#X obj 123 62 packOSC;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 4 0;
#X connect 2 0 3 0;
#X connect 4 0 2 1;
#X restore 503 186 pd packOSC;
#X msg 137 36 0;
#X obj 137 58 i;
#X obj 137 80 + 1;
#X obj 137 102 t f f;
#X obj 137 194 t a a;
#X obj 169 267 < 5;
#X obj 169 289 select 1;
#X obj 137 172 oscparse;
#X obj 171 219 list trim;
#X obj 169 245 route bla;
#X obj 138 148 oscformat bla;
#X text 486 17 roman's trick to allow recursion;
#X text 488 37 ..shows that [unpackOSC] is broken as well.;
#X obj 502 255 t a a;
#X obj 503 208 t a a;
#X obj 585 209 oscparse;
#X obj 585 231 print 2.OK.parse;
#X obj 484 365 print 2.KO;
#X obj 303 318 print 1.KO;
#X obj 121 334 print 0.OK;
#X connect 0 0 1 0;
#X connect 1 0 7 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 2 0;
#X connect 6 1 4 1;
#X connect 7 0 39 0;
#X connect 7 1 8 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 4 0;
#X connect 11 0 34 0;
#X connect 12 0 20 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 12 0;
#X connect 16 1 14 1;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 14 0;
#X connect 20 0 35 0;
#X connect 21 0 22 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 24 0 31 0;
#X connect 24 1 22 1;
#X connect 25 0 40 0;
#X connect 25 1 29 0;
#X connect 26 0 27 0;
#X connect 27 0 22 0;
#X connect 28 0 25 0;
#X connect 29 0 30 0;
#X connect 30 0 26 0;
#X connect 31 0 28 0;
#X connect 34 0 38 0;
#X connect 34 1 17 0;
#X connect 35 0 11 0;
#X connect 35 1 36 0;
#X connect 36 0 37 0;

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to