Hi
I'm restarting to play with Squeak and I'm really familiar with the mailing-list so here is a list of questions I have:
**I would like to know if there is a way to propose new improvements for the smalltalk kernel.
For example: it could be really good to have an automatic initialization protocol like in Clos, to avoid to have to define everywhere this boring new ^ super new initialize
in CLOS the make-instance method is calling the initialize-instance for ALL the objects in the system. In Smalltalk, we would just have to redefine Behavior>>new to call Object>>initialize. We could let basicNew for emergency purpose.
**I tried several times to get automatic update from the server but I NEVER succeeded. Is there somethign wrong?
**The mailing list is quite buzy. Is there no plans to have a newgroup? I know that some of you think that Squeak is not ready for the mainstream people but this would help people that are interested to communicate more easily.
**Long time ago somebody said that I was starting to port the Refactoring Browser. Is this project still alive? I discussed with John Brant at OOPSLA and he told me that at the refactoring engine level he did not see problems.
**I tried Squeak 2.6 on Unix and I got a lot of error linked with the BallonEngine, while on the mac and PC I got no problem at all.
** The uiuc server is often pretty difficult to obtain. Yesterday for the first time I was able to play with the music (just because I never thought before that I could download another midi file). It could be fun to have a small set of midi file on the Squeak ftp site too.
Stephane DUCASSE (ducasse@iam.unibe.ch) http://www.iam.unibe.ch/~ducasse/ "if you knew today was your last day on earth, what would you do different? ... especially if, by doing something different, today might not be your last day on earth" Calvin&Hobbes
University of Bern, Institut fuer informatik and Mathematik IAM-SCG, 10 neubruckstrasse, CH-3012 Bern, Switzerland.
At 09:56 27.11.99 +0100, Stephane Ducasse wrote:
**I tried several times to get automatic update from the server but I NEVER succeeded. Is there somethign wrong?
Are you behind a firewall? Could be that HTTP requests should go through a proxy. Is your web browser configured to use one? Then you should duplicate your setting in Squeak by evaluating
HTTPSocket useProxyServerNamed: 'proxyAddress' port: proxyPortNumber
I recall this solved a similar problem here.
Also see http://minnow.cc.gatech.edu/squeak/23.
HTH, Helge
Stephane DUCASSE (ducasse@iam.unibe.ch) wrote:
**I tried Squeak 2.6 on Unix and I got a lot of error linked with the BallonEngine, while on the mac and PC I got no problem at all.
I have also been having a problem with 2.6 for Solaris.
I just downloaded Squeak2.6 to use on a UltraSparc 5, running Solaris 2.6 (hey, the numbers match :)
The VM version is given as:
sparc-sun-solaris2.5.1 2.6 #3 Mon Oct 18 19:26:56 MET DST 1999 gcc egcs-2.91.66 SunOS fricotin.inria.fr 5.5.1 Generic_103640-28 sun4u sparc
However, when I run squeak, a get walkbacks on a primitive failing,
primitive: 'gePrimitiveInitializeBuffer'
(this is a BalloonEngine primitive - morphic pretty much doesn't work)
Swapping the VM for a Squeak2.5 VM works, so something appears to have gone wrong since then.
Is this the behaviour you are seeing?
:) Russell
---------------------------------------- Russell Allen
russell.allen@firebirdmedia.com
----------------------------------------
Hi,
When pretty printing a method containing an instance variable in a block, ie
someMethod | a | a _ [| b | b _ self doSomething. b doSomethingElse].
The instance variable (ie b) is stripped:
someMethod | a | a _ [b _ self doSomething. b doSomethingElse]
which, of course, doesn't work ;)
Russell
---------------------------------------- Russell Allen
russell.allen@firebirdmedia.com
----------------------------------------
On Sun 28 Nov, Russell Allen wrote:
Hi,
When pretty printing a method containing an instance variable in a block, ie
someMethod | a | a _ [| b | b _ self doSomething. b doSomethingElse].
The instance variable (ie b) is stripped:
^^^^^^^^^^^^^^^^^block temporary!
someMethod | a | a _ [b _ self doSomething. b doSomethingElse]
It's the price of the litle hack that lets you write bocks with temps; there is more stuff to do to make disassembly and debugging work well. Far better to actually get around to proper Closures.
tim
Far better to actually get around to proper Closures.
Tim at: Tim mouth location put: Tim money
(:
-C
-- Craig Latta composer and computer scientist craig.latta@netjam.org www.netjam.org latta@interval.com Smalltalkers do: [:it | All with: Class, (And love: it)]
On Sun 28 Nov, Craig Latta wrote:
Far better to actually get around to proper Closures.
Tim at: Tim mouth location put: Tim money
Moi? But you've been plotting to do it for so long I can't find a machine that can still read the media upon which the old emails are archived!
tim
Tim at: Tim mouth location put: Tim money
Moi? But you've been plotting to do it for so long I can't find a machine that can still read the media upon which the old emails are archived!
Hey, your *current* machine belongs in a museum. :)
-C
-- Craig Latta composer and computer scientist craig.latta@netjam.org www.netjam.org latta@interval.com Smalltalkers do: [:it | All with: Class, (And love: it)]
On Sun 28 Nov, Craig Latta wrote:
Far better to actually get around to proper Closures.
Tim at: Tim mouth location put: Tim money
Tim Rowledge rowledge@interval.com replied:
Moi? But you've been plotting to do it for so long I can't find a machine that can still read the media upon which the old emails are archived!
Yes, and who put out the hack without support for decompilation anyway? ;-). Seriously it wouldn't be that hard to decompile.
- D
--747459867-1627431018-943951051=:12026 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: Pine.LNX.3.96.991130104748.12026D@balloon.cs.uni-magdeburg.de
On Mon, 29 Nov 1999, Russell Allen wrote:
Stephane DUCASSE (ducasse@iam.unibe.ch) wrote:
**I tried Squeak 2.6 on Unix and I got a lot of error linked with the BallonEngine, while on the mac and PC I got no problem at all.
Andreas used some non-ANSI cast operators in the Squeak3D plugin. I'll attach a fixed version. What Unix are you using?
I have also been having a problem with 2.6 for Solaris.
However, when I run squeak, a get walkbacks on a primitive failing,
primitive: 'gePrimitiveInitializeBuffer'
Ian's first version of the 2.6 VM did not load named primitives from the VM itself - but he fixed this hours after the first release. Try to get the sources and compile for yourself, and check for autoconfig warnings ...
-Bert-
--747459867-1627431018-943951051=:12026 Content-Type: TEXT/PLAIN; NAME="b3dRemap.c" Content-Transfer-Encoding: BASE64 Content-ID: Pine.LNX.3.96.991130093731.12026B@balloon.cs.uni-magdeburg.de Content-Description:
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogICBQUk9KRUNU OiBCYWxsb29uIDNEIEdyYXBoaWNzIFN1YnN5c3RlbSBmb3IgU3F1ZWFrDQoq ICAgRklMRTogICAgYjNkUmVtYXAuYw0KKiAgIENPTlRFTlQ6IFJlbWFwcGlu ZyBmdW5jdGlvbnMgZm9yIHRoZSBCM0QgcmFzdGVyaXplcg0KKg0KKiAgIEFV VEhPUjogIEFuZHJlYXMgUmFhYiAoYXIpDQoqICAgQUREUkVTUzogV2FsdCBE aXNuZXkgSW1hZ2luZWVyaW5nLCBHbGVuZGFsZSwgQ0ENCiogICBFTUFJTDog ICBhbmRyZWFzckB3ZGkuZGlzbmV5LmNvbQ0KKiAgIFJDU0lEOiAgICRJZCQN CioNCiogICBOT1RFUzoNCioNCioNCioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqLw0KI2luY2x1ZGUgImIzZC5oIg0KDQovKiBiM2RSZW1hcEZh Y2VzOg0KCVJlbWFwIGFsbCBhbGxvY2F0ZWQgZmFjZXMgdXNpbmcgdGhlIGdp dmVuIG9mZnNldHMNCiovDQovKiBJTkxJTkUgYjNkUmVtYXBGYWNlcyhsaXN0 LCBhdHRyT2Zmc2V0LCBlZGdlT2Zmc2V0KSAqLw0Kdm9pZCBiM2RSZW1hcEZh Y2VzKEIzREZhY2VBbGxvY0xpc3QgKmxpc3QsIGludCBhdHRyT2Zmc2V0LCBp bnQgZWRnZU9mZnNldCkNCnsNCglpbnQgaTsNCg0KCWZvcihpPTA7IGk8bGlz dC0+c2l6ZTtpKyspIHsNCgkJQjNEUHJpbWl0aXZlRmFjZSAqZmFjZSA9IGxp c3QtPmRhdGEgKyBpOw0KCQlpZihmYWNlLT5mbGFncyAmIEIzRF9BTExPQ19G TEFHKSB7DQoJCQlpZihmYWNlLT5hdHRyaWJ1dGVzKQ0KCQkJCSooY2hhcioq KSgmZmFjZS0+YXR0cmlidXRlcykgKz0gYXR0ck9mZnNldDsNCgkJCWlmKGZh Y2UtPmxlZnRFZGdlKQ0KCQkJCSooY2hhcioqKSgmZmFjZS0+bGVmdEVkZ2Up ICs9IGVkZ2VPZmZzZXQ7DQoJCQlpZihmYWNlLT5yaWdodEVkZ2UpDQoJCQkJ KihjaGFyKiopKCZmYWNlLT5yaWdodEVkZ2UpICs9IGVkZ2VPZmZzZXQ7DQoJ CX0NCgl9DQp9DQovKiAtLUlOTElORS0tICovDQoNCi8qIGIzZFJlbWFwRWRn ZXM6DQoJUmVtYXAgYWxsIGFsbG9jYXRlZCBlZGdlcyB1c2luZyB0aGUgZ2l2 ZW4gb2Zmc2V0DQoqLw0KLyogSU5MSU5FIGIzZFJlbWFwRWRnZXMobGlzdCwg ZmFjZU9mZnNldCkgKi8NCnZvaWQgYjNkUmVtYXBFZGdlcyhCM0RFZGdlQWxs b2NMaXN0ICpsaXN0LCBpbnQgZmFjZU9mZnNldCkNCnsNCglpbnQgaTsNCglm b3IoaT0wOyBpPGxpc3QtPnNpemU7aSsrKSB7DQoJCUIzRFByaW1pdGl2ZUVk Z2UgKmVkZ2UgPSBsaXN0LT5kYXRhICsgaTsNCgkJaWYoZWRnZS0+ZmxhZ3Mg JiBCM0RfQUxMT0NfRkxBRykgew0KCQkJaWYoZWRnZS0+bGVmdEZhY2UpDQoJ CQkJKihjaGFyKiopKCZlZGdlLT5sZWZ0RmFjZSkgKz0gZmFjZU9mZnNldDsN CgkJCWlmKGVkZ2UtPnJpZ2h0RmFjZSkNCgkJCQkqKGNoYXIqKikoJmVkZ2Ut PnJpZ2h0RmFjZSkgKz0gZmFjZU9mZnNldDsNCgkJfQ0KCX0NCn0NCi8qIC0t SU5MSU5FLS0gKi8NCg0KLyogYjNkUmVtYXBGaWxsczoNCglSZW1hcCB0aGUg ZmlsbCBsaXN0IHVzaW5nIHRoZSBnaXZlbiBvZmZzZXQNCiovDQovKiBJTkxJ TkUgYjNkUmVtYXBGaWxscyhmaWxsTGlzdCwgb2Zmc2V0KSAqLw0Kdm9pZCBi M2RSZW1hcEZpbGxzKEIzREZpbGxMaXN0ICpmaWxsTGlzdCwgaW50IG9mZnNl dCkNCnsNCglCM0RQcmltaXRpdmVGYWNlICp0ZW1wOw0KCWlmKGZpbGxMaXN0 LT5maXJzdEZhY2UpDQoJCSooY2hhcioqKSgmZmlsbExpc3QtPmZpcnN0RmFj ZSkgKz0gb2Zmc2V0Ow0KCWlmKGZpbGxMaXN0LT5sYXN0RmFjZSkNCgkJKihj aGFyKiopKCZmaWxsTGlzdC0+bGFzdEZhY2UpICArPSBvZmZzZXQ7DQoJdGVt cCA9IGZpbGxMaXN0LT5maXJzdEZhY2U7DQoJd2hpbGUodGVtcCkgew0KCQlp Zih0ZW1wLT5uZXh0RmFjZSkNCgkJCSooY2hhcioqKSgmdGVtcC0+bmV4dEZh Y2UpICs9IG9mZnNldDsNCgkJaWYodGVtcC0+cHJldkZhY2UpDQoJCQkqKGNo YXIqKikoJnRlbXAtPnByZXZGYWNlKSArPSBvZmZzZXQ7DQoJCXRlbXAgPSB0 ZW1wLT5uZXh0RmFjZTsNCgl9DQp9DQovKiAtLUlOTElORS0tICovDQoNCi8q IGIzZFJlbWFwRWRnZUxpc3Q6DQoJUmVtYXAgYWxsIGVkZ2UgcG9pbnRlcnMg dXNpbmcgdGhlIGdpdmVuIG9mZnNldA0KKi8NCi8qIElOTElORSBiM2RSZW1h cEVkZ2VMaXN0KGxpc3QsIGVkZ2VPZmZzZXQpICovDQp2b2lkIGIzZFJlbWFw RWRnZUxpc3QoQjNEUHJpbWl0aXZlRWRnZUxpc3QgKmxpc3QsIGludCBlZGdl T2Zmc2V0KQ0Kew0KCWludCBpOw0KCWZvcihpPTA7IGk8bGlzdC0+c2l6ZTtp KyspIHsNCgkJKihjaGFyKiopKCZsaXN0LT5kYXRhW2ldKSArPSBlZGdlT2Zm c2V0Ow0KCX0NCn0NCi8qIC0tSU5MSU5FLS0gKi8NCg0KLyogYjNkUmVtYXBB RVQ6DQoJUmVtYXAgYWxsIGVkZ2UgcG9pbnRlcnMgdXNpbmcgdGhlIGdpdmVu IG9mZnNldA0KKi8NCi8qIElOTElORSBiM2RSZW1hcEFFVChsaXN0LCBlZGdl T2Zmc2V0LCBhZXRPZmZzZXQsIGZpcnN0RWRnZSwgbGFzdEVkZ2UpICovDQp2 b2lkIGIzZFJlbWFwQUVUKEIzREFjdGl2ZUVkZ2VUYWJsZSAqbGlzdCwgaW50 IGVkZ2VPZmZzZXQsIGludCBhZXRPZmZzZXQsIHZvaWQgKmZpcnN0RWRnZSwg dm9pZCAqbGFzdEVkZ2UpDQp7DQoJaW50IGk7DQoJaWYoZWRnZU9mZnNldCkN CgkJZm9yKGk9MDsgaTxsaXN0LT5zaXplO2krKykNCgkJCSooY2hhcioqKSgm bGlzdC0+ZGF0YVtpXSkgKz0gZWRnZU9mZnNldDsNCg0KCWlmKCh2b2lkKils aXN0LT5sZWZ0RWRnZSA+PSBmaXJzdEVkZ2UgJiYgKHZvaWQqKWxpc3QtPmxl ZnRFZGdlIDwgbGFzdEVkZ2UpDQoJCSooY2hhcioqKSgmbGlzdC0+bGVmdEVk Z2UpICs9IGVkZ2VPZmZzZXQ7DQoJZWxzZSBpZihsaXN0LT5sZWZ0RWRnZSkN CgkJKihjaGFyKiopKCZsaXN0LT5sZWZ0RWRnZSkgKz0gYWV0T2Zmc2V0Ow0K DQoJaWYoKHZvaWQqKWxpc3QtPnJpZ2h0RWRnZSA+PSBmaXJzdEVkZ2UgJiYg KHZvaWQqKWxpc3QtPnJpZ2h0RWRnZSA8IGxhc3RFZGdlKQ0KCQkqKGNoYXIq KikoJmxpc3QtPnJpZ2h0RWRnZSkgKz0gZWRnZU9mZnNldDsNCgllbHNlIGlm KGxpc3QtPnJpZ2h0RWRnZSkNCgkJKihjaGFyKiopKCZsaXN0LT5yaWdodEVk Z2UpICs9IGFldE9mZnNldDsNCg0KCWlmKGFldE9mZnNldCkgew0KCQkqKGNo YXIqKikoJmxpc3QtPm5leHRJbnRlcnNlY3Rpb24pICs9IGFldE9mZnNldDsN CgkJKihjaGFyKiopKCZsaXN0LT5sYXN0SW50ZXJzZWN0aW9uKSArPSBhZXRP ZmZzZXQ7DQoJfQ0KfQ0KLyogLS1JTkxJTkUtLSAqLw0KDQovKiBiM2RSZW1h cEVkZ2VWZXJ0aWNlczoNCglSZW1hcCBhbGwgdmVydGljZXMgaW4gdGhlIHNw ZWNpZmllZCByYW5nZSB1c2luZyB0aGUgZ2l2ZW4gb2Zmc2V0DQoqLw0KLyog SU5MSU5FIGIzZFJlbWFwRWRnZVZlcnRpY2VzKGxpc3QsIHZ0eE9mZnNldCwg Zmlyc3RWdHgsIGxhc3RWdHgpICovDQp2b2lkIGIzZFJlbWFwRWRnZVZlcnRp Y2VzKEIzREVkZ2VBbGxvY0xpc3QgKmxpc3QsIGludCB2dHhPZmZzZXQsIHZv aWQgKmZpcnN0VnR4LCB2b2lkICpsYXN0VnR4KQ0Kew0KCWludCBpOw0KCWZv cihpPTA7IGk8bGlzdC0+c2l6ZTsgaSsrKSB7DQoJCUIzRFByaW1pdGl2ZUVk Z2UgKmVkZ2UgPSBsaXN0LT5kYXRhICsgaTsNCgkJaWYoKGVkZ2UtPmZsYWdz ICYgQjNEX0FMTE9DX0ZMQUcpICYmICgodm9pZCopZWRnZS0+djAgPj0gKHZv aWQqKWZpcnN0VnR4KSAmJiAoKHZvaWQqKWVkZ2UtPnYwIDwgKHZvaWQqKWxh c3RWdHgpKSB7DQoJCQkqKGNoYXIqKikoJmVkZ2UtPnYwKSArPSB2dHhPZmZz ZXQ7DQoJCQkqKGNoYXIqKikoJmVkZ2UtPnYxKSArPSB2dHhPZmZzZXQ7DQoJ CX0NCgl9DQp9DQovKiAtLUlOTElORS0tICovDQoNCi8qIGIzZFJlbWFwRmFj ZVZlcnRpY2VzOg0KCVJlbWFwIGFsbCB2ZXJ0aWNlcyBpbiB0aGUgc3BlY2lm aWVkIHJhbmdlIHVzaW5nIHRoZSBnaXZlbiBvZmZzZXQNCiovDQovKiBJTkxJ TkUgYjNkUmVtYXBGYWNlVmVydGljZXMobGlzdCwgdnR4T2Zmc2V0LCBmaXJz dFZ0eCwgbGFzdFZ0eCkgKi8NCnZvaWQgYjNkUmVtYXBGYWNlVmVydGljZXMo QjNERmFjZUFsbG9jTGlzdCAqbGlzdCwgaW50IHZ0eE9mZnNldCwgdm9pZCAq Zmlyc3RWdHgsIHZvaWQgKmxhc3RWdHgpDQp7DQoJaW50IGk7DQoJZm9yKGk9 MDsgaTxsaXN0LT5zaXplOyBpKyspIHsNCgkJQjNEUHJpbWl0aXZlRmFjZSAq ZmFjZSA9IGxpc3QtPmRhdGEgKyBpOw0KCQlpZigoZmFjZS0+ZmxhZ3MgJiBC M0RfQUxMT0NfRkxBRykgJiYgKCh2b2lkKilmYWNlLT52MCA+PSAodm9pZCop Zmlyc3RWdHgpICYmICgodm9pZCopZmFjZS0+djAgPCAodm9pZCopbGFzdFZ0 eCkpIHsNCgkJCSooY2hhcioqKSgmZmFjZS0+djApICs9IHZ0eE9mZnNldDsN CgkJCSooY2hhcioqKSgmZmFjZS0+djEpICs9IHZ0eE9mZnNldDsNCgkJCSoo Y2hhcioqKSgmZmFjZS0+djIpICs9IHZ0eE9mZnNldDsNCgkJfQ0KCX0NCn0N Ci8qIC0tSU5MSU5FLS0gKi8NCg0KLyogYjNkUmVtYXBGYWNlRnJlZToNCglS ZW1hcCBhbGwgZnJlZSBmYWNlcyB1c2luZyB0aGUgZ2l2ZW4gb2Zmc2V0DQoq Lw0KLyogSU5MSU5FIGIzZFJlbWFwRmFjZUZyZWUobGlzdCwgZmFjZU9mZnNl dCkgKi8NCnZvaWQgYjNkUmVtYXBGYWNlRnJlZShCM0RGYWNlQWxsb2NMaXN0 ICpsaXN0LCBpbnQgZmFjZU9mZnNldCkNCnsNCglCM0RQcmltaXRpdmVGYWNl ICpmcmVlT2JqOw0KCWlmKGxpc3QtPmZpcnN0RnJlZSkgew0KCQkqKGNoYXIq KikoJmxpc3QtPmZpcnN0RnJlZSkgKz0gZmFjZU9mZnNldDsNCgkJZnJlZU9i aiA9IGxpc3QtPmZpcnN0RnJlZTsNCgkJd2hpbGUoZnJlZU9iai0+bmV4dEZy ZWUpIHsNCgkJCSooY2hhcioqKSgmZnJlZU9iai0+bmV4dEZyZWUpICs9IGZh Y2VPZmZzZXQ7DQoJCQlmcmVlT2JqID0gZnJlZU9iai0+bmV4dEZyZWU7DQoJ CX0NCgl9DQp9DQovKiAtLUlOTElORS0tICovDQoNCi8qIGIzZFJlbWFwRWRn ZUZyZWU6DQoJUmVtYXAgYWxsIGZyZWUgZWRnZXMgdXNpbmcgdGhlIGdpdmVu IG9mZnNldA0KKi8NCi8qIElOTElORSBiM2RSZW1hcEVkZ2VGcmVlKGxpc3Qs IGVkZ2VPZmZzZXQpICovDQp2b2lkIGIzZFJlbWFwRWRnZUZyZWUoQjNERWRn ZUFsbG9jTGlzdCAqbGlzdCwgaW50IGVkZ2VPZmZzZXQpDQp7DQoJQjNEUHJp bWl0aXZlRWRnZSAqZnJlZU9iajsNCglpZihsaXN0LT5maXJzdEZyZWUpIHsN CgkJKihjaGFyKiopKCZsaXN0LT5maXJzdEZyZWUpICs9IGVkZ2VPZmZzZXQ7 DQoJCWZyZWVPYmogPSBsaXN0LT5maXJzdEZyZWU7DQoJCXdoaWxlKGZyZWVP YmotPm5leHRGcmVlKSB7DQoJCQkqKGNoYXIqKikoJmZyZWVPYmotPm5leHRG cmVlKSArPSBlZGdlT2Zmc2V0Ow0KCQkJZnJlZU9iaiA9IGZyZWVPYmotPm5l eHRGcmVlOw0KCQl9DQoJfQ0KfQ0KLyogLS1JTkxJTkUtLSAqLw0KDQovKiBi M2RSZW1hcEF0dHJGcmVlOg0KCVJlbWFwIGFsbCBmcmVlIGF0dHJpYnV0ZXMg dXNpbmcgdGhlIGdpdmVuIG9mZnNldA0KKi8NCi8qIElOTElORSBiM2RSZW1h cEF0dHJGcmVlKGxpc3QsIGF0dHJPZmZzZXQpICovDQp2b2lkIGIzZFJlbWFw QXR0cmlidXRlcyhCM0RBdHRyQWxsb2NMaXN0ICpsaXN0LCBpbnQgYXR0ck9m ZnNldCkNCnsNCglpbnQgaTsNCglmb3IoaT0wOyBpIDwgbGlzdC0+c2l6ZTsg aSsrKSB7DQoJCUIzRFByaW1pdGl2ZUF0dHJpYnV0ZSAqYXR0ciA9IGxpc3Qt PmRhdGEgKyBpOw0KCQlpZihhdHRyLT5uZXh0KQ0KCQkJKihjaGFyKiopKCZh dHRyLT5uZXh0KSArPSBhdHRyT2Zmc2V0Ow0KCX0NCn0NCi8qIC0tSU5MSU5F LS0gKi8NCg0KLyogYjNkVmFsaWRhdGVBbmRSZW1hcFN0YXRlOg0KCVZhbGlk YXRlIHRoZSByYXN0ZXJpemVyIHN0YXRlIGFuZCByZW1hcCB0aGUgb2JqZWN0 cyBpZiBuZWNlc3NhcnkuDQoqLw0KaW50IGIzZFZhbGlkYXRlQW5kUmVtYXBT dGF0ZShCM0RSYXN0ZXJpemVyU3RhdGUgKnN0YXRlKQ0Kew0KCWludCBmYWNl T2Zmc2V0LCBlZGdlT2Zmc2V0LCBhdHRyT2Zmc2V0LCBhZXRPZmZzZXQsIG9i ak9mZnNldCwgaTsNCglCM0RQcmltaXRpdmVPYmplY3QgKm9iajsNCg0KCWlm KCFzdGF0ZSkgcmV0dXJuIEIzRF9HRU5FUklDX0VSUk9SOw0KDQoJLyogQ2hl Y2sgdGhlIG1hZ2ljIG51bWJlcnMgKi8NCglpZihzdGF0ZS0+ZmFjZUFsbG9j LT5tYWdpYyAgIT0gQjNEX0ZBQ0VfQUxMT0NfTUFHSUMpIHJldHVybiBCM0Rf TUFHSUNfRVJST1I7DQoJaWYoc3RhdGUtPmVkZ2VBbGxvYy0+bWFnaWMgICE9 IEIzRF9FREdFX0FMTE9DX01BR0lDKSByZXR1cm4gQjNEX01BR0lDX0VSUk9S Ow0KCWlmKHN0YXRlLT5hdHRyQWxsb2MtPm1hZ2ljICAhPSBCM0RfQVRUUl9B TExPQ19NQUdJQykgcmV0dXJuIEIzRF9NQUdJQ19FUlJPUjsNCglpZihzdGF0 ZS0+YWV0LT5tYWdpYyAgICAgICAgIT0gQjNEX0FFVF9NQUdJQykgcmV0dXJu IEIzRF9NQUdJQ19FUlJPUjsNCglpZihzdGF0ZS0+YWRkZWRFZGdlcy0+bWFn aWMgIT0gQjNEX0VER0VfTElTVF9NQUdJQykgcmV0dXJuIEIzRF9NQUdJQ19F UlJPUjsNCglpZihzdGF0ZS0+ZmlsbExpc3QtPm1hZ2ljICAgIT0gQjNEX0ZJ TExfTElTVF9NQUdJQykgcmV0dXJuIEIzRF9NQUdJQ19FUlJPUjsNCg0KCS8q IENoZWNrIGlmIHdlIG5lZWQgdG8gcmVsb2NhdGUgb2JqZWN0cyAqLw0KCWZh Y2VPZmZzZXQgPSAoaW50KXN0YXRlLT5mYWNlQWxsb2MgLSAoaW50KXN0YXRl LT5mYWNlQWxsb2MtPlRoaXM7DQoJZWRnZU9mZnNldCA9IChpbnQpc3RhdGUt PmVkZ2VBbGxvYyAtIChpbnQpc3RhdGUtPmVkZ2VBbGxvYy0+VGhpczsNCglh dHRyT2Zmc2V0ID0gKGludClzdGF0ZS0+YXR0ckFsbG9jIC0gKGludClzdGF0 ZS0+YXR0ckFsbG9jLT5UaGlzOw0KCWFldE9mZnNldCA9IChpbnQpc3RhdGUt PmFldCAtIChpbnQpc3RhdGUtPmFldC0+VGhpczsNCg0KCS8qIHJlbWFwIGZh Y2VzICovDQoJaWYoYXR0ck9mZnNldCB8fCBlZGdlT2Zmc2V0KQ0KCQliM2RS ZW1hcEZhY2VzKHN0YXRlLT5mYWNlQWxsb2MsIGF0dHJPZmZzZXQsIGVkZ2VP ZmZzZXQpOw0KDQoJLyogcmVtYXAgZmlsbHMgYW5kIGVkZ2VzICovDQoJaWYo ZmFjZU9mZnNldCkgew0KCQliM2RSZW1hcEZpbGxzKHN0YXRlLT5maWxsTGlz dCwgZmFjZU9mZnNldCk7DQoJCWIzZFJlbWFwRWRnZXMoc3RhdGUtPmVkZ2VB bGxvYywgZmFjZU9mZnNldCk7DQoJCWIzZFJlbWFwRmFjZUZyZWUoc3RhdGUt PmZhY2VBbGxvYywgZmFjZU9mZnNldCk7DQoJfQ0KDQoJLyogUmVtYXAgQUVU ICovDQoJaWYoZWRnZU9mZnNldCB8fCBhZXRPZmZzZXQpIHsNCgkJdm9pZCAq Zmlyc3RFZGdlID0gc3RhdGUtPmVkZ2VBbGxvYy0+ZGF0YTsNCgkJdm9pZCAq bGFzdEVkZ2UgPSBzdGF0ZS0+ZWRnZUFsbG9jLT5kYXRhICsgc3RhdGUtPmVk Z2VBbGxvYy0+c2l6ZTsNCgkJYjNkUmVtYXBBRVQoc3RhdGUtPmFldCwgZWRn ZU9mZnNldCwgYWV0T2Zmc2V0LCBmaXJzdEVkZ2UsIGxhc3RFZGdlKTsNCgl9 DQoNCgkvKiBSZW1hcCBhZGRlZEVkZ2VzIGFuZCBlZGdlIGZyZWUgbGlzdCov DQoJaWYoZWRnZU9mZnNldCkgew0KCQliM2RSZW1hcEVkZ2VMaXN0KHN0YXRl LT5hZGRlZEVkZ2VzLCBlZGdlT2Zmc2V0KTsNCgkJYjNkUmVtYXBFZGdlRnJl ZShzdGF0ZS0+ZWRnZUFsbG9jLCBlZGdlT2Zmc2V0KTsNCgl9DQoNCglpZihh dHRyT2Zmc2V0KQ0KCQliM2RSZW1hcEF0dHJpYnV0ZXMoc3RhdGUtPmF0dHJB bGxvYywgYXR0ck9mZnNldCk7DQoNCglzdGF0ZS0+ZmFjZUFsbG9jLT5UaGlz ID0gKHZvaWQqKSBzdGF0ZS0+ZmFjZUFsbG9jOw0KCXN0YXRlLT5lZGdlQWxs b2MtPlRoaXMgPSAodm9pZCopIHN0YXRlLT5lZGdlQWxsb2M7DQoJc3RhdGUt PmF0dHJBbGxvYy0+VGhpcyA9ICh2b2lkKikgc3RhdGUtPmF0dHJBbGxvYzsN CglzdGF0ZS0+YWV0LT5UaGlzID0gKHZvaWQqKSBzdGF0ZS0+YWV0Ow0KDQoJ LyogUmVtYXAgYW55IHZlcnRleCBwb2ludGVycyAqLw0KCWZvcihpPTA7IGk8 c3RhdGUtPm5PYmplY3RzOyBpKyspIHsNCgkJb2JqID0gc3RhdGUtPm9iamVj dHNbaV07DQoJCWlmKG9iai0+bWFnaWMgIT0gQjNEX1BSSU1JVElWRV9PQkpF Q1RfTUFHSUMpIHJldHVybiBCM0RfTUFHSUNfRVJST1I7DQoJCW9iak9mZnNl dCA9IChpbnQpb2JqIC0gKGludClvYmotPlRoaXM7DQoJCWlmKG9iak9mZnNl dCkgew0KCQkJaWYoKG9iai0+ZmxhZ3MgJiBCM0RfT0JKRUNUX0FDVElWRSkp IHsNCgkJCQlCM0RQcmltaXRpdmVWZXJ0ZXggKmZpcnN0VnR4ID0gb2JqLT52 ZXJ0aWNlczsNCgkJCQlCM0RQcmltaXRpdmVWZXJ0ZXggKmxhc3RWdHggPSBv YmotPnZlcnRpY2VzICsgb2JqLT5uVmVydGljZXM7DQoJCQkJYjNkUmVtYXBG YWNlVmVydGljZXMoc3RhdGUtPmZhY2VBbGxvYywgb2JqT2Zmc2V0LCBmaXJz dFZ0eCwgbGFzdFZ0eCk7DQoJCQkJYjNkUmVtYXBFZGdlVmVydGljZXMoc3Rh dGUtPmVkZ2VBbGxvYywgb2JqT2Zmc2V0LCBmaXJzdFZ0eCwgbGFzdFZ0eCk7 DQoJCQl9DQoJCQlvYmotPnZlcnRpY2VzID0gKEIzRFByaW1pdGl2ZVZlcnRl eCopIChvYmogKyAxKTsNCgkJCW9iai0+ZmFjZXMgPSAoQjNESW5wdXRGYWNl KikgKG9iai0+dmVydGljZXMgKyBvYmotPm5WZXJ0aWNlcyk7DQoJCX0NCgkJ b2JqLT5UaGlzID0gKHZvaWQqKSBvYmo7DQoJfQ0KDQoJcmV0dXJuIEIzRF9O T19FUlJPUjsNCn0NCg== --747459867-1627431018-943951051=:12026--
squeak-dev@lists.squeakfoundation.org