From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23096 invoked from network); 5 Dec 2000 06:50:19 -0000 Received: from sunsite.dk (HELO sunsite.auc.dk) (130.225.51.30) by ns1.primenet.com.au with SMTP; 5 Dec 2000 06:50:19 -0000 Received: (qmail 3183 invoked by alias); 5 Dec 2000 06:50:13 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 13230 Received: (qmail 3176 invoked from network); 5 Dec 2000 06:50:11 -0000 Sender: jsmith Message-ID: <3A2C8FE2.95A994D@caldera.com> Date: Mon, 04 Dec 2000 23:49:07 -0700 From: Joel Smith X-Mailer: Mozilla 4.72C-CCK-MCD Caldera Systems OpenLinux [en] (X11; U; Linux 2.2.14 i586) X-Accept-Language: en MIME-Version: 1.0 To: zsh-workers@sunsite.auc.dk Subject: zsh patch for builds on new linux kernels Content-Type: multipart/mixed; boundary="------------8EBEF4D9DEB6BA159FF57FC6" This is a multi-part message in MIME format. --------------8EBEF4D9DEB6BA159FF57FC6 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello, Bart Schaefer advised me to send this your way. I've made a patch which renames the redirect types in zsh.h so that there aren't same name problems with a new linux kernel include file () which defines READ and WRITE. For consistancy's sake I preface all of the types with REDIR_ so READ becomes REDIR_READ, etc. The patch has been posted to sourceforge, and is attached here. How do I get the patch into CVS? Is giving it to you good enough? Thanks, Joel --------------8EBEF4D9DEB6BA159FF57FC6 Content-Type: application/x-patch; name="zsh-3.1.9.REDIR.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="zsh-3.1.9.REDIR.patch" ZGlmZiAtdU5yIHpzaC0zLjEuOS1vcmlnL1NyYy9leGVjLmMgenNoLTMuMS45L1NyYy9leGVj LmMKLS0tIHpzaC0zLjEuOS1vcmlnL1NyYy9leGVjLmMJU3VuIE1heSAyMSAxMjozMTozMCAy MDAwCisrKyB6c2gtMy4xLjkvU3JjL2V4ZWMuYwlNb24gRGVjICA0IDE0OjMzOjA5IDIwMDAK QEAgLTE3NTUsNyArMTc1NSw3IEBACiAJCQkgICAgYXJncyA9IG5ld2xpbmtsaXN0KCk7CiAJ CQlhZGRsaW5rbm9kZShhcmdzLCBkdXBzdHJpbmcoIjoiKSk7CiAJCSAgICB9IGVsc2UgaWYg KHJlYWRudWxsY21kICYmICpyZWFkbnVsbGNtZCAmJgotCQkJICAgICAgICgoUmVkaXIpIHBl ZWtmaXJzdChyZWRpcikpLT50eXBlID09IFJFQUQgJiYKKwkJCSAgICAgICAoKFJlZGlyKSBw ZWVrZmlyc3QocmVkaXIpKS0+dHlwZSA9PSBSRURJUl9SRUFEICYmCiAJCQkgICAgICAgIW5l eHRub2RlKGZpcnN0bm9kZShyZWRpcikpKSB7CiAJCQlpZiAoIWFyZ3MpCiAJCQkgICAgYXJn cyA9IG5ld2xpbmtsaXN0KCk7CkBAIC0yMDM3LDE2ICsyMDM3LDE2IEBACiAgICAgLyogRG8g aW8gcmVkaXJlY3Rpb25zICovCiAgICAgd2hpbGUgKHJlZGlyICYmIG5vbmVtcHR5KHJlZGly KSkgewogCWZuID0gKFJlZGlyKSB1Z2V0bm9kZShyZWRpcik7Ci0JRFBVVFMoZm4tPnR5cGUg PT0gSEVSRURPQyB8fCBmbi0+dHlwZSA9PSBIRVJFRE9DREFTSCwKKwlEUFVUUyhmbi0+dHlw ZSA9PSBSRURJUl9IRVJFRE9DIHx8IGZuLT50eXBlID09IFJFRElSX0hFUkVET0NEQVNILAog CSAgICAgICJCVUc6IHVuZXhwYW5kZWQgaGVyZSBkb2N1bWVudCIpOwotCWlmIChmbi0+dHlw ZSA9PSBJTlBJUEUpIHsKKwlpZiAoZm4tPnR5cGUgPT0gUkVESVJfSU5QSVBFKSB7CiAJICAg IGlmIChmbi0+ZmQyID09IC0xKSB7CiAJCWNsb3NlbW5vZGVzKG1mZHMpOwogCQlmaXhmZHMo c2F2ZSk7CiAJCWV4ZWNlcnIoKTsKIAkgICAgfQogCSAgICBhZGRmZChmb3JrZWQsIHNhdmUs IG1mZHMsIGZuLT5mZDEsIGZuLT5mZDIsIDApOwotCX0gZWxzZSBpZiAoZm4tPnR5cGUgPT0g T1VUUElQRSkgeworCX0gZWxzZSBpZiAoZm4tPnR5cGUgPT0gUkVESVJfT1VUUElQRSkgewog CSAgICBpZiAoZm4tPmZkMiA9PSAtMSkgewogCQljbG9zZW1ub2RlcyhtZmRzKTsKIAkJZml4 ZmRzKHNhdmUpOwpAQCAtMjA1NCw3ICsyMDU0LDcgQEAKIAkgICAgfQogCSAgICBhZGRmZChm b3JrZWQsIHNhdmUsIG1mZHMsIGZuLT5mZDEsIGZuLT5mZDIsIDEpOwogCX0gZWxzZSB7Ci0J ICAgIGlmIChmbi0+dHlwZSAhPSBIRVJFU1RSICYmIHhwYW5kcmVkaXIoZm4sIHJlZGlyKSkK KwkgICAgaWYgKGZuLT50eXBlICE9IFJFRElSX0hFUkVTVFIgJiYgeHBhbmRyZWRpcihmbiwg cmVkaXIpKQogCQljb250aW51ZTsKIAkgICAgaWYgKGVycmZsYWcpIHsKIAkJY2xvc2Vtbm9k ZXMobWZkcyk7CkBAIC0yMDY4LDcgKzIwNjgsNyBAQAogCSAgICBpZiAodW5zZXQoRVhFQ09Q VCkpCiAJCWNvbnRpbnVlOwogCSAgICBzd2l0Y2goZm4tPnR5cGUpIHsKLQkgICAgY2FzZSBI RVJFU1RSOgorCSAgICBjYXNlIFJFRElSX0hFUkVTVFI6CiAJCWZpbCA9IGdldGhlcmVzdHIo Zm4pOwogCQlpZiAoZmlsID09IC0xKSB7CiAJCSAgICBjbG9zZW1ub2RlcyhtZmRzKTsKQEAg LTIwNzksOSArMjA3OSw5IEBACiAJCX0KIAkJYWRkZmQoZm9ya2VkLCBzYXZlLCBtZmRzLCBm bi0+ZmQxLCBmaWwsIDApOwogCQlicmVhazsKLQkgICAgY2FzZSBSRUFEOgotCSAgICBjYXNl IFJFQURXUklURToKLQkJaWYgKGZuLT50eXBlID09IFJFQUQpCisJICAgIGNhc2UgUkVESVJf UkVBRDoKKwkgICAgY2FzZSBSRURJUl9SRUFEV1JJVEU6CisJCWlmIChmbi0+dHlwZSA9PSBS RURJUl9SRUFEKQogCQkgICAgZmlsID0gb3Blbih1bm1ldGEoZm4tPm5hbWUpLCBPX1JET05M WSB8IE9fTk9DVFRZKTsKIAkJZWxzZQogCQkgICAgZmlsID0gb3Blbih1bm1ldGEoZm4tPm5h bWUpLApAQCAtMjEwMCwxNCArMjEwMCwxNCBAQAogCQkgICAgaXNzZXQoU0hJTlNURElOKSAm JiBpbnRlcmFjdCAmJiAhemxlYWN0aXZlKQogCQkgICAgaW5pdF9pbygpOwogCQlicmVhazsK LQkgICAgY2FzZSBDTE9TRToKKwkgICAgY2FzZSBSRURJUl9DTE9TRToKIAkJaWYgKCFmb3Jr ZWQgJiYgZm4tPmZkMSA8IDEwICYmIHNhdmVbZm4tPmZkMV0gPT0gLTIpCiAJCSAgICBzYXZl W2ZuLT5mZDFdID0gbW92ZWZkKGZuLT5mZDEpOwogCQljbG9zZW1uKG1mZHMsIGZuLT5mZDEp OwogCQl6Y2xvc2UoZm4tPmZkMSk7CiAJCWJyZWFrOwotCSAgICBjYXNlIE1FUkdFSU46Ci0J ICAgIGNhc2UgTUVSR0VPVVQ6CisJICAgIGNhc2UgUkVESVJfTUVSR0VJTjoKKwkgICAgY2Fz ZSBSRURJUl9NRVJHRU9VVDoKIAkJaWYgKGZuLT5mZDIgPCAxMCkKIAkJICAgIGNsb3NlbW4o bWZkcywgZm4tPmZkMik7CiAJCWlmIChmbi0+ZmQyID4gOSAmJgpAQCAtMjExOSw3ICsyMTE5 LDcgQEAKIAkJfSBlbHNlIHsKIAkJICAgIGludCBmZCA9IGZuLT5mZDI7CiAJCSAgICBpZihm ZCA9PSAtMikKLQkJCWZkID0gKGZuLT50eXBlID09IE1FUkdFT1VUKSA/IGNvcHJvY291dCA6 IGNvcHJvY2luOworCQkJZmQgPSAoZm4tPnR5cGUgPT0gUkVESVJfTUVSR0VPVVQpID8gY29w cm9jb3V0IDogY29wcm9jaW47CiAJCSAgICBmaWwgPSBkdXAoZmQpOwogCQl9CiAJCWlmIChm aWwgPT0gLTEpIHsKQEAgLTIxMzIsNyArMjEzMiw3IEBACiAJCSAgICB6ZXJyKCIlczogJWUi LCBmbi0+ZmQyID09IC0yID8gImNvcHJvY2VzcyIgOiBmZHN0ciwgZXJybm8pOwogCQkgICAg ZXhlY2VycigpOwogCQl9Ci0JCWFkZGZkKGZvcmtlZCwgc2F2ZSwgbWZkcywgZm4tPmZkMSwg ZmlsLCBmbi0+dHlwZSA9PSBNRVJHRU9VVCk7CisJCWFkZGZkKGZvcmtlZCwgc2F2ZSwgbWZk cywgZm4tPmZkMSwgZmlsLCBmbi0+dHlwZSA9PSBSRURJUl9NRVJHRU9VVCk7CiAJCWJyZWFr OwogCSAgICBkZWZhdWx0OgogCQlpZiAoSVNfQVBQRU5EX1JFRElSKGZuLT50eXBlKSkKQEAg LTI1NDAsNyArMjU0MCw3IEBACiAJICAgIHF0ID0gMTsKIAl9CiAgICAgdW50b2tlbml6ZShz dHIpOwotICAgIGlmICh0eXAgPT0gSEVSRURPQ0RBU0gpIHsKKyAgICBpZiAodHlwID09IFJF RElSX0hFUkVET0NEQVNIKSB7CiAJc3RyaXAgPSAxOwogCXdoaWxlICgqc3RyID09ICdcdCcp CiAJICAgIHN0cisrOwpAQCAtMjYzMiw3ICsyNjMyLDcgQEAKIAl3Y19jb2RlKHBjWzFdKSA9 PSBXQ19TVUJMSVNUICYmICFXQ19TVUJMSVNUX0ZMQUdTKHBjWzFdKSAmJgogCVdDX1NVQkxJ U1RfVFlQRShwY1sxXSkgPT0gV0NfU1VCTElTVF9FTkQgJiYKIAl3Y19jb2RlKHBjWzJdKSA9 PSBXQ19QSVBFICYmIFdDX1BJUEVfVFlQRShwY1syXSkgPT0gV0NfUElQRV9FTkQgJiYKLQl3 Y19jb2RlKHBjWzNdKSA9PSBXQ19SRURJUiAmJiBXQ19SRURJUl9UWVBFKHBjWzNdKSA9PSBS RUFEICYmIAorCXdjX2NvZGUocGNbM10pID09IFdDX1JFRElSICYmIFdDX1JFRElSX1RZUEUo cGNbM10pID09IFJFRElSX1JFQUQgJiYgCiAJIXBjWzRdICYmCiAJd2NfY29kZShwY1s2XSkg PT0gV0NfU0lNUExFICYmICFXQ19TSU1QTEVfQVJHQyhwY1s2XSkpIHsKIAkvKiAkKDwgd29y ZCkgKi8KQEAgLTI5NTIsNyArMjk1Miw3IEBACiAgICAgbiA9IGZpcnN0bm9kZShsKTsKICAg ICBmb3IgKDsgbjsgaW5jbm9kZShuKSkgewogCWYgPSAoUmVkaXIpIGdldGRhdGEobik7Ci0J aWYgKGYtPnR5cGUgPT0gT1VUUElQRSB8fCBmLT50eXBlID09IElOUElQRSkgeworCWlmIChm LT50eXBlID09IFJFRElSX09VVFBJUEUgfHwgZi0+dHlwZSA9PSBSRURJUl9JTlBJUEUpIHsK IAkgICAgc3RyID0gZi0+bmFtZTsKIAkgICAgZi0+ZmQyID0gZ2V0cGlwZShzdHIpOwogCX0K ZGlmZiAtdU5yIHpzaC0zLjEuOS1vcmlnL1NyYy9nbG9iLmMgenNoLTMuMS45L1NyYy9nbG9i LmMKLS0tIHpzaC0zLjEuOS1vcmlnL1NyYy9nbG9iLmMJTW9uIEp1biAgNSAwMjo1Nzo1NSAy MDAwCisrKyB6c2gtMy4xLjkvU3JjL2dsb2IuYwlNb24gRGVjICA0IDE0OjQzOjU5IDIwMDAK QEAgLTE2MjcsOSArMTYyNyw5IEBACiAJY2hhciAqcyA9IHBlZWtmaXJzdCgmZmFrZSk7CiAJ Zm4tPm5hbWUgPSBzOwogCXVudG9rZW5pemUocyk7Ci0JaWYgKGZuLT50eXBlID09IE1FUkdF SU4gfHwgZm4tPnR5cGUgPT0gTUVSR0VPVVQpIHsKKwlpZiAoZm4tPnR5cGUgPT0gUkVESVJf TUVSR0VJTiB8fCBmbi0+dHlwZSA9PSBSRURJUl9NRVJHRU9VVCkgewogCSAgICBpZiAoc1sw XSA9PSAnLScgJiYgIXNbMV0pCi0JCWZuLT50eXBlID0gQ0xPU0U7CisJCWZuLT50eXBlID0g UkVESVJfQ0xPU0U7CiAJICAgIGVsc2UgaWYgKHNbMF0gPT0gJ3AnICYmICFzWzFdKSAKIAkJ Zm4tPmZkMiA9IC0yOwogCSAgICBlbHNlIHsKQEAgLTE2MzcsMTcgKzE2MzcsMTcgQEAKIAkJ ICAgIHMrKzsKIAkJaWYgKCEqcyAmJiBzID4gZm4tPm5hbWUpCiAJCSAgICBmbi0+ZmQyID0g enN0cnRvbChmbi0+bmFtZSwgTlVMTCwgMTApOwotCQllbHNlIGlmIChmbi0+dHlwZSA9PSBN RVJHRUlOKQorCQllbHNlIGlmIChmbi0+dHlwZSA9PSBSRURJUl9NRVJHRUlOKQogCQkgICAg emVycigiZmlsZSBudW1iZXIgZXhwZWN0ZWQiLCBOVUxMLCAwKTsKIAkJZWxzZQotCQkgICAg Zm4tPnR5cGUgPSBFUlJXUklURTsKKwkJICAgIGZuLT50eXBlID0gUkVESVJfRVJSV1JJVEU7 CiAJICAgIH0KIAl9Ci0gICAgfSBlbHNlIGlmIChmbi0+dHlwZSA9PSBNRVJHRUlOKQorICAg IH0gZWxzZSBpZiAoZm4tPnR5cGUgPT0gUkVESVJfTUVSR0VJTikKIAl6ZXJyKCJmaWxlIG51 bWJlciBleHBlY3RlZCIsIE5VTEwsIDApOwogICAgIGVsc2UgewotCWlmIChmbi0+dHlwZSA9 PSBNRVJHRU9VVCkKLQkgICAgZm4tPnR5cGUgPSBFUlJXUklURTsKKwlpZiAoZm4tPnR5cGUg PT0gUkVESVJfTUVSR0VPVVQpCisJICAgIGZuLT50eXBlID0gUkVESVJfRVJSV1JJVEU7CiAJ d2hpbGUgKChuYW0gPSAoY2hhciAqKXVnZXRub2RlKCZmYWtlKSkpIHsKIAkgICAgLyogTG9v cCBvdmVyIG1hdGNoZXMsIGR1cGxpY2F0aW5nIHRoZSAqCiAJICAgICAqIHJlZGlyZWN0aW9u IGZvciBlYWNoIGZpbGUgZm91bmQuICAgKi8KZGlmZiAtdU5yIHpzaC0zLjEuOS1vcmlnL1Ny Yy9sZXguYyB6c2gtMy4xLjkvU3JjL2xleC5jCi0tLSB6c2gtMy4xLjktb3JpZy9TcmMvbGV4 LmMJVHVlIE1heSAzMCAwMzoxNTozMiAyMDAwCisrKyB6c2gtMy4xLjkvU3JjL2xleC5jCU1v biBEZWMgIDQgMTQ6Mzg6NTEgMjAwMApAQCAtMzQ3LDEzICszNDcsMTMgQEAKIAkgICAgY2hh ciAqbmFtZTsKIAogCSAgICBod2JlZ2luKDApOwotCSAgICBjbWRwdXNoKGhkb2NzLT50eXBl ID09IEhFUkVET0MgPyBDU19IRVJFRE9DIDogQ1NfSEVSRURPQ0QpOworCSAgICBjbWRwdXNo KGhkb2NzLT50eXBlID09IFJFRElSX0hFUkVET0MgPyBDU19IRVJFRE9DIDogQ1NfSEVSRURP Q0QpOwogCSAgICBTVE9QSElTVAogCSAgICBuYW1lID0gZ2V0aGVyZShoZG9jcy0+c3RyLCBo ZG9jcy0+dHlwZSk7CiAJICAgIEFMTE9XSElTVAogCSAgICBjbWRwb3AoKTsKIAkgICAgaHdl bmQoKTsKLQkgICAgc2V0aGVyZWRvYyhoZG9jcy0+cGMsIEhFUkVTVFIsIG5hbWUpOworCSAg ICBzZXRoZXJlZG9jKGhkb2NzLT5wYywgUkVESVJfSEVSRVNUUiwgbmFtZSk7CiAJICAgIHpm cmVlKGhkb2NzLCBzaXplb2Yoc3RydWN0IGhlcmVkb2NzKSk7CiAJICAgIGhkb2NzID0gbmV4 dDsKIAl9CmRpZmYgLXVOciB6c2gtMy4xLjktb3JpZy9TcmMvcGFyc2UuYyB6c2gtMy4xLjkv U3JjL3BhcnNlLmMKLS0tIHpzaC0zLjEuOS1vcmlnL1NyYy9wYXJzZS5jCVR1ZSBNYXkgMzAg MDM6MTU6MzIgMjAwMAorKysgenNoLTMuMS45L1NyYy9wYXJzZS5jCU1vbiBEZWMgIDQgMTQ6 MzU6NTYgMjAwMApAQCAtNzAyLDcgKzcwMiw3IEBACiAJZm9yIChyID0gcCArIDE7IHdjX2Nv ZGUoZWNidWZbcl0pID09IFdDX1JFRElSOyByICs9IDMpOwogCiAJZWNpc3BhY2UociwgMyk7 Ci0JZWNidWZbcl0gPSBXQ0JfUkVESVIoTUVSR0VPVVQpOworCWVjYnVmW3JdID0gV0NCX1JF RElSKFJFRElSX01FUkdFT1VUKTsKIAllY2J1ZltyICsgMV0gPSAyOwogCWVjYnVmW3IgKyAy XSA9IGVjc3RyY29kZSgiMSIpOwogCkBAIC0xNTUyLDIxICsxNTUyLDIxIEBACiAgKi8KIAog c3RhdGljIGludCByZWRpcnRhYltUUklOQU5HIC0gT1VUQU5HICsgMV0gPSB7Ci0gICAgV1JJ VEUsCi0gICAgV1JJVEVOT1csCi0gICAgQVBQLAotICAgIEFQUE5PVywKLSAgICBSRUFELAot ICAgIFJFQURXUklURSwKLSAgICBIRVJFRE9DLAotICAgIEhFUkVET0NEQVNILAotICAgIE1F UkdFSU4sCi0gICAgTUVSR0VPVVQsCi0gICAgRVJSV1JJVEUsCi0gICAgRVJSV1JJVEVOT1cs Ci0gICAgRVJSQVBQLAotICAgIEVSUkFQUE5PVywKLSAgICBIRVJFU1RSLAorICAgIFJFRElS X1dSSVRFLAorICAgIFJFRElSX1dSSVRFTk9XLAorICAgIFJFRElSX0FQUCwKKyAgICBSRURJ Ul9BUFBOT1csCisgICAgUkVESVJfUkVBRCwKKyAgICBSRURJUl9SRUFEV1JJVEUsCisgICAg UkVESVJfSEVSRURPQywKKyAgICBSRURJUl9IRVJFRE9DREFTSCwKKyAgICBSRURJUl9NRVJH RUlOLAorICAgIFJFRElSX01FUkdFT1VULAorICAgIFJFRElSX0VSUldSSVRFLAorICAgIFJF RElSX0VSUldSSVRFTk9XLAorICAgIFJFRElSX0VSUkFQUCwKKyAgICBSRURJUl9FUlJBUFBO T1csCisgICAgUkVESVJfSEVSRVNUUiwKIH07CiAKIC8qKi8KQEAgLTE1OTYsOCArMTU5Niw4 IEBACiAgICAgbmFtZSA9IHRva3N0cjsKIAogICAgIHN3aXRjaCAodHlwZSkgewotICAgIGNh c2UgSEVSRURPQzoKLSAgICBjYXNlIEhFUkVET0NEQVNIOiB7CisgICAgY2FzZSBSRURJUl9I RVJFRE9DOgorICAgIGNhc2UgUkVESVJfSEVSRURPQ0RBU0g6IHsKIAkvKiA8PFstXSBuYW1l ICovCiAJc3RydWN0IGhlcmVkb2NzICoqaGQ7CiAKQEAgLTE2MTgsMjQgKzE2MTgsMjQgQEAK IAl5eWxleCgpOwogCXJldHVybjsKICAgICB9Ci0gICAgY2FzZSBXUklURToKLSAgICBjYXNl IFdSSVRFTk9XOgorICAgIGNhc2UgUkVESVJfV1JJVEU6CisgICAgY2FzZSBSRURJUl9XUklU RU5PVzoKIAlpZiAodG9rc3RyWzBdID09IE91dGFuZyAmJiB0b2tzdHJbMV0gPT0gSW5wYXIp CiAJICAgIC8qID4gPiguLi4pICovCi0JICAgIHR5cGUgPSBPVVRQSVBFOworCSAgICB0eXBl ID0gUkVESVJfT1VUUElQRTsKIAllbHNlIGlmICh0b2tzdHJbMF0gPT0gSW5hbmcgJiYgdG9r c3RyWzFdID09IElucGFyKQogCSAgICBZWUVSUk9SVihlY3VzZWQpOwogCWJyZWFrOwotICAg IGNhc2UgUkVBRDoKKyAgICBjYXNlIFJFRElSX1JFQUQ6CiAJaWYgKHRva3N0clswXSA9PSBJ bmFuZyAmJiB0b2tzdHJbMV0gPT0gSW5wYXIpCiAJICAgIC8qIDwgPCguLi4pICovCi0JICAg IHR5cGUgPSBJTlBJUEU7CisJICAgIHR5cGUgPSBSRURJUl9JTlBJUEU7CiAJZWxzZSBpZiAo dG9rc3RyWzBdID09IE91dGFuZyAmJiB0b2tzdHJbMV0gPT0gSW5wYXIpCiAJICAgIFlZRVJS T1JWKGVjdXNlZCk7CiAJYnJlYWs7Ci0gICAgY2FzZSBSRUFEV1JJVEU6CisgICAgY2FzZSBS RURJUl9SRUFEV1JJVEU6CiAJaWYgKCh0b2tzdHJbMF0gPT0gSW5hbmcgfHwgdG9rc3RyWzBd ID09IE91dGFuZykgJiYgdG9rc3RyWzFdID09IElucGFyKQotCSAgICB0eXBlID0gdG9rc3Ry WzBdID09IEluYW5nID8gSU5QSVBFIDogT1VUUElQRTsKKwkgICAgdHlwZSA9IHRva3N0clsw XSA9PSBJbmFuZyA/IFJFRElSX0lOUElQRSA6IFJFRElSX09VVFBJUEU7CiAJYnJlYWs7CiAg ICAgfQogICAgIHl5bGV4KCk7CmRpZmYgLXVOciB6c2gtMy4xLjktb3JpZy9TcmMvdGV4dC5j IHpzaC0zLjEuOS9TcmMvdGV4dC5jCi0tLSB6c2gtMy4xLjktb3JpZy9TcmMvdGV4dC5jCVdl ZCBBcHIgMTkgMTM6MDM6NDYgMjAwMAorKysgenNoLTMuMS45L1NyYy90ZXh0LmMJTW9uIERl YyAgNCAxNDo0Mjo1OCAyMDAwCkBAIC03MzEsMjYgKzczMSwyNiBAQAogCVJlZGlyIGYgPSAo UmVkaXIpIGdldGRhdGEobik7CiAKIAlzd2l0Y2ggKGYtPnR5cGUpIHsKLQljYXNlIFdSSVRF OgotCWNhc2UgV1JJVEVOT1c6Ci0JY2FzZSBBUFA6Ci0JY2FzZSBBUFBOT1c6Ci0JY2FzZSBF UlJXUklURToKLQljYXNlIEVSUldSSVRFTk9XOgotCWNhc2UgRVJSQVBQOgotCWNhc2UgRVJS QVBQTk9XOgotCWNhc2UgUkVBRDoKLQljYXNlIFJFQURXUklURToKLQljYXNlIEhFUkVTVFI6 Ci0JY2FzZSBNRVJHRUlOOgotCWNhc2UgTUVSR0VPVVQ6Ci0JY2FzZSBJTlBJUEU6Ci0JY2Fz ZSBPVVRQSVBFOgorCWNhc2UgUkVESVJfV1JJVEU6CisJY2FzZSBSRURJUl9XUklURU5PVzoK KwljYXNlIFJFRElSX0FQUDoKKwljYXNlIFJFRElSX0FQUE5PVzoKKwljYXNlIFJFRElSX0VS UldSSVRFOgorCWNhc2UgUkVESVJfRVJSV1JJVEVOT1c6CisJY2FzZSBSRURJUl9FUlJBUFA6 CisJY2FzZSBSRURJUl9FUlJBUFBOT1c6CisJY2FzZSBSRURJUl9SRUFEOgorCWNhc2UgUkVE SVJfUkVBRFdSSVRFOgorCWNhc2UgUkVESVJfSEVSRVNUUjoKKwljYXNlIFJFRElSX01FUkdF SU46CisJY2FzZSBSRURJUl9NRVJHRU9VVDoKKwljYXNlIFJFRElSX0lOUElQRToKKwljYXNl IFJFRElSX09VVFBJUEU6CiAJICAgIGlmIChmLT5mZDEgIT0gKElTX1JFQURGRChmLT50eXBl KSA/IDAgOiAxKSkKIAkJdGFkZGNocignMCcgKyBmLT5mZDEpOwogCSAgICB0YWRkc3RyKGZz dHJbZi0+dHlwZV0pOwogCSAgICB0YWRkY2hyKCcgJyk7Ci0JICAgIGlmIChmLT50eXBlID09 IEhFUkVTVFIpIHsKKwkgICAgaWYgKGYtPnR5cGUgPT0gUkVESVJfSEVSRVNUUikgewogCQl0 YWRkY2hyKCdcJycpOwogCQl0YWRkc3RyKGJzbGFzaHF1b3RlKGYtPm5hbWUsIE5VTEwsIDEp KTsKIAkJdGFkZGNocignXCcnKTsKQEAgLTc1OSw3ICs3NTksNyBAQAogCSAgICB0YWRkY2hy KCcgJyk7CiAJICAgIGJyZWFrOwogI2lmZGVmIERFQlVHCi0JY2FzZSBDTE9TRToKKwljYXNl IFJFRElSX0NMT1NFOgogCSAgICBEUFVUUygxLCAiQlVHOiBDTE9TRSBpbiBnZXRyZWRpcnMo KSIpOwogCSAgICB0YWRkY2hyKGYtPmZkMSArICcwJyk7CiAJICAgIHRhZGRzdHIoIj4mLSAi KTsKZGlmZiAtdU5yIHpzaC0zLjEuOS1vcmlnL1NyYy96c2guaCB6c2gtMy4xLjkvU3JjL3pz aC5oCi0tLSB6c2gtMy4xLjktb3JpZy9TcmMvenNoLmgJTW9uIEp1biAgNSAwMjo1Nzo1NiAy MDAwCisrKyB6c2gtMy4xLjkvU3JjL3pzaC5oCU1vbiBEZWMgIDQgMTQ6Mjg6MjYgMjAwMApA QCAtMjMzLDMxICsyMzMsMzEgQEAKICAqIGJlbG93LiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIAogZW51bSB7Ci0g ICAgV1JJVEUsCQkvKiA+ICovCi0gICAgV1JJVEVOT1csCQkvKiA+fCAqLwotICAgIEFQUCwJ CS8qID4+ICovCi0gICAgQVBQTk9XLAkJLyogPj58ICovCi0gICAgRVJSV1JJVEUsCQkvKiAm PiwgPiYgKi8KLSAgICBFUlJXUklURU5PVywJLyogPiZ8ICovCi0gICAgRVJSQVBQLAkJLyog Pj4mICovCi0gICAgRVJSQVBQTk9XLAkJLyogPj4mfCAqLwotICAgIFJFQURXUklURSwJCS8q IDw+ICovCi0gICAgUkVBRCwJCS8qIDwgKi8KLSAgICBIRVJFRE9DLAkJLyogPDwgKi8KLSAg ICBIRVJFRE9DREFTSCwJLyogPDwtICovCi0gICAgSEVSRVNUUiwJCS8qIDw8PCAqLwotICAg IE1FUkdFSU4sCQkvKiA8Jm4gKi8KLSAgICBNRVJHRU9VVCwJCS8qID4mbiAqLwotICAgIENM T1NFLAkJLyogPiYtLCA8Ji0gKi8KLSAgICBJTlBJUEUsCQkvKiA8IDwoLi4uKSAqLwotICAg IE9VVFBJUEUJCS8qID4gPiguLi4pICovCisgICAgUkVESVJfV1JJVEUsCQkvKiA+ICovCisg ICAgUkVESVJfV1JJVEVOT1csCQkvKiA+fCAqLworICAgIFJFRElSX0FQUCwJCS8qID4+ICov CisgICAgUkVESVJfQVBQTk9XLAkJLyogPj58ICovCisgICAgUkVESVJfRVJSV1JJVEUsCQkv KiAmPiwgPiYgKi8KKyAgICBSRURJUl9FUlJXUklURU5PVywJLyogPiZ8ICovCisgICAgUkVE SVJfRVJSQVBQLAkJLyogPj4mICovCisgICAgUkVESVJfRVJSQVBQTk9XLAkJLyogPj4mfCAq LworICAgIFJFRElSX1JFQURXUklURSwJCS8qIDw+ICovCisgICAgUkVESVJfUkVBRCwJCS8q IDwgKi8KKyAgICBSRURJUl9IRVJFRE9DLAkJLyogPDwgKi8KKyAgICBSRURJUl9IRVJFRE9D REFTSCwJLyogPDwtICovCisgICAgUkVESVJfSEVSRVNUUiwJCS8qIDw8PCAqLworICAgIFJF RElSX01FUkdFSU4sCQkvKiA8Jm4gKi8KKyAgICBSRURJUl9NRVJHRU9VVCwJCS8qID4mbiAq LworICAgIFJFRElSX0NMT1NFLAkJLyogPiYtLCA8Ji0gKi8KKyAgICBSRURJUl9JTlBJUEUs CQkvKiA8IDwoLi4uKSAqLworICAgIFJFRElSX09VVFBJUEUJCS8qID4gPiguLi4pICovCiB9 OwogCi0jZGVmaW5lIElTX1dSSVRFX0ZJTEUoWCkgICAgICAoKFgpPj1XUklURSAmJiAoWCk8 PVJFQURXUklURSkKKyNkZWZpbmUgSVNfV1JJVEVfRklMRShYKSAgICAgICgoWCk+PVJFRElS X1dSSVRFICYmIChYKTw9UkVESVJfUkVBRFdSSVRFKQogI2RlZmluZSBJU19BUFBFTkRfUkVE SVIoWCkgICAgKElTX1dSSVRFX0ZJTEUoWCkgJiYgKChYKSAmIDIpKQogI2RlZmluZSBJU19D TE9CQkVSX1JFRElSKFgpICAgKElTX1dSSVRFX0ZJTEUoWCkgJiYgKChYKSAmIDEpKQotI2Rl ZmluZSBJU19FUlJPUl9SRURJUihYKSAgICAgKChYKT49RVJSV1JJVEUgJiYgKFgpPD1FUlJB UFBOT1cpCi0jZGVmaW5lIElTX1JFQURGRChYKSAgICAgICAgICAoKChYKT49UkVBRFdSSVRF ICYmIChYKTw9TUVSR0VJTikgfHwgKFgpPT1JTlBJUEUpCisjZGVmaW5lIElTX0VSUk9SX1JF RElSKFgpICAgICAoKFgpPj1SRURJUl9FUlJXUklURSAmJiAoWCk8PVJFRElSX0VSUkFQUE5P VykKKyNkZWZpbmUgSVNfUkVBREZEKFgpICAgICAgICAgICgoKFgpPj1SRURJUl9SRUFEV1JJ VEUgJiYgKFgpPD1SRURJUl9NRVJHRUlOKSB8fCAoWCk9PVJFRElSX0lOUElQRSkKICNkZWZp bmUgSVNfUkVESVJPUChYKSAgICAgICAgICgoWCk+PU9VVEFORyAmJiAoWCk8PVRSSU5BTkcp CiAKIC8qIEZsYWdzIGZvciBpbnB1dCBzdGFjayAqLwo= --------------8EBEF4D9DEB6BA159FF57FC6--