From 893b0ab9886744db52ec4ab3238567b4a67dfeb0 Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Tue, 9 Oct 2001 23:09:00 +0000 Subject: [PATCH] Fixed the embedding demo to correctly show the use of overriding the console writer. --- Mac/Demo/embed/demo.c | 30 +++++++++++++++++++----------- Mac/Demo/embed/embeddemo.prj | Bin 51653 -> 78479 bytes 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/Mac/Demo/embed/demo.c b/Mac/Demo/embed/demo.c index 7d450f165f3..a022f94fa83 100644 --- a/Mac/Demo/embed/demo.c +++ b/Mac/Demo/embed/demo.c @@ -1,35 +1,43 @@ /* Example of embedding Python in another program */ #include "Python.h" -#ifdef macintosh #include "macglue.h" -#endif /* macintosh */ static char *argv0; +long my_writehandler(char *buf, long count) +{ + long mycount; + unsigned char mybuf[255]; + + mycount = count; + if (mycount > 255 ) mycount = 255; + mybuf[0] = (unsigned char)mycount; + strncpy((char *)mybuf+1, buf, mycount); + DebugStr(mybuf); + return count; +} + main(argc, argv) int argc; char **argv; { -#ifdef macintosh /* So the user can set argc/argv to something interesting */ argc = ccommand(&argv); -#endif /* Save a copy of argv0 */ argv0 = argv[0]; - /* Initialize the Python interpreter. Required. */ -#ifdef macintosh /* If the first option is "-q" we don't open a console */ if ( argc > 1 && strcmp(argv[1], "-q") == 0 ) { PyMac_SetConsoleHandler(PyMac_DummyReadHandler, PyMac_DummyWriteHandler, PyMac_DummyWriteHandler); -/* freopen("demo output", "w", stdout); */ - } + } else + if ( argc > 1 && strcmp(argv[1], "-d") == 0 ) { + PyMac_SetConsoleHandler(PyMac_DummyReadHandler, my_writehandler, + my_writehandler); + } + /* Initialize the Python interpreter. Required. */ PyMac_Initialize(); -#else - Py_Initialize(); -#endif /* Define sys.argv. It is up to the application if you want this; you can also let it undefined (since the Python diff --git a/Mac/Demo/embed/embeddemo.prj b/Mac/Demo/embed/embeddemo.prj index e519b5c8fa86b56eb20c56beb9594fa904d6b2e3..778755a65b99b2ca2ab5f86f976ee8600ab5d0cc 100644 GIT binary patch delta 5038 zcmdT{dvIK3760ztSF*cVvYTYn>?ZA|p$}STx2;gy6xuB5BS}-bjm6MF(`=GWy4&o7 z>;@|olTt>h*4E|V14lYwopAt5?OX&(d?XMWqXV=!N=1f;4h$6mi|8Q2;P2e;CXFRB zqkrglX3zP~J-_dH&iNku1ep%KVy^5;r~8BuCLxrCLYbcy%7SkQVSg94f#a169rTdZ zHMo9jBoK+FVtpc(?2L7H$CBwlBvN176uluDs81)8(NuS!Ii8Bmgf~Z1y#vwS8L>?* zP2o)D%7J)acdUP=#+wInnSs*W3=oAZuzvi$~<+r!y7O<RcStwHF0u0Hh{)0gX%Tz^HEUKU(|C}1GESs9S4%iCR3}%QiD-8{o($_tU z7jO?XDg?Lytboyvu!3#+@cOuP*i%iJ4l_-ZG^{hPZ){%2^|(ZDliyauUSO0qbZZc5 zS$N$Ct0m3(aEW$XpH-o^y=&;Lsvrh;(RkS>lpy`7 ztVRh@vG)P0t?Hz&l=$X-oKqCcUw4_dr@Tq^$`CcjJ4ItE7whkdcE#|aZK*k-(1y~> zD|#`Xo!~e)0p11X?VqHf(p42HXlZZ;d_A}yoCW9TkxvnsR{ z(Y%OvR()SIn~i0Ii73zIpQx=d64=z*7SW9gJv6(45*;q>>7qI2!NOZ%<#~b%zYW3j z1r`1Xg69n?JOjb=2NnJeg4Y4EBWz-at_ph)Wrv|RqvX|r?Cd{YCCI)Hf>#T&e+Qyl z49bruQ1J3W_SYbKbX7PIF~NZVIs6bD5RhXz1a}N_u(LTpAjfV94iw12i{XHQ948=> zx+)ycqU7*_9Pjc>IgTLbEC`M#$axtA#}(vkg)n^Tycs&j8RR?yk<(S-{3*(TeE1Mz zRiGt${i;W8f+-|nbt_6F^fIHib z-v#vY$iaNXrXBd~-A?WBVy{)P(LIZ+>8mS8=!IoI?FY*Wy=Kk=I(2wfK4MYq6kfHq z2%{=n*IlzUxHFgR%ZFFdnj?j3vL_!7(WC=c|jZJR2yUx*p0$%us*Q<9pwW%Fis>J(Y%wt|&irsJ$a_zP=un3q(HRSBkV~o2r^y!!2#bjlO-_ zKs6)Wx0y~i&Mz@xk-SDDJvM#1aorKL#a7H^YC|F36T$32D%h1yhBE!>?t!jcHk9bz z6G=goMS7-5=>lgCI!=YQz-xfCD1o8M0bh(_qbEWVSP zQa;<+jkqp$A3`eqU7?F5XH${AK#kO?fo?RSeaj`!ToN&G@0u~yXoC7_<+tm=JoY{2F*qy&Doq#PrV4; z2L_cqLe-CZeTycbAHb-5Mo;VA{TginycmxV=iQn9SdUP*@qIoU4Eoduv={Jdw-6QY zNqEKYU=J`TMCn>O4%maJh*AlUn4r&P5KHpX%M1sgyCj@@2l~Ze&@~Qnk9mD%8=gj!%l6|lsKX|4BlKkw-kzo?;2k$1Ld81lcHal+QVFLvP#$ms z4>?mn!Z#BjelvlxtuzYQ!*4#bgq^3LuV4^?I6&tBcYhiB840(ur)wD$;)d;1ebTFz ze3Mq5955+WuhVgSF1my!P6mC8eux^SMsBdP4cc=(xyQY}y?dvk=eev5*lLL%tfug| zw~3Y_zh!vb?{hBKN%+onQ&IKQ@d#mQk0H|(o1Eeq&Xp^rU0Xx&3$ z&^e1hk8hxJ-1(!>rJp<=PKy=>(fM^$JpuSB=uX*r5eM0LCOx`~wg8?$S{OO!e#r`$ zHzeriS=u{MUcp~7<=np>gMJNTLj1x{$0te$g?MrSlJ211d(r(r0m37Iop?lt_=v-<%$k)<5?a^e9{LZ-TSLsDC?0t&^=n42K{* za^NfT(0Q_;Va_(0Cq;u9?xdT|0CA|WUA z_8ri1z%u=1<#~@jbr%fAf1LNmr#xEpOb+(A@n`8nbY!@+=v7W?P8XO2j?+n(e(tZZ z?2`84VU&hT>)Fln{!ohFfJ+UJ9_Q8bHb*}dC?`F7FJ~w3Mc6C%BL0R;T@~k`r`ZnR z2&8nWE6m48hRv`)3@Ke&be6O5dN#v80cp7O5#Dz4qEjk=58d!6Pr~@4rBuEJojp3Q ZM--)bJFz>^QPo~Z=~9>dF!TX7{{xnnd{Y1b delta 2547 zcma);e^69a6vxk9_6N#JyKk3W2X+y}AIL9%q=KmkA>uC#Q&en3Q3iN?aJ7FraPK|ubI-f? zymQaFv&}!5FUlz2n(FE*B8nmssYD%xL>B@?(aXTfPWw`0WWvH&yki8A?+lcote7k!dcG8LIJ&LC_@h zM@({;mMy#b%qb}*Jfqpr1eyiS%Fi%mZXuF~v?N)1u0CG?nb9m{CEC9qFH*4Yk)CbP z)E}=A7S>EM+Epx_?&R2yTLW23+&pD_^VL&wOG1JCIw41<`=*Ih+2kvbKl*mdPvSD< zpK(bt-gCUA#3tWyxraVj55dA7#y>Wc_5S>pd{_4W@GI;OB2Q7g9GXR6=bdZPk7Tw9 zdCni_iui`GHOV<%KSDtkp(mGF1UqAY)B)MMbUkRN$okY^JM^~UY3cKv>~$11E+#cvgudmUqzqtOc2sMrr9$W9e--v1tg8VJ? ztt%ZCy*wSR4c{{==0C3OH0zfRH9GYfdZrE8G+6hQbqRcWw{q*3<$KL7CC#Cme$lF* z|Ek9<$EDfjw`ui3(ZT5(sIA+Gm_*2s4rEvZI2T8RxMw1Y%r`_ps9GMnRPg5?=H9KG z_GksBCpW&JdxQq=VC*nFo>8WB*&=n2iErGfkcEC6{^|Gr0qdibpRsAscvYi9= z>_CM5h9WpHF;G{D`N)0N!vRx9pr#h~k=)gZ_Zv!r^K0wK)YXHBcr=Li9J=rqKJ-F6 zI2@{}#Tc=%7m=d)nvHAMQIx|0-H!%I{0HW(1~--As-Z*!Q~E*FyIb+LQ$fICYGV9p zB5$;s$oT;*N$~`DDr|~R<@+jGao;73;e|T5x`r$6Eyp-m*>}c3Pf^^*9~rB7-5=0L zpcSLdK8p>kYT~*C7>Ne){faJE@w1;oAH@_On2t^@6y#^bIyl$q=_t(e@aMC z6SIQ;w*bQq*6YwS*$VHUL>G2&$7|5}>V(YW3$9b`mtP5eEK{QSE8yQy#fz>0j59D5 zzl8B!#aD9F$1Co?g)yrpXdDT>jE4zoVgZaycJ;z#KJLdAFByY-#$j-$^F6SMikD7# zz*pCR@l_64J_os!r0lnGz$P1*R&b7~Kss(Y_-M1$gzE#0X7z%-3wn;?eng&>Lyn#k z(6J%QDo*-tWna#@^8{0(XOZOL+;JxH+EWco{)-sZI?gkPp-)2#ZORa<6X+bAvh)`i z--u!9xElIBLu3WDF91+bMxjN_Z>%5qcrAucX}WrGGfq65*V?2wuw2EPkQLz|YKL!v z%~1Sx_}K6BJ-$uy6mNdYNO$9uw7d@i^VLMv&VhV)b_=j46+gOkAnMwo3a|pjk8K`^ zx>kM+j0+N?eTPm3UCX!%y^tx9Yd1Pou+DpT_>^WbCi0-r!uhHRA9O^U#dQ>&%2#da z1?aPx!oC|_IO<<=#E}*(o@?k-eQ3G6pyMY2%ZY6Rb*3%W0Oq0b{+>JNRH12pK7#pZ z5HBaXTF80#Y3N+7koR|Bp>K@z(28#WEHE%7F2T53@wy)92r{rmd(nj>u^$&LEn*6O0G*12He@;U#Y~CLa70u^ zYrfIYOPLb24H>BDMb7W7AnZA$ov$8M(%KjfDbAcFk&h!w6~tveCcXzD?Vk@+w6=+l Hsf_8rM?~9D