Date: Mon, 7 Jul 2008 03:50:04 GMT From: pfgshield-freebsd@yahoo.com To: freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/125348: lang/nawk: support multibyte charsets in tolower/toupper functions Message-ID: <200807070350.m673o47B062891@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/125348; it has been noted by GNATS. From: pfgshield-freebsd@yahoo.com To: FreeBSD-gnats-submit@FreeBSD.org Cc: Subject: Re: ports/125348: lang/nawk: support multibyte charsets in tolower/toupper functions Date: Sun, 6 Jul 2008 20:47:54 -0700 (PDT) --0-1148307283-1215402474=:41185 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable I have an additional patch from OpenBSD which extends awk with bitwise oper= ations (based on gawk) -- attached. I am not sure if we want to diverge from the historic nawk so I'll try to c= ontact the author.=20 I should also mention that recent versions of nawk don't pass the mawk fpe_= test, which must be investigated too :( . =0A=0A=0A Posta, news, sport, oroscopo: tutto in una sola pagina. =0AC= rea l'home page che piace a te!=0Awww.yahoo.it/latuapagina --0-1148307283-1215402474=:41185 Content-Type: application/octet-stream; name=patch-nawk Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=patch-nawk ZGlmZiAtcnVOIG5hd2sub3JpZy9maWxlcy9wYXRjaC1hd2suaCBuYXdrL2Zp bGVzL3BhdGNoLWF3ay5oCi0tLSBuYXdrLm9yaWcvZmlsZXMvcGF0Y2gtYXdr LmgJMTk2OS0xMi0zMSAxOTowMDowMC4wMDAwMDAwMDAgLTA1MDAKKysrIG5h d2svZmlsZXMvcGF0Y2gtYXdrLmgJMjAwOC0wNy0wNiAyMjoxMjo1Ny4wMDAw MDAwMDAgLTA1MDAKQEAgLTAsMCArMSwxNSBAQAorLS0tIGF3ay5oLm9yaWcJ MjAwNC8xMi8zMCAwMTo1Mjo0OAkxLjExCisrKysgYXdrLmgJMjAwOC8wNi8w NCAxNDowNDo0MgkxLjEyCitAQCAtMTI3LDYgKzEyNywxMiBAQAorICNkZWZp bmUJRlRPVVBQRVIgMTIKKyAjZGVmaW5lCUZUT0xPV0VSIDEzCisgI2RlZmlu ZQlGRkxVU0gJMTQKKysjZGVmaW5lIEZBTkQJMTUKKysjZGVmaW5lIEZGT1IJ MTYKKysjZGVmaW5lIEZYT1IJMTcKKysjZGVmaW5lIEZDT01QTAkxOAorKyNk ZWZpbmUgRkxTSElGVAkxOQorKyNkZWZpbmUgRlJTSElGVAkyMAorIAorIC8q IE5vZGU6ICBwYXJzZSB0cmVlIGlzIG1hZGUgb2Ygbm9kZXMsIHdpdGggQ2Vs bCdzIGF0IGJvdHRvbSAqLworIApkaWZmIC1ydU4gbmF3ay5vcmlnL2ZpbGVz L3BhdGNoLWIuYyBuYXdrL2ZpbGVzL3BhdGNoLWIuYwotLS0gbmF3ay5vcmln L2ZpbGVzL3BhdGNoLWIuYwkxOTY5LTEyLTMxIDE5OjAwOjAwLjAwMDAwMDAw MCAtMDUwMAorKysgbmF3ay9maWxlcy9wYXRjaC1iLmMJMjAwOC0wNy0wNiAy MjoxMzoyNC4wMDAwMDAwMDAgLTA1MDAKQEAgLTAsMCArMSw2NyBAQAorLS0t IGIuYy5vcmlnCTIwMDQvMTIvMzAgMDE6NTI6NDgJMS4xMgorKysrIGIuYwky MDA3LzA5LzAyIDE1OjE5OjMxCTEuMTQKK0BAIC04NCw4ICs4NCw4IEBACisg CisgCWlmIChzZXR2ZWMgPT0gMCkgewkvKiBmaXJzdCB0aW1lIHRocm91Z2gg YW55IFJFICovCisgCQltYXhzZXR2ZWMgPSBNQVhMSU47CistCQlzZXR2ZWMg PSAoaW50ICopIG1hbGxvYyhtYXhzZXR2ZWMgKiBzaXplb2YoaW50KSk7Cist CQl0bXBzZXQgPSAoaW50ICopIG1hbGxvYyhtYXhzZXR2ZWMgKiBzaXplb2Yo aW50KSk7CisrCQlzZXR2ZWMgPSAoaW50ICopIGNhbGxvYyhtYXhzZXR2ZWMs IHNpemVvZihpbnQpKTsKKysJCXRtcHNldCA9IChpbnQgKikgY2FsbG9jKG1h eHNldHZlYywgc2l6ZW9mKGludCkpOworIAkJaWYgKHNldHZlYyA9PSAwIHx8 IHRtcHNldCA9PSAwKQorIAkJCW92ZXJmbG8oIm91dCBvZiBzcGFjZSBpbml0 aWFsaXppbmcgbWFrZWRmYSIpOworIAl9CitAQCAtMTM3LDcgKzEzNyw3IEBA CisgCWYtPmFjY2VwdCA9IHBvc2NudC0xOwkvKiBwZW50ZXIgaGFzIGNvbXB1 dGVkIG51bWJlciBvZiBwb3NpdGlvbnMgaW4gcmUgKi8KKyAJY2ZvbGwoZiwg cDEpOwkvKiBzZXQgdXAgZm9sbG93IHNldHMgKi8KKyAJZnJlZXRyKHAxKTsK Ky0JaWYgKChmLT5wb3Nuc1swXSA9IChpbnQgKikgY2FsbG9jKDEsICooZi0+ cmVbMF0ubGZvbGxvdykqc2l6ZW9mKGludCkpKSA9PSBOVUxMKQorKwlpZiAo KGYtPnBvc25zWzBdID0gKGludCAqKSBjYWxsb2MoKihmLT5yZVswXS5sZm9s bG93KSwgc2l6ZW9mKGludCkpKSA9PSBOVUxMKQorIAkJCW92ZXJmbG8oIm91 dCBvZiBzcGFjZSBpbiBtYWtlZGZhIik7CisgCWlmICgoZi0+cG9zbnNbMV0g PSAoaW50ICopIGNhbGxvYygxLCBzaXplb2YoaW50KSkpID09IE5VTEwpCisg CQlvdmVyZmxvKCJvdXQgb2Ygc3BhY2UgaW4gbWFrZWRmYSIpOworQEAgLTE1 Nyw3ICsxNTcsNyBAQAorIAlmLT5yZXNldCA9IDA7CisgCWsgPSAqKGYtPnJl WzBdLmxmb2xsb3cpOworIAl4ZnJlZShmLT5wb3Nuc1syXSk7CQkJCistCWlm ICgoZi0+cG9zbnNbMl0gPSAoaW50ICopIGNhbGxvYygxLCAoaysxKSpzaXpl b2YoaW50KSkpID09IE5VTEwpCisrCWlmICgoZi0+cG9zbnNbMl0gPSAoaW50 ICopIGNhbGxvYyhrKzEsIHNpemVvZihpbnQpKSkgPT0gTlVMTCkKKyAJCW92 ZXJmbG8oIm91dCBvZiBzcGFjZSBpbiBtYWtlaW5pdCIpOworIAlmb3IgKGk9 MDsgaSA8PSBrOyBpKyspIHsKKyAJCShmLT5wb3Nuc1syXSlbaV0gPSAoZi0+ cmVbMF0ubGZvbGxvdylbaV07CitAQCAtMzU0LDcgKzM1NCw3IEBACisgCQkJ c2V0dmVjW2ldID0gMDsKKyAJCXNldGNudCA9IDA7CisgCQlmb2xsb3codik7 CS8qIGNvbXB1dGVzIHNldHZlYyBhbmQgc2V0Y250ICovCistCQlpZiAoKHAg PSAoaW50ICopIGNhbGxvYygxLCAoc2V0Y250KzEpKnNpemVvZihpbnQpKSkg PT0gTlVMTCkKKysJCWlmICgocCA9IChpbnQgKikgY2FsbG9jKHNldGNudCsx LCBzaXplb2YoaW50KSkpID09IE5VTEwpCisgCQkJb3ZlcmZsbygib3V0IG9m IHNwYWNlIGJ1aWxkaW5nIGZvbGxvdyBzZXQiKTsKKyAJCWYtPnJlW2luZm8o dildLmxmb2xsb3cgPSBwOworIAkJKnAgPSBzZXRjbnQ7CitAQCAtNTIzLDcg KzUyMyw3IEBACisgCQkJZm9yIChpID0gMjsgaSA8PSBmLT5jdXJzdGF0OyBp KyspCisgCQkJCXhmcmVlKGYtPnBvc25zW2ldKTsKKyAJCQlrID0gKmYtPnBv c25zWzBdOwkJCQorLQkJCWlmICgoZi0+cG9zbnNbMl0gPSAoaW50ICopIGNh bGxvYygxLCAoaysxKSpzaXplb2YoaW50KSkpID09IE5VTEwpCisrCQkJaWYg KChmLT5wb3Nuc1syXSA9IChpbnQgKikgY2FsbG9jKGsrMSwgc2l6ZW9mKGlu dCkpKSA9PSBOVUxMKQorIAkJCQlvdmVyZmxvKCJvdXQgb2Ygc3BhY2UgaW4g cG1hdGNoIik7CisgCQkJZm9yIChpID0gMDsgaSA8PSBrOyBpKyspCisgCQkJ CShmLT5wb3Nuc1syXSlbaV0gPSAoZi0+cG9zbnNbMF0pW2ldOworQEAgLTU4 MCw3ICs1ODAsNyBAQAorIAkJCWZvciAoaSA9IDI7IGkgPD0gZi0+Y3Vyc3Rh dDsgaSsrKQorIAkJCQl4ZnJlZShmLT5wb3Nuc1tpXSk7CisgCQkJayA9ICpm LT5wb3Nuc1swXTsJCQkKKy0JCQlpZiAoKGYtPnBvc25zWzJdID0gKGludCAq KSBjYWxsb2MoMSwgKGsrMSkqc2l6ZW9mKGludCkpKSA9PSBOVUxMKQorKwkJ CWlmICgoZi0+cG9zbnNbMl0gPSAoaW50ICopIGNhbGxvYyhrKzEsIHNpemVv ZihpbnQpKSkgPT0gTlVMTCkKKyAJCQkJb3ZlcmZsbygib3V0IG9mIHN0YXRl IHNwYWNlIik7CisgCQkJZm9yIChpID0gMDsgaSA8PSBrOyBpKyspCisgCQkJ CShmLT5wb3Nuc1syXSlbaV0gPSAoZi0+cG9zbnNbMF0pW2ldOworQEAgLTkw Nyw3ICs5MDcsNyBAQAorIAlmb3IgKGkgPSAwOyBpIDwgTkNIQVJTOyBpKysp CisgCQlmLT5nb3RvdGFiW2YtPmN1cnN0YXRdW2ldID0gMDsKKyAJeGZyZWUo Zi0+cG9zbnNbZi0+Y3Vyc3RhdF0pOworLQlpZiAoKHAgPSAoaW50ICopIGNh bGxvYygxLCAoc2V0Y250KzEpKnNpemVvZihpbnQpKSkgPT0gTlVMTCkKKysJ aWYgKChwID0gKGludCAqKSBjYWxsb2Moc2V0Y250KzEsIHNpemVvZihpbnQp KSkgPT0gTlVMTCkKKyAJCW92ZXJmbG8oIm91dCBvZiBzcGFjZSBpbiBjZ290 byIpOworIAorIAlmLT5wb3Nuc1tmLT5jdXJzdGF0XSA9IHA7CmRpZmYgLXJ1 TiBuYXdrLm9yaWcvZmlsZXMvcGF0Y2gtbGV4LmMgbmF3ay9maWxlcy9wYXRj aC1sZXguYwotLS0gbmF3ay5vcmlnL2ZpbGVzL3BhdGNoLWxleC5jCTE5Njkt MTItMzEgMTk6MDA6MDAuMDAwMDAwMDAwIC0wNTAwCisrKyBuYXdrL2ZpbGVz L3BhdGNoLWxleC5jCTIwMDgtMDctMDYgMjI6MTQ6MDQuMDAwMDAwMDAwIC0w NTAwCkBAIC0wLDAgKzEsMzkgQEAKKy0tLSBsZXguYy5vcmlnCTIwMDYvMDQv MTYgMDI6MTA6MTgJMS45CisrKysgbGV4LmMJMjAwOC8wNi8wNCAxNDowNDo0 MgkxLjEwCitAQCAtNDgsOSArNDgsMTEgQEAKKyAJeyAiQkVHSU4iLAlYQkVH SU4sCQlYQkVHSU4gfSwKKyAJeyAiRU5EIiwJWEVORCwJCVhFTkQgfSwKKyAJ eyAiTkYiLAkJVkFSTkYsCQlWQVJORiB9LAorKwl7ICJhbmQiLAlGQU5ELAkJ QkxUSU4gfSwKKyAJeyAiYXRhbjIiLAlGQVRBTiwJCUJMVElOIH0sCisgCXsg ImJyZWFrIiwJQlJFQUssCQlCUkVBSyB9LAorIAl7ICJjbG9zZSIsCUNMT1NF LAkJQ0xPU0UgfSwKKysJeyAiY29tcGwiLAlGQ09NUEwsCQlCTFRJTiB9LAor IAl7ICJjb250aW51ZSIsCUNPTlRJTlVFLAlDT05USU5VRSB9LAorIAl7ICJj b3MiLAlGQ09TLAkJQkxUSU4gfSwKKyAJeyAiZGVsZXRlIiwJREVMRVRFLAkJ REVMRVRFIH0sCitAQCAtNzAsMTMgKzcyLDE2IEBACisgCXsgImludCIsCUZJ TlQsCQlCTFRJTiB9LAorIAl7ICJsZW5ndGgiLAlGTEVOR1RILAlCTFRJTiB9 LAorIAl7ICJsb2ciLAlGTE9HLAkJQkxUSU4gfSwKKysJeyAibHNoaWZ0IiwJ RkxTSElGVCwJQkxUSU4gfSwKKyAJeyAibWF0Y2giLAlNQVRDSEZDTiwJTUFU Q0hGQ04gfSwKKyAJeyAibmV4dCIsCU5FWFQsCQlORVhUIH0sCisgCXsgIm5l eHRmaWxlIiwJTkVYVEZJTEUsCU5FWFRGSUxFIH0sCisrCXsgIm9yIiwJCUZG T1IsCQlCTFRJTiB9LAorIAl7ICJwcmludCIsCVBSSU5ULAkJUFJJTlQgfSwK KyAJeyAicHJpbnRmIiwJUFJJTlRGLAkJUFJJTlRGIH0sCisgCXsgInJhbmQi LAlGUkFORCwJCUJMVElOIH0sCisgCXsgInJldHVybiIsCVJFVFVSTiwJCVJF VFVSTiB9LAorKwl7ICJyc2hpZnQiLAlGUlNISUZULAlCTFRJTiB9LAorIAl7 ICJzaW4iLAlGU0lOLAkJQkxUSU4gfSwKKyAJeyAic3BsaXQiLAlTUExJVCwJ CVNQTElUIH0sCisgCXsgInNwcmludGYiLAlTUFJJTlRGLAlTUFJJTlRGIH0s CitAQCAtODgsNiArOTMsNyBAQAorIAl7ICJ0b2xvd2VyIiwJRlRPTE9XRVIs CUJMVElOIH0sCisgCXsgInRvdXBwZXIiLAlGVE9VUFBFUiwJQkxUSU4gfSwK KyAJeyAid2hpbGUiLAlXSElMRSwJCVdISUxFIH0sCisrCXsgInhvciIsCUZY T1IsCQlCTFRJTiB9LAorIH07CisgCisgI2RlZmluZSBERUJVRwpkaWZmIC1y dU4gbmF3ay5vcmlnL2ZpbGVzL3BhdGNoLXByb3RvLmggbmF3ay9maWxlcy9w YXRjaC1wcm90by5oCi0tLSBuYXdrLm9yaWcvZmlsZXMvcGF0Y2gtcHJvdG8u aAkxOTY5LTEyLTMxIDE5OjAwOjAwLjAwMDAwMDAwMCAtMDUwMAorKysgbmF3 ay9maWxlcy9wYXRjaC1wcm90by5oCTIwMDgtMDctMDYgMTU6MzY6MTUuMDAw MDAwMDAwIC0wNTAwCkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBwcm90by5oLm9y aWcJMjAwMy8xMC8yNiAxMTozNDoyMwkxLjUKKysrKyBwcm90by5oCTIwMDcv MTEvMDYgMjM6MDc6NTIJMS41LjIyLjEKK0BAIC0xMTIsNiArMTEyLDcgQEAg ZXh0ZXJuCWRvdWJsZQlnZXRmdmFsKENlbGwgKik7CisgZXh0ZXJuCWNoYXIJ KmdldHN2YWwoQ2VsbCAqKTsKKyBleHRlcm4JY2hhcgkqZ2V0cHNzdmFsKENl bGwgKik7ICAgICAvKiBmb3IgcHJpbnQgKi8KKyBleHRlcm4JY2hhcgkqdG9z dHJpbmcoY29uc3QgY2hhciAqKTsKKytleHRlcm4JY2hhcgkqdG9zdHJpbmdO KGNvbnN0IGNoYXIgKiwgc2l6ZV90IG4pOworIGV4dGVybgljaGFyCSpxc3Ry aW5nKGNvbnN0IGNoYXIgKiwgaW50KTsKKyAKKyBleHRlcm4Jdm9pZAlyZWNp bml0KHVuc2lnbmVkIGludCk7CmRpZmYgLXJ1TiBuYXdrLm9yaWcvZmlsZXMv cGF0Y2gtcnVuLmMgbmF3ay9maWxlcy9wYXRjaC1ydW4uYwotLS0gbmF3ay5v cmlnL2ZpbGVzL3BhdGNoLXJ1bi5jCTIwMDgtMDctMDYgMTU6MTI6MzEuMDAw MDAwMDAwIC0wNTAwCisrKyBuYXdrL2ZpbGVzL3BhdGNoLXJ1bi5jCTIwMDgt MDctMDYgMjI6MTQ6MjkuMDAwMDAwMDAwIC0wNTAwCkBAIC0xLDYgKzEsNjkg QEAKLS0tLSBydW4uYy5vcmlnCU1vbiBEZWMgIDYgMDY6NDQ6NDIgMjAwNAot KysrIHJ1bi5jCVNhdCBGZWIgMjYgMTg6MDE6NDYgMjAwNQotQEAgLTE1MDcs MTUgKzE1MDcsMTUgQEAKKy0tLSBydW4uYy5vcmlnCTIwMDctMDMtMzEgMTU6 NTY6MTguMDAwMDAwMDAwIC0wNTAwCisrKysgcnVuLmMJMjAwOC0wNy0wNiAy MjowMTo0OS4wMDAwMDAwMDAgLTA1MDAKK0BAIC0xNTA0LDEzICsxNTA0LDcx IEBACisgCQkJbmV4dGFyZyA9IG5leHRhcmctPm5uZXh0OworIAkJfQorIAkJ YnJlYWs7CisrCWNhc2UgRkNPTVBMOgorKwkJdSA9IH4oKGludClnZXRmdmFs KHgpKTsKKysJCWJyZWFrOworKwljYXNlIEZBTkQ6CisrCQlpZiAobmV4dGFy ZyA9PSAwKSB7CisrCQkJV0FSTklORygiYW5kIHJlcXVpcmVzIHR3byBhcmd1 bWVudHM7IHJldHVybmluZyAwIik7CisrCQkJdSA9IDA7CisrCQkJYnJlYWs7 CisrCQl9CisrCQl5ID0gZXhlY3V0ZShhWzFdLT5ubmV4dCk7CisrCQl1ID0g KChpbnQpZ2V0ZnZhbCh4KSkgJiAoKGludClnZXRmdmFsKHkpKTsKKysJCXRl bXBmcmVlKHkpOworKwkJbmV4dGFyZyA9IG5leHRhcmctPm5uZXh0OworKwkJ YnJlYWs7CisrCWNhc2UgRkZPUjoKKysJCWlmIChuZXh0YXJnID09IDApIHsK KysJCQlXQVJOSU5HKCJvciByZXF1aXJlcyB0d28gYXJndW1lbnRzOyByZXR1 cm5pbmcgMCIpOworKwkJCXUgPSAwOworKwkJCWJyZWFrOworKwkJfQorKwkJ eSA9IGV4ZWN1dGUoYVsxXS0+bm5leHQpOworKwkJdSA9ICgoaW50KWdldGZ2 YWwoeCkpIHwgKChpbnQpZ2V0ZnZhbCh5KSk7CisrCQl0ZW1wZnJlZSh5KTsK KysJCW5leHRhcmcgPSBuZXh0YXJnLT5ubmV4dDsKKysJCWJyZWFrOworKwlj YXNlIEZYT1I6CisrCQlpZiAobmV4dGFyZyA9PSAwKSB7CisrCQkJV0FSTklO Rygib3IgcmVxdWlyZXMgdHdvIGFyZ3VtZW50czsgcmV0dXJuaW5nIDAiKTsK KysJCQl1ID0gMDsKKysJCQlicmVhazsKKysJCX0KKysJCXkgPSBleGVjdXRl KGFbMV0tPm5uZXh0KTsKKysJCXUgPSAoKGludClnZXRmdmFsKHgpKSBeICgo aW50KWdldGZ2YWwoeSkpOworKwkJdGVtcGZyZWUoeSk7CisrCQluZXh0YXJn ID0gbmV4dGFyZy0+bm5leHQ7CisrCQlicmVhazsKKysJY2FzZSBGTFNISUZU OgorKwkJaWYgKG5leHRhcmcgPT0gMCkgeworKwkJCVdBUk5JTkcoIm9yIHJl cXVpcmVzIHR3byBhcmd1bWVudHM7IHJldHVybmluZyAwIik7CisrCQkJdSA9 IDA7CisrCQkJYnJlYWs7CisrCQl9CisrCQl5ID0gZXhlY3V0ZShhWzFdLT5u bmV4dCk7CisrCQl1ID0gKChpbnQpZ2V0ZnZhbCh4KSkgPDwgKChpbnQpZ2V0 ZnZhbCh5KSk7CisrCQl0ZW1wZnJlZSh5KTsKKysJCW5leHRhcmcgPSBuZXh0 YXJnLT5ubmV4dDsKKysJCWJyZWFrOworKwljYXNlIEZSU0hJRlQ6CisrCQlp ZiAobmV4dGFyZyA9PSAwKSB7CisrCQkJV0FSTklORygib3IgcmVxdWlyZXMg dHdvIGFyZ3VtZW50czsgcmV0dXJuaW5nIDAiKTsKKysJCQl1ID0gMDsKKysJ CQlicmVhazsKKysJCX0KKysJCXkgPSBleGVjdXRlKGFbMV0tPm5uZXh0KTsK KysJCXUgPSAoKGludClnZXRmdmFsKHgpKSA+PiAoKGludClnZXRmdmFsKHkp KTsKKysJCXRlbXBmcmVlKHkpOworKwkJbmV4dGFyZyA9IG5leHRhcmctPm5u ZXh0OworKwkJYnJlYWs7CisgCWNhc2UgRlNZU1RFTToKKyAJCWZmbHVzaChz dGRvdXQpOwkJLyogaW4gY2FzZSBzb21ldGhpbmcgaXMgYnVmZmVyZWQgYWxy ZWFkeSAqLwogIAkJdSA9IChBd2tmbG9hdCkgc3lzdGVtKGdldHN2YWwoeCkp IC8gMjU2OyAgIC8qIDI1NiBpcyB1bml4LWRlcCAqLwogIAkJYnJlYWs7CiAg CWNhc2UgRlJBTkQ6CkBAIC0xMSwxMSArNzQsMyBAQAogIAkJYnJlYWs7CiAg CWNhc2UgRlNSQU5EOgogIAkJaWYgKGlzcmVjKHgpKQkvKiBubyBhcmd1bWVu dCBwcm92aWRlZCAqLwotIAkJCXUgPSB0aW1lKCh0aW1lX3QgKikwKTsKLSAJ CWVsc2UKLSAJCQl1ID0gZ2V0ZnZhbCh4KTsKLS0JCXNyYW5kKCh1bnNpZ25l ZCBpbnQpIHUpOwotKwkJc3JhbmRvbSgodW5zaWduZWQgaW50KSB1KTsKLSAJ CWJyZWFrOwotIAljYXNlIEZUT1VQUEVSOgotIAljYXNlIEZUT0xPV0VSOgpk aWZmIC1ydU4gbmF3ay5vcmlnL2ZpbGVzL3BhdGNoLXRyYW4uYyBuYXdrL2Zp bGVzL3BhdGNoLXRyYW4uYwotLS0gbmF3ay5vcmlnL2ZpbGVzL3BhdGNoLXRy YW4uYwkxOTY5LTEyLTMxIDE5OjAwOjAwLjAwMDAwMDAwMCAtMDUwMAorKysg bmF3ay9maWxlcy9wYXRjaC10cmFuLmMJMjAwOC0wNy0wNiAxNTo1MTo0OC4w MDAwMDAwMDAgLTA1MDAKQEAgLTAsMCArMSw0MyBAQAorZGlmZiAtdSAtcCAt cjEuNiAtcjEuOS4xMC4xCistLS0gdHJhbi5jLm9yaWcJMjAwNS8wNy8wMyAx NToxODoxMQkxLjYKKysrKyB0cmFuLmMJMjAwNy8xMS8wNiAyMzowNzo1Mgkx LjkuMTAuMQorQEAgLTIxMCw3ICsyMTAsMTAgQEAgQ2VsbCAqc2V0c3ltdGFi KGNvbnN0IGNoYXIgKm4sIGNvbnN0IGNoYQorIAlpbnQgaDsKKyAJQ2VsbCAq cDsKKyAKKy0JaWYgKG4gIT0gTlVMTCAmJiAocCA9IGxvb2t1cChuLCB0cCkp ICE9IE5VTEwpIHsKKysJaWYgKG4gPT0gTlVMTCkKKysJCW4gPSAiIjsKKysK KysJaWYgKChwID0gbG9va3VwKG4sIHRwKSkgIT0gTlVMTCkgeworIAkJICAg ZHByaW50ZiggKCJzZXRzeW10YWIgZm91bmQgJXA6IG49JXMgcz1cIiVzXCIg Zj0lZyB0PSVvXG4iLAorIAkJCXAsIE5OKHAtPm52YWwpLCBOTihwLT5zdmFs KSwgcC0+ZnZhbCwgcC0+dHZhbCkgKTsKKyAJCXJldHVybihwKTsKK0BAIC0y ODIsNiArMjg1LDcgQEAgQXdrZmxvYXQgc2V0ZnZhbChDZWxsICp2cCwgQXdr ZmxvYXQgZikJLworIHsKKyAJaW50IGZsZG5vOworIAorKwlmICs9IDAuMDsJ CS8qIG5vcm1hbGlzZSBuZWdhdGl2ZSB6ZXJvIHRvIHBvc2l0aXZlIHplcm8g Ki8KKyAJaWYgKCh2cC0+dHZhbCAmIChOVU0gfCBTVFIpKSA9PSAwKSAKKyAJ CWZ1bm55dmFyKHZwLCAiYXNzaWduIHRvIik7CisgCWlmIChpc2ZsZCh2cCkp IHsKK0BAIC00MDAsNyArNDA0LDE4IEBAIGNoYXIgKnRvc3RyaW5nKGNvbnN0 IGNoYXIgKnMpCS8qIG1ha2UgYSAKKyB7CisgCWNoYXIgKnA7CisgCistCXAg PSAoY2hhciAqKSBtYWxsb2Moc3RybGVuKHMpKzEpOworKwlwID0gc3RyZHVw KHMpOworKwlpZiAocCA9PSBOVUxMKQorKwkJRkFUQUwoIm91dCBvZiBzcGFj ZSBpbiB0b3N0cmluZyBvbiAlcyIsIHMpOworKwlzdHJjcHkocCwgcyk7Cisr CXJldHVybihwKTsKKyt9CisrCisrY2hhciAqdG9zdHJpbmdOKGNvbnN0IGNo YXIgKnMsIHNpemVfdCBuKQkvKiBtYWtlIGEgY29weSBvZiBzdHJpbmcgcyAq LworK3sKKysJY2hhciAqcDsKKysKKysJcCA9IG1hbGxvYyhuKTsKKyAJaWYg KHAgPT0gTlVMTCkKKyAJCUZBVEFMKCJvdXQgb2Ygc3BhY2UgaW4gdG9zdHJp bmcgb24gJXMiLCBzKTsKKyAJc3RyY3B5KHAsIHMpOwo= --0-1148307283-1215402474=:41185--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807070350.m673o47B062891>