From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3548991948173192679==" MIME-Version: 1.0 From: Aki Niemi Subject: Re: MNC/MCC as string? Date: Fri, 12 Jun 2009 13:53:33 +0300 Message-ID: <45ab3d8b5d84d03dda8ea19180f36991@localhost> In-Reply-To: <1244801553.8688.0.camel@violet> List-Id: To: ofono@ofono.org --===============3548991948173192679== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Fri, 12 Jun 2009 12:12:33 +0200, Marcel Holtmann wrote: > + strncpy(mcc, str, sizeof(mcc)); > + mcc[3] =3D '\0'; > = > maybe I am blind, but how is this suppose to work. The sizeof(mmc) is 1 > byte. Actually, sizeof(mmc) is 4 bytes. Coincidentally, so is the char array in mcc. ;) Take two attached. Cheers, Aki --===============3548991948173192679== Content-Type: text/plain MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Change-MNC-and-MCC-variable-types-to-string.patch" RnJvbSA1ZWE1NWJhZWY0YTEwYjM5Nzc2NzUyODRjODNkMjFlMGE4ZjU0YTdiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBa2kgTmllbWkgPGFraS5uaWVtaUBub2tpYS5jb20+CkRhdGU6 IEZyaSwgMTIgSnVuIDIwMDkgMTA6MDI6NTIgKzAzMDAKU3ViamVjdDogW1BBVENIXSBDaGFuZ2Ug TU5DIGFuZCBNQ0MgdmFyaWFibGUgdHlwZXMgdG8gc3RyaW5nCgpUaGlzIGlzIHRvIG1ha2Ugc3Vy ZSBib3RoIDIgYW5kIDMtZGlnaXQgTU5DIHZhbHVlcyBhcmUgY29ycmVjdGx5CmhhbmRsZWQuIEJv dGggdGhlIG1vZGVtIHBsdWdpbiBBUEkgYXMgd2VsbCBhcyB0aGUgRC1CdXMgQVBJIGFyZQphZmZl Y3RlZC4KLS0tCiBkcml2ZXJzL2F0bW9kZW0vbmV0d29yay1yZWdpc3RyYXRpb24uYyB8ICAgNTcg KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KIHNyYy9kcml2ZXIuaCAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgNyArKystCiBzcmMvbmV0d29yay5jICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgNDggKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hh bmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwgNjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9hdG1vZGVtL25ldHdvcmstcmVnaXN0cmF0aW9uLmMgYi9kcml2ZXJzL2F0bW9kZW0vbmV0 d29yay1yZWdpc3RyYXRpb24uYwppbmRleCA0MDc5NmQ1Li4zMGRkMGY3IDEwMDY0NAotLS0gYS9k cml2ZXJzL2F0bW9kZW0vbmV0d29yay1yZWdpc3RyYXRpb24uYworKysgYi9kcml2ZXJzL2F0bW9k ZW0vbmV0d29yay1yZWdpc3RyYXRpb24uYwpAQCAtNDUsMjggKzQ1LDIwIEBAIHN0YXRpYyBjb25z dCBjaGFyICpjc3FfcHJlZml4W10gPSB7ICIrQ1NROiIsIE5VTEwgfTsKIAogc3RydWN0IG5ldHJl Z19kYXRhIHsKIAlnYm9vbGVhbiBzdXBwb3J0c190ZWNoOwotCXNob3J0IG1uYzsKLQlzaG9ydCBt Y2M7CisJY2hhciBtbmNbT0ZPTk9fTUFYX01OQ19NQ0NfTEVOR1RIICsgMV07CisJY2hhciBtY2Nb T0ZPTk9fTUFYX01OQ19NQ0NfTEVOR1RIICsgMV07CiB9OwogCi1zdGF0aWMgdm9pZCBleHRyYWN0 X21jY19tbmMoY29uc3QgY2hhciAqc3RyLCBzaG9ydCAqbWNjLCBzaG9ydCAqbW5jKQorc3RhdGlj IHZvaWQgZXh0cmFjdF9tY2NfbW5jKGNvbnN0IGNoYXIgKnN0ciwgY2hhciAqbWNjLCBjaGFyICpt bmMpCiB7Ci0JaW50IG51bSA9IDA7Ci0JdW5zaWduZWQgaW50IGk7Ci0KIAkvKiBUaHJlZSBkaWdp dCBjb3VudHJ5IGNvZGUgKi8KLQlmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKQotCQludW0gPSBudW0g KiAxMCArIChpbnQpKHN0cltpXSAtICcwJyk7Ci0KLQkqbWNjID0gbnVtOwotCi0JbnVtID0gMDsK KwlzdHJuY3B5KG1jYywgc3RyLCBPRk9OT19NQVhfTU5DX01DQ19MRU5HVEgpOworCW1jY1tPRk9O T19NQVhfTU5DX01DQ19MRU5HVEhdID0gJ1wwJzsKIAogCS8qIFVzdWFsbHkgYSAyIGJ1dCBzb21l dGltZXMgMyBkaWdpdCBuZXR3b3JrIGNvZGUgKi8KLQlmb3IgKDsgaSA8IHN0cmxlbihzdHIpOyBp KyspCi0JCW51bSA9IG51bSAqIDEwICsgKGludCkoc3RyW2ldIC0gJzAnKTsKLQotCSptbmMgPSBu dW07CisJc3RybmNweShtbmMsIHN0ciArIE9GT05PX01BWF9NTkNfTUNDX0xFTkdUSCwKKwkJT0ZP Tk9fTUFYX01OQ19NQ0NfTEVOR1RIKTsKKwltbmNbT0ZPTk9fTUFYX01OQ19NQ0NfTEVOR1RIXSA9 ICdcMCc7CiB9CiAKIHN0YXRpYyB2b2lkIGF0X2NyZWdfY2IoZ2Jvb2xlYW4gb2ssIEdBdFJlc3Vs dCAqcmVzdWx0LCBncG9pbnRlciB1c2VyX2RhdGEpCkBAIC0xNTQsNyArMTQ2LDcgQEAgc3RhdGlj IHZvaWQgY29wc19jYihnYm9vbGVhbiBvaywgR0F0UmVzdWx0ICpyZXN1bHQsIGdwb2ludGVyIHVz ZXJfZGF0YSkKIAlkdW1wX3Jlc3BvbnNlKCJjb3BzX2NiIiwgb2ssIHJlc3VsdCk7CiAJZGVjb2Rl X2F0X2Vycm9yKCZlcnJvciwgZ19hdF9yZXN1bHRfZmluYWxfcmVzcG9uc2UocmVzdWx0KSk7CiAK LQlpZiAoIW9rIHx8IGF0LT5uZXRyZWctPm1jYyA9PSAtMSB8fCBhdC0+bmV0cmVnLT5tbmMgPT0g LTEpIHsKKwlpZiAoIW9rIHx8ICphdC0+bmV0cmVnLT5tY2MgPT0gJ1wwJyB8fCAqYXQtPm5ldHJl Zy0+bW5jID09ICdcMCcpIHsKIAkJY2IoJmVycm9yLCBOVUxMLCBjYmQtPmRhdGEpOwogCQlnb3Rv IG91dDsKIAl9CkBAIC0xODEsMTIgKzE3MywxNiBAQCBzdGF0aWMgdm9pZCBjb3BzX2NiKGdib29s ZWFuIG9rLCBHQXRSZXN1bHQgKnJlc3VsdCwgZ3BvaW50ZXIgdXNlcl9kYXRhKQogCXN0cm5jcHko b3AubmFtZSwgbmFtZSwgT0ZPTk9fTUFYX09QRVJBVE9SX05BTUVfTEVOR1RIKTsKIAlvcC5uYW1l W09GT05PX01BWF9PUEVSQVRPUl9OQU1FX0xFTkdUSF0gPSAnXDAnOwogCi0Jb3AubWNjID0gYXQt Pm5ldHJlZy0+bWNjOwotCW9wLm1uYyA9IGF0LT5uZXRyZWctPm1uYzsKKwlzdHJuY3B5KG9wLm1j YywgYXQtPm5ldHJlZy0+bWNjLCBPRk9OT19NQVhfTU5DX01DQ19MRU5HVEgpOworCW9wLm1jY1tP Rk9OT19NQVhfTU5DX01DQ19MRU5HVEhdID0gJ1wwJzsKKworCXN0cm5jcHkob3AubW5jLCBhdC0+ bmV0cmVnLT5tbmMsIE9GT05PX01BWF9NTkNfTUNDX0xFTkdUSCk7CisJb3AubW5jW09GT05PX01B WF9NTkNfTUNDX0xFTkdUSF0gPSAnXDAnOworCiAJb3Auc3RhdHVzID0gLTE7CiAJb3AudGVjaCA9 IHRlY2g7CiAKLQlvZm9ub19kZWJ1ZygiY29wc19jYjogJXMsICVoZCAlaGQgJWQiLCBuYW1lLCBh dC0+bmV0cmVnLT5tY2MsCisJb2Zvbm9fZGVidWcoImNvcHNfY2I6ICVzLCAlcyAlcyAlZCIsIG5h bWUsIGF0LT5uZXRyZWctPm1jYywKIAkJCWF0LT5uZXRyZWctPm1uYywgdGVjaCk7CiAKIAljYigm ZXJyb3IsICZvcCwgY2JkLT5kYXRhKTsKQEAgLTIzNSwxNSArMjMxLDE2IEBAIHN0YXRpYyB2b2lk IGNvcHNfbnVtZXJpY19jYihnYm9vbGVhbiBvaywgR0F0UmVzdWx0ICpyZXN1bHQsIGdwb2ludGVy IHVzZXJfZGF0YSkKIAkJc3RybGVuKHN0cikgPT0gMCkKIAkJZ290byBlcnJvcjsKIAotCWV4dHJh Y3RfbWNjX21uYyhzdHIsICZhdC0+bmV0cmVnLT5tY2MsICZhdC0+bmV0cmVnLT5tbmMpOworCWV4 dHJhY3RfbWNjX21uYyhzdHIsIGF0LT5uZXRyZWctPm1jYywgYXQtPm5ldHJlZy0+bW5jKTsKIAot CW9mb25vX2RlYnVnKCJDb3BzIG51bWVyaWMgZ290IG1jYzogJWhkLCBtbmM6ICVoZCIsCisJb2Zv bm9fZGVidWcoIkNvcHMgbnVtZXJpYyBnb3QgbWNjOiAlcywgbW5jOiAlcyIsCiAJCQlhdC0+bmV0 cmVnLT5tY2MsIGF0LT5uZXRyZWctPm1uYyk7CiAKIAlyZXR1cm47CiAKIGVycm9yOgotCWF0LT5u ZXRyZWctPm1jYyA9IGF0LT5uZXRyZWctPm1uYyA9IC0xOworCSphdC0+bmV0cmVnLT5tY2MgPSAn XDAnOworCSphdC0+bmV0cmVnLT5tbmMgPSAnXDAnOwogfQogCiBzdGF0aWMgdm9pZCBhdF9jdXJy ZW50X29wZXJhdG9yKHN0cnVjdCBvZm9ub19tb2RlbSAqbW9kZW0sCkBAIC0zNTYsNyArMzUzLDcg QEAgc3RhdGljIHZvaWQgY29wc19saXN0X2NiKGdib29sZWFuIG9rLCBHQXRSZXN1bHQgKnJlc3Vs dCwgZ3BvaW50ZXIgdXNlcl9kYXRhKQogCQkJaWYgKCFnX2F0X3Jlc3VsdF9pdGVyX25leHRfc3Ry aW5nKCZpdGVyLCAmbikpCiAJCQkJYnJlYWs7CiAKLQkJCWV4dHJhY3RfbWNjX21uYyhuLCAmbGlz dFtudW1dLm1jYywgJmxpc3RbbnVtXS5tbmMpOworCQkJZXh0cmFjdF9tY2NfbW5jKG4sIGxpc3Rb bnVtXS5tY2MsIGxpc3RbbnVtXS5tbmMpOwogCiAJCQlpZiAoIWdfYXRfcmVzdWx0X2l0ZXJfbmV4 dF9udW1iZXIoJml0ZXIsICZ0ZWNoKSkKIAkJCQl0ZWNoID0gMDsKQEAgLTM3Niw3ICszNzMsNyBA QCBzdGF0aWMgdm9pZCBjb3BzX2xpc3RfY2IoZ2Jvb2xlYW4gb2ssIEdBdFJlc3VsdCAqcmVzdWx0 LCBncG9pbnRlciB1c2VyX2RhdGEpCiAJaW50IGkgPSAwOwogCiAJZm9yICg7IGkgPCBudW07IGkr KykgewotCQlvZm9ub19kZWJ1ZygiT3BlcmF0b3I6ICVzLCAlaGQsICVoZCwgc3RhdHVzOiAlZCwg JWQiLAorCQlvZm9ub19kZWJ1ZygiT3BlcmF0b3I6ICVzLCAlcywgJXMsIHN0YXR1czogJWQsICVk IiwKIAkJCQlsaXN0W2ldLm5hbWUsIGxpc3RbaV0ubWNjLCBsaXN0W2ldLm1uYywKIAkJCQlsaXN0 W2ldLnN0YXR1cywgbGlzdFtpXS50ZWNoKTsKIAl9CkBAIC00NTcsMTIgKzQ1NCwxMiBAQCBzdGF0 aWMgdm9pZCBhdF9yZWdpc3Rlcl9tYW51YWwoc3RydWN0IG9mb25vX21vZGVtICptb2RlbSwKIAkJ Z290byBlcnJvcjsKIAogCWlmIChhdC0+bmV0cmVnLT5zdXBwb3J0c190ZWNoICYmIG9wZXItPnRl Y2ggIT0gLTEpCi0JCXNwcmludGYoYnVmLCAiQVQrQ09QUz0xLDIsXCIlMDNoZCUwMmhkXCIsJTFk Iiwgb3Blci0+bWNjLAotCQkJCQkJCW9wZXItPm1uYywKLQkJCQkJCQlvcGVyLT50ZWNoKTsKKwkJ c3ByaW50ZihidWYsICJBVCtDT1BTPTEsMixcIiVzJXNcIiwlMWQiLCBvcGVyLT5tY2MsCisJCQkJ CQlvcGVyLT5tbmMsCisJCQkJCQlvcGVyLT50ZWNoKTsKIAllbHNlCi0JCXNwcmludGYoYnVmLCAi QVQrQ09QUz0xLDIsXCIlMDNoZCUwMmhkXCIiLCBvcGVyLT5tY2MsCi0JCQkJCQkJb3Blci0+bW5j KTsKKwkJc3ByaW50ZihidWYsICJBVCtDT1BTPTEsMixcIiVzJXNcIiIsIG9wZXItPm1jYywKKwkJ CQkJCW9wZXItPm1uYyk7CiAKIAlpZiAoZ19hdF9jaGF0X3NlbmQoYXQtPnBhcnNlciwgYnVmLCBu b25lX3ByZWZpeCwKIAkJCQlyZWdpc3Rlcl9jYiwgY2JkLCBnX2ZyZWUpID4gMCkKZGlmZiAtLWdp dCBhL3NyYy9kcml2ZXIuaCBiL3NyYy9kcml2ZXIuaAppbmRleCA2MTUwNGRkLi5mNzUzYzdmIDEw MDY0NAotLS0gYS9zcmMvZHJpdmVyLmgKKysrIGIvc3JjL2RyaXZlci5oCkBAIC03NCwxMCArNzQs MTMgQEAgc3RydWN0IG9mb25vX2NhbGwgewogICogICAqLwogI2RlZmluZSBPRk9OT19NQVhfT1BF UkFUT1JfTkFNRV9MRU5HVEggNjMKIAorLyogTUNDIGlzIGFsd2F5cyB0aHJlZSBkaWdpdHMuIE1O QyBpcyBlaXRoZXIgdHdvIG9yIHRocmVlIGRpZ2l0cyAqLworI2RlZmluZSBPRk9OT19NQVhfTU5D X01DQ19MRU5HVEggMworCiBzdHJ1Y3Qgb2Zvbm9fbmV0d29ya19vcGVyYXRvciB7CiAJY2hhciBu YW1lW09GT05PX01BWF9PUEVSQVRPUl9OQU1FX0xFTkdUSCArIDFdOwotCXNob3J0IG1jYzsKLQlz aG9ydCBtbmM7CisJY2hhciBtY2NbT0ZPTk9fTUFYX01OQ19NQ0NfTEVOR1RIICsgMV07CisJY2hh ciBtbmNbT0ZPTk9fTUFYX01OQ19NQ0NfTEVOR1RIICsgMV07CiAJaW50IHN0YXR1czsKIAlpbnQg dGVjaDsKIH07CmRpZmYgLS1naXQgYS9zcmMvbmV0d29yay5jIGIvc3JjL25ldHdvcmsuYwppbmRl eCBmNzk3MTY1Li5hYTEzMDc3IDEwMDY0NAotLS0gYS9zcmMvbmV0d29yay5jCisrKyBiL3NyYy9u ZXR3b3JrLmMKQEAgLTE4MCw4ICsxODAsOSBAQCBzdGF0aWMgdm9pZCBuZXR3b3JrX29wZXJhdG9y X3BvcHVsYXRlX3JlZ2lzdGVyZWQoc3RydWN0IG9mb25vX21vZGVtICptb2RlbSwKIAlpbnQgbW9k ZW1fbGVuOwogCWludCBudW1fY2hpbGRyZW47CiAJR1NMaXN0ICpsOwotCWludCAqbWNjbW5jOwog CWNoYXIgcGF0aFtNQVhfREJVU19QQVRIX0xFTl07CisJY2hhciBtbmNbNF07CisJY2hhciBtY2Nb NF07CiAKIAltb2RlbV9sZW4gPSBzbnByaW50ZihwYXRoLCBNQVhfREJVU19QQVRIX0xFTiwgIiVz L29wZXJhdG9yIiwKIAkJCQltb2RlbS0+cGF0aCk7CkBAIC0xOTksMTAgKzIwMCw2IEBAIHN0YXRp YyB2b2lkIG5ldHdvcmtfb3BlcmF0b3JfcG9wdWxhdGVfcmVnaXN0ZXJlZChzdHJ1Y3Qgb2Zvbm9f bW9kZW0gKm1vZGVtLAogCiAJKm5ldHdvcmtfb3BlcmF0b3JzID0gZ190cnlfbmV3MChjaGFyICos IG51bV9jaGlsZHJlbiArIDEpOwogCi0JbWNjbW5jID0gZ190cnlfbmV3MChpbnQsIG51bV9jaGls ZHJlbiAqIDIpOwotCWZvciAoaSA9IDA7IGkgPCBudW1fY2hpbGRyZW47IGkrKykKLQkJc3NjYW5m KGNoaWxkcmVuW2ldLCAiJTNkJTNkIiwgJm1jY21uY1tpKjJdLCAmbWNjbW5jW2kqMisxXSk7Ci0K IAkvKiBRdW90aW5nIDI3LjAwNzogIlRoZSBsaXN0IG9mIG9wZXJhdG9ycyBzaGFsbCBiZSBpbiBv cmRlcjogaG9tZQogCSAqIG5ldHdvcmssIG5ldHdvcmtzIHJlZmVyZW5jZWQgaW4gU0lNIG9yIGFj dGl2ZSBhcHBsaWNhdGlvbiBpbiB0aGUKIAkgKiBVSUNDIChHU00gb3IgVVNJTSkgaW4gdGhlIGZv bGxvd2luZyBvcmRlcjogSFBMTU4gc2VsZWN0b3IsIFVzZXIKQEAgLTIxNywxOCArMjE0LDE3IEBA IHN0YXRpYyB2b2lkIG5ldHdvcmtfb3BlcmF0b3JfcG9wdWxhdGVfcmVnaXN0ZXJlZChzdHJ1Y3Qg b2Zvbm9fbW9kZW0gKm1vZGVtLAogCQlpbnQgajsKIAogCQlmb3IgKGogPSAwOyBjaGlsZHJlbltq XTsgaisrKSB7Ci0JCQlpZiAob3AtPm1jYyA9PSBtY2NtbmNbaioyXSAmJiBvcC0+bW5jID09IG1j Y21uY1tqKjIrMV0pIHsKLQkJCQkvKiBFbm91Z2ggdG8gc3RvcmUgJy8nICsgMyBjaGFyIHdpZGUg TUNDICsgMyBjaGFyIHdpZGUgTU5DICsgbnVsbCAqLwotCQkJCSgqbmV0d29ya19vcGVyYXRvcnMp W2ldID0gIGdfdHJ5X25ldyhjaGFyLCBtb2RlbV9sZW4gKyA4KTsKLQkJCQlzbnByaW50ZigoKm5l dHdvcmtfb3BlcmF0b3JzKVtpXSwgbW9kZW1fbGVuICsgOCwgIiVzLyVzIiwKKwkJCXNzY2FuZihj aGlsZHJlbltqXSwgIiUzWzAtOV0lWzAtOV0iLCBtY2MsIG1uYyk7CisJCQlpZiAoc3RyY21wKG9w LT5tY2MsIG1jYykgPT0gMCAmJiBzdHJjbXAob3AtPm1uYywgbW5jKSA9PSAwKSB7CisJCQkJLyog RW5vdWdoIHRvIHN0b3JlICcvJyArIE1DQyArICdfJyArIE1OQyArIG51bGwgKi8KKwkJCQkoKm5l dHdvcmtfb3BlcmF0b3JzKVtpXSA9ICBnX3RyeV9uZXcoY2hhciwgbW9kZW1fbGVuICsgOSk7CisJ CQkJc25wcmludGYoKCpuZXR3b3JrX29wZXJhdG9ycylbaV0sIG1vZGVtX2xlbiArIDksICIlcy8l cyIsCiAJCQkJCXBhdGgsIGNoaWxkcmVuW2pdKTsKIAkJCQkrK2k7CiAJCQl9CiAJCX0KIAl9CiAK LQlnX2ZyZWUobWNjbW5jKTsKLQogCWRidXNfZnJlZV9zdHJpbmdfYXJyYXkoY2hpbGRyZW4pOwog fQogCkBAIC0yNDQsMTkgKzI0MCwxMyBAQCBzdGF0aWMgZ2ludCBuZXR3b3JrX29wZXJhdG9yX2Nv bXBhcmUoZ2NvbnN0cG9pbnRlciBhLCBnY29uc3Rwb2ludGVyIGIpCiAJY29uc3Qgc3RydWN0IG9m b25vX25ldHdvcmtfb3BlcmF0b3IgKm9wYSA9IGE7CiAJY29uc3Qgc3RydWN0IG9mb25vX25ldHdv cmtfb3BlcmF0b3IgKm9wYiA9IGI7CiAKLQlpZiAob3BhLT5tY2MgPCBvcGItPm1jYykKLQkJcmV0 dXJuIC0xOworCWludCBjb21wMTsKKwlpbnQgY29tcDI7CiAKLQlpZiAob3BhLT5tY2MgPiBvcGIt Pm1jYykKLQkJcmV0dXJuIDE7CisJY29tcDEgPSBzdHJjbXAob3BhLT5tY2MsIG9wYi0+bWNjKTsK Kwljb21wMiA9IHN0cmNtcChvcGEtPm1uYywgb3BiLT5tbmMpOwogCi0JaWYgKG9wYS0+bW5jIDwg b3BiLT5tbmMpCi0JCXJldHVybiAtMTsKLQotCWlmIChvcGEtPm1uYyA+IG9wYi0+bW5jKQotCQly ZXR1cm4gMTsKLQotCXJldHVybiAwOworCXJldHVybiBjb21wMSAhPSAwID8gY29tcDEgOiBjb21w MjsKIH0KIAogc3RhdGljIGlubGluZSBjb25zdCBjaGFyICpuZXR3b3JrX29wZXJhdG9yX2J1aWxk X3BhdGgoc3RydWN0IG9mb25vX21vZGVtICptb2RlbSwKQEAgLTI2NCw3ICsyNTQsNyBAQCBzdGF0 aWMgaW5saW5lIGNvbnN0IGNoYXIgKm5ldHdvcmtfb3BlcmF0b3JfYnVpbGRfcGF0aChzdHJ1Y3Qg b2Zvbm9fbW9kZW0gKm1vZGVtLAogewogCXN0YXRpYyBjaGFyIHBhdGhbTUFYX0RCVVNfUEFUSF9M RU5dOwogCi0Jc25wcmludGYocGF0aCwgTUFYX0RCVVNfUEFUSF9MRU4sICIlcy9vcGVyYXRvci8l MDNkJTAzZCIsCisJc25wcmludGYocGF0aCwgTUFYX0RCVVNfUEFUSF9MRU4sICIlcy9vcGVyYXRv ci8lcyVzIiwKIAkJCW1vZGVtLT5wYXRoLCBvcGVyLT5tY2MsIG9wZXItPm1uYyk7CiAKIAlyZXR1 cm4gcGF0aDsKQEAgLTQyNywxNiArNDE3LDE2IEBAIHN0YXRpYyBEQnVzTWVzc2FnZSAqbmV0d29y a19vcGVyYXRvcl9nZXRfcHJvcGVydGllcyhEQnVzQ29ubmVjdGlvbiAqY29ubiwKIAogCWRidXNf Z3NtX2RpY3RfYXBwZW5kKCZkaWN0LCAiU3RhdHVzIiwgREJVU19UWVBFX1NUUklORywgJnN0YXR1 cyk7CiAKLQlpZiAob3AtPm9wZXJhdG9yLT5tY2MgIT0gLTEpIHsKLQkJZGJ1c191aW50MTZfdCBt Y2MgPSBvcC0+b3BlcmF0b3ItPm1jYzsKKwlpZiAoKm9wLT5vcGVyYXRvci0+bWNjICE9ICdcMCcp IHsKKwkJY29uc3QgY2hhciAqbWNjID0gb3AtPm9wZXJhdG9yLT5tY2M7CiAJCWRidXNfZ3NtX2Rp Y3RfYXBwZW5kKCZkaWN0LCAiTW9iaWxlQ291bnRyeUNvZGUiLAotCQkJCQlEQlVTX1RZUEVfVUlO VDE2LCAmbWNjKTsKKwkJCQkJREJVU19UWVBFX1NUUklORywgJm1jYyk7CiAJfQogCi0JaWYgKG9w LT5vcGVyYXRvci0+bW5jICE9IC0xKSB7Ci0JCWRidXNfdWludDE2X3QgbW5jID0gb3AtPm9wZXJh dG9yLT5tbmM7CisJaWYgKCpvcC0+b3BlcmF0b3ItPm1uYyAhPSAnXDAnKSB7CisJCWNvbnN0IGNo YXIgKm1uYyA9IG9wLT5vcGVyYXRvci0+bW5jOwogCQlkYnVzX2dzbV9kaWN0X2FwcGVuZCgmZGlj dCwgIk1vYmlsZU5ldHdvcmtDb2RlIiwKLQkJCQkJREJVU19UWVBFX1VJTlQxNiwgJm1uYyk7CisJ CQkJCURCVVNfVFlQRV9TVFJJTkcsICZtbmMpOwogCX0KIAogCWlmIChvcC0+b3BlcmF0b3ItPnRl Y2ggIT0gLTEpIHsKLS0gCjEuNi4wLjQKCg== --===============3548991948173192679==--