What is the difference between [str] and [any2string]?<br>If I understand correctly str is a wrapper for standard string functions and it&#39;s output is a pointer to a string.<br>I believe this approach is more limited that using any2string because all basic string functions can be recreated once a symbol is converted to a series of bytes. For example, to split a string along a space character you can use [list split 32], but with the [str] architecture, you need to use [str csplit 32]. 
<br><br>Just my 2cents. Also, [any2string] does not break compatibility with Pd Vanilla.<br><br>Tom<br><br><div><span class="gmail_quote">On 10/18/07, <b class="gmail_sendername">Hans-Christoph Steiner</b> &lt;<a href="mailto:hans@eds.org">
hans@eds.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>[str] is only included in 0.40.3 because it needs the string patch to
<br>pd to work.<br><br>.hc<br><br>On Oct 17, 2007, at 3:27 PM, marius schebella wrote:<br><br>&gt; seems like mrpeach is not fully included in pd-extended or at least<br>&gt; [str] is missing. is this an abstraction or a library?
<br>&gt; marius.<br>&gt;<br>&gt; Martin Peach wrote:<br>&gt;&gt; Here&#39;s my unfinished attempt at a web server. It will send a file<br>&gt;&gt; &quot;index.html&quot; to a browser. It uses the string patch to pd and the str
<br>&gt;&gt; object, which can handle ascii without pd interpreting it along<br>&gt;&gt; the way.<br>&gt;&gt; It may be possible to do it using other objects. The main problem<br>&gt;&gt; is the<br>&gt;&gt; detection of&nbsp;&nbsp;special characters like CRLF in the request. The
<br>&gt;&gt; content-length field is not necessary if you close the connection<br>&gt;&gt; after<br>&gt;&gt; sending the data, so you don&#39;t need to know how long the data is<br>&gt;&gt; going<br>&gt;&gt; to be before you start. I think I have done that in a later
<br>&gt;&gt; version that<br>&gt;&gt; I can&#39;t find right now...Obviously the index.html file could also be<br>&gt;&gt; generated by pd, and then it would all be more interesting.<br>&gt;&gt;<br>&gt;&gt; Martin<br>&gt;&gt;
<br>&gt;&gt; #N canvas 539 0 727 919 10;<br>&gt;&gt; #X obj 104 61 mrpeach/tcpserver 80;<br>&gt;&gt; #X floatatom 171 237 5 0 0 0 - - -;<br>&gt;&gt; #X floatatom 286 191 5 0 0 0 - - -;<br>&gt;&gt; #X obj 324 138 unpack 0 0 0 0;
<br>&gt;&gt; #X floatatom 324 161 3 0 0 0 - - -;<br>&gt;&gt; #X floatatom 359 161 3 0 0 0 - - -;<br>&gt;&gt; #X floatatom 395 161 3 0 0 0 - - -;<br>&gt;&gt; #X floatatom 431 161 3 0 0 0 - - -;<br>&gt;&gt; #X text 281 160 from;
<br>&gt;&gt; #X text 224 236 connections;<br>&gt;&gt; #X text 199 191 on socket;<br>&gt;&gt; #X obj 15 240 mrpeach/str to_symbol;<br>&gt;&gt; #X obj 15 218 mrpeach/str csplit 32;<br>&gt;&gt; #X obj 15 265 mrpeach/str compare GET;
<br>&gt;&gt; #X obj 22 282 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1<br>&gt;&gt; 1;<br>&gt;&gt; #X obj 168 260 mrpeach/str csplit 32;<br>&gt;&gt; #X obj 168 294 mrpeach/str compare /;<br>&gt;&gt; #X obj 175 311 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
<br>&gt;&gt; 1;<br>&gt;&gt; #X obj 153 339 &amp;&amp;;<br>&gt;&gt; #X obj 160 356 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1<br>&gt;&gt; 1;<br>&gt;&gt; #X obj 153 371 sel 1;<br>&gt;&gt; #X obj 219 343 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
<br>&gt;&gt; -1 -1;<br>&gt;&gt; #X msg 115 20 client 1 c:/martin/pd_patches/index.html;<br>&gt;&gt; #X obj 201 399 mrpeach/str to_list Content-Length: 32 53 48 13 10 13<br>&gt;&gt; 10;<br>&gt;&gt; #X obj 153 439 prepend 464;
<br>&gt;&gt; #X obj 28 705 mrpeach/str to_symbol;<br>&gt;&gt; #X obj 161 705 mrpeach/str to_symbol;<br>&gt;&gt; #X obj 293 705 mrpeach/str to_symbol;<br>&gt;&gt; #X obj 426 705 mrpeach/str to_symbol;<br>&gt;&gt; #X obj 28 726 print a;
<br>&gt;&gt; #X obj 161 725 print b;<br>&gt;&gt; #X obj 28 682 mrpeach/str csplit 10;<br>&gt;&gt; #X obj 161 683 mrpeach/str csplit 10;<br>&gt;&gt; #X obj 293 683 mrpeach/str csplit 10;<br>&gt;&gt; #X obj 426 683 mrpeach/str csplit 10;
<br>&gt;&gt; #X obj 293 726 print c;<br>&gt;&gt; #X obj 426 726 print d;<br>&gt;&gt; #X obj 27 776 mrpeach/str to_symbol;<br>&gt;&gt; #X obj 160 776 mrpeach/str to_symbol;<br>&gt;&gt; #X obj 292 776 mrpeach/str to_symbol;
<br>&gt;&gt; #X obj 425 776 mrpeach/str to_symbol;<br>&gt;&gt; #X obj 27 753 mrpeach/str csplit 10;<br>&gt;&gt; #X obj 160 754 mrpeach/str csplit 10;<br>&gt;&gt; #X obj 292 754 mrpeach/str csplit 10;<br>&gt;&gt; #X obj 425 754 mrpeach/str csplit 10;
<br>&gt;&gt; #X obj 27 797 print e;<br>&gt;&gt; #X obj 160 796 print f;<br>&gt;&gt; #X obj 292 797 print g;<br>&gt;&gt; #X obj 425 797 print h;<br>&gt;&gt; #X obj 26 843 mrpeach/str to_symbol;<br>&gt;&gt; #X obj 159 843 mrpeach/str to_symbol;
<br>&gt;&gt; #X obj 291 843 mrpeach/str to_symbol;<br>&gt;&gt; #X obj 424 843 mrpeach/str to_symbol;<br>&gt;&gt; #X obj 26 820 mrpeach/str csplit 10;<br>&gt;&gt; #X obj 159 821 mrpeach/str csplit 10;<br>&gt;&gt; #X obj 291 821 mrpeach/str csplit 10;
<br>&gt;&gt; #X obj 424 821 mrpeach/str csplit 10;<br>&gt;&gt; #X obj 26 864 print i;<br>&gt;&gt; #X obj 159 863 print j;<br>&gt;&gt; #X obj 291 864 print k;<br>&gt;&gt; #X obj 424 864 print l;<br>&gt;&gt; #X obj 366 373 prepend 388;
<br>&gt;&gt; #X obj 378 312 mrpeach/str to_list HTTP/1.1 32 50 48 48 32 OK 13 10<br>&gt;&gt; Content-Length: 32 50 49 56 13 10 13 10;<br>&gt;&gt; #X obj 400 254 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144<br>&gt;&gt; -1 -1;
<br>&gt;&gt; #X msg 510 33 disconnectsocket \$1;<br>&gt;&gt; #X msg 407 60 disconnectclient \$1;<br>&gt;&gt; #X floatatom 429 -8 5 0 0 0 - - -;<br>&gt;&gt; #X obj 407 11 f;<br>&gt;&gt; #X obj 407 -8 bng 15 250 50 0 empty empty empty 17 7 0 10 -258699
<br>&gt;&gt; -241291<br>&gt;&gt; -1;<br>&gt;&gt; #X floatatom 532 -8 5 0 0 0 - - -;<br>&gt;&gt; #X obj 510 11 f;<br>&gt;&gt; #X obj 510 -8 bng 15 250 50 0 empty empty empty 17 7 0 10 -258699<br>&gt;&gt; -241291<br>&gt;&gt; -1;
<br>&gt;&gt; #X text 378 -27 disconnect by socket or client number;<br>&gt;&gt; #X msg 352 212 set \$1;<br>&gt;&gt; #X obj 321 446 t b b b;<br>&gt;&gt; #X obj 360 468 f;<br>&gt;&gt; #X obj 393 468 + 1;<br>&gt;&gt; #X obj 360 488 i;
<br>&gt;&gt; #X obj 360 508 mrpeach/str to_list;<br>&gt;&gt; #X obj 360 530 print count;<br>&gt;&gt; #X floatatom 308 529 5 0 0 0 - - -;<br>&gt;&gt; #X connect 0 0 12 0;<br>&gt;&gt; #X connect 0 0 31 0;<br>&gt;&gt; #X connect 0 1 1 0;
<br>&gt;&gt; #X connect 0 2 2 0;<br>&gt;&gt; #X connect 0 2 73 0;<br>&gt;&gt; #X connect 0 2 69 0;<br>&gt;&gt; #X connect 0 3 3 0;<br>&gt;&gt; #X connect 3 0 4 0;<br>&gt;&gt; #X connect 3 1 5 0;<br>&gt;&gt; #X connect 3 2 6 0;
<br>&gt;&gt; #X connect 3 3 7 0;<br>&gt;&gt; #X connect 11 0 13 0;<br>&gt;&gt; #X connect 12 0 11 0;<br>&gt;&gt; #X connect 12 1 15 0;<br>&gt;&gt; #X connect 13 0 14 0;<br>&gt;&gt; #X connect 13 0 18 0;<br>&gt;&gt; #X connect 15 0 16 0;
<br>&gt;&gt; #X connect 16 0 18 1;<br>&gt;&gt; #X connect 16 0 17 0;<br>&gt;&gt; #X connect 18 0 19 0;<br>&gt;&gt; #X connect 18 0 20 0;<br>&gt;&gt; #X connect 20 0 74 0;<br>&gt;&gt; #X connect 21 0 23 0;<br>&gt;&gt; #X connect 22 0 0 0;
<br>&gt;&gt; #X connect 23 0 24 0;<br>&gt;&gt; #X connect 24 0 0 0;<br>&gt;&gt; #X connect 25 0 29 0;<br>&gt;&gt; #X connect 26 0 30 0;<br>&gt;&gt; #X connect 27 0 35 0;<br>&gt;&gt; #X connect 28 0 36 0;<br>&gt;&gt; #X connect 31 0 25 0;
<br>&gt;&gt; #X connect 31 1 32 0;<br>&gt;&gt; #X connect 32 0 26 0;<br>&gt;&gt; #X connect 32 1 33 0;<br>&gt;&gt; #X connect 33 0 27 0;<br>&gt;&gt; #X connect 33 1 34 0;<br>&gt;&gt; #X connect 34 0 28 0;<br>&gt;&gt; #X connect 34 1 41 0;
<br>&gt;&gt; #X connect 37 0 45 0;<br>&gt;&gt; #X connect 38 0 46 0;<br>&gt;&gt; #X connect 39 0 47 0;<br>&gt;&gt; #X connect 40 0 48 0;<br>&gt;&gt; #X connect 41 0 37 0;<br>&gt;&gt; #X connect 41 1 42 0;<br>&gt;&gt; #X connect 42 0 38 0;
<br>&gt;&gt; #X connect 42 1 43 0;<br>&gt;&gt; #X connect 43 0 39 0;<br>&gt;&gt; #X connect 43 1 44 0;<br>&gt;&gt; #X connect 44 0 40 0;<br>&gt;&gt; #X connect 44 1 53 0;<br>&gt;&gt; #X connect 49 0 57 0;<br>&gt;&gt; #X connect 50 0 58 0;
<br>&gt;&gt; #X connect 51 0 59 0;<br>&gt;&gt; #X connect 52 0 60 0;<br>&gt;&gt; #X connect 53 0 49 0;<br>&gt;&gt; #X connect 53 1 54 0;<br>&gt;&gt; #X connect 54 0 50 0;<br>&gt;&gt; #X connect 54 1 55 0;<br>&gt;&gt; #X connect 55 0 51 0;
<br>&gt;&gt; #X connect 55 1 56 0;<br>&gt;&gt; #X connect 56 0 52 0;<br>&gt;&gt; #X connect 61 0 0 0;<br>&gt;&gt; #X connect 62 0 61 0;<br>&gt;&gt; #X connect 63 0 62 0;<br>&gt;&gt; #X connect 64 0 0 0;<br>&gt;&gt; #X connect 65 0 0 0;
<br>&gt;&gt; #X connect 66 0 67 1;<br>&gt;&gt; #X connect 67 0 65 0;<br>&gt;&gt; #X connect 68 0 67 0;<br>&gt;&gt; #X connect 69 0 70 1;<br>&gt;&gt; #X connect 70 0 64 0;<br>&gt;&gt; #X connect 71 0 70 0;<br>&gt;&gt; #X connect 73 0 61 0;
<br>&gt;&gt; #X connect 74 0 22 0;<br>&gt;&gt; #X connect 74 1 62 0;<br>&gt;&gt; #X connect 74 2 75 0;<br>&gt;&gt; #X connect 75 0 76 0;<br>&gt;&gt; #X connect 75 0 77 0;<br>&gt;&gt; #X connect 76 0 75 1;<br>&gt;&gt; #X connect 77 0 78 0;
<br>&gt;&gt; #X connect 77 0 80 0;<br>&gt;&gt; #X connect 78 0 79 0;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; ---------------------------------------------------------------------<br>&gt;&gt; ---<br>&gt;&gt;<br>&gt;&gt; _______________________________________________
<br>&gt;&gt; <a href="mailto:PD-list@iem.at">PD-list@iem.at</a> mailing list<br>&gt;&gt; UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/">http://lists.puredata.info/</a><br>&gt;&gt; listinfo/pd-list
<br>&gt;<br>&gt;<br>&gt; _______________________________________________<br>&gt; <a href="mailto:PD-list@iem.at">PD-list@iem.at</a> mailing list<br>&gt; UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/">
http://lists.puredata.info/</a><br>&gt; listinfo/pd-list<br><br><br><br><br>------------------------------------------------------------------------<br>----<br><br>All mankind is of one author, and is one volume; when one man dies,
<br>one chapter is not torn out of the book, but translated into a better<br>language; and every chapter must be so translated.... -John Donne<br><br><br><br>_______________________________________________<br><a href="mailto:PD-list@iem.at">
PD-list@iem.at</a> mailing list<br>UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list">http://lists.puredata.info/listinfo/pd-list</a><br></blockquote></div><br>