From: Date: August 25 2004 3:56pm Subject: Re: [PATCH][RESUBMIT] mysql_db_quote + UTF8 flagged strings List-Archive: http://lists.mysql.com/perl/3141 Message-Id: <412C9A74.6040001@acronis.ru> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------070607040905060008090100" --------------070607040905060008090100 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Rudy Lippan wrote: > On Wed, 25 Aug 2004, Ruslan U. Zakirov wrote: > > >>Attached patch fix problems for users of perl5.8.x when somebody try >>quote strings with UTF8 flag enabled: > > > After a quick look over, it looks good, so I'll put this in the next version. > Do you, by chance, have a test script to go with the patch? > > > >>PS. May be PERL_VERSION check should be changed to right values, I don't >>know when exactly UTF8 flag was introduced. > > > We will find out in testing, right :) > > > Thank you, > > Rudy lippan. > > --------------070607040905060008090100 Content-Type: application/aegis-patch; name="mysql_quote_utf_fix.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="mysql_quote_utf_fix.patch" ZGlmZiAtTnJ1IERCRC1teXNxbC0yLjkwMDMvZGJkaW1wLmMgREJELW15c3FsLTIuOTAwMy1t eS9kYmRpbXAuYwotLS0gREJELW15c3FsLTIuOTAwMy9kYmRpbXAuYwkyMDAzLTEwLTE3IDIx OjIwOjUwLjAwMDAwMDAwMCArMDQwMAorKysgREJELW15c3FsLTIuOTAwMy1teS9kYmRpbXAu YwkyMDA0LTA1LTAzIDIxOjEyOjQxLjAwMDAwMDAwMCArMDQwMApAQCAtMjQ0OSw2ICsyNDQ5 LDEwIEBACiAJKnNwdHIrKyA9ICdcMCc7ICAvKiAgTmV2ZXIgaHVydHMgTlVMIHRlcm1pbmF0 aW5nIGEgUGVybAogCQkJICAqCSBzdHJpbmcgLi4uCiAJCQkgICovCisjaWYgKChQRVJMX1JF VklTSU9OID49IDUpICYmIChQRVJMX1ZFUlNJT04gPj0gOCkpCisJaWYoU3ZVVEY4KHN0cikp CisJICAgIFN2VVRGOF9vbihyZXN1bHQpOworI2VuZGlmCiAgICAgfQogICAgIHJldHVybiBy ZXN1bHQ7CiB9CmRpZmYgLU5ydSBEQkQtbXlzcWwtMi45MDAzL01BTklGRVNUIERCRC1teXNx bC0yLjkwMDMtbXkvTUFOSUZFU1QKLS0tIERCRC1teXNxbC0yLjkwMDMvTUFOSUZFU1QJMjAw My0wNi0xNiAxMDowNzowNy4wMDAwMDAwMDAgKzA0MDAKKysrIERCRC1teXNxbC0yLjkwMDMt bXkvTUFOSUZFU1QJMjAwNC0wOC0yNSAxNzoyODowNC4wMDAwMDAwMDAgKzA0MDAKQEAgLTI4 LDYgKzI4LDcgQEAKIHQvaW5zZXJ0aWQudAogdC9teXNxbC5kYnRlc3QKIHQvbXlzcWwubXRl c3QKK3QvNDBxdW90ZS50CiBkYmRpbXAuaAogY29uc3RhbnRzLmgKIGxpYi9NeXNxbC5wbQpk aWZmIC1OcnUgREJELW15c3FsLTIuOTAwMy90LzQwbGlzdGZpZWxkcy50IERCRC1teXNxbC0y LjkwMDMtbXkvdC80MGxpc3RmaWVsZHMudAotLS0gREJELW15c3FsLTIuOTAwMy90LzQwbGlz dGZpZWxkcy50CTIwMDMtMTAtMjIgMjI6Mjk6MzUuMDAwMDAwMDAwICswNDAwCisrKyBEQkQt bXlzcWwtMi45MDAzLW15L3QvNDBsaXN0ZmllbGRzLnQJMjAwNC0wOC0yNSAxNzo0MjowNS4w MDAwMDAwMDAgKzA0MDAKQEAgLTEzMywxOCArMTMzLDQgQEAKIAlvciAhJHZlcmJvc2Ugb3Ig cHJpbnRmKCJOVU1fT0ZfRklFTERTIGlzICVzLCBub3QgemVyby5cbiIsCiAJCQkgICAgICAg JGN1cnNvci0+eydOVU1fT0ZfRklFTERTJ30pOwogICAgIFRlc3QoJHN0YXRlIG9yICh1bmRl ZiAkY3Vyc29yKSBvciAxKTsKLQotICAgICMKLSAgICAjICBUZXN0IGRpZmZlcmVudCBmbGF2 b3VycyBvZiBxdW90ZS4gTmVlZCB0byB3b3JrIGFyb3VuZCBhIGJ1ZyBpbgotICAgICMgIERC SSAxLjAyIC4uLgotICAgICMKLSAgICBteSAkcXVvdGVkOwotICAgIGlmICghJHN0YXRlKSB7 Ci0JJHF1b3RlZCA9IGV2YWwgeyAkZGJoLT5xdW90ZSgwLCBEQkk6OlNRTF9JTlRFR0VSKCkp IH07Ci0gICAgfQotICAgIFRlc3QoJHN0YXRlIG9yICRAICBvciAgJHF1b3RlZCBlcSAwKTsK LSAgICBpZiAoISRzdGF0ZSkgewotCSRxdW90ZWQgPSBldmFsIHsgJGRiaC0+cXVvdGUoJ2Fi YycsIERCSTo6U1FMX1ZBUkNIQVIoKSkgfTsKLSAgICB9Ci0gICAgVGVzdCgkc3RhdGUgb3Ig JEAgb3IgJHF1b3RlZCBlcSBxeydhYmMnfSk7CiB9CmRpZmYgLU5ydSBEQkQtbXlzcWwtMi45 MDAzL3QvNDBxdW90ZS50IERCRC1teXNxbC0yLjkwMDMtbXkvdC80MHF1b3RlLnQKLS0tIERC RC1teXNxbC0yLjkwMDMvdC80MHF1b3RlLnQJMTk3MC0wMS0wMSAwMzowMDowMC4wMDAwMDAw MDAgKzAzMDAKKysrIERCRC1teXNxbC0yLjkwMDMtbXkvdC80MHF1b3RlLnQJMjAwNC0wOC0y NSAxNzo1NDoxNi4wMDAwMDAwMDAgKzA0MDAKQEAgLTAsMCArMSw3MiBAQAorIyEvdXNyL2xv Y2FsL2Jpbi9wZXJsCisjCisjICAgVGhpcyBpcyBhIHRlc3QgZm9yIHF1b3RlIGNhbGwKKyMK KworCisjCisjICAgTWFrZSAtdyBoYXBweQorIworJHRlc3RfZHNuID0gJyc7CiskdGVzdF91 c2VyID0gJyc7CiskdGVzdF9wYXNzd29yZCA9ICcnOworCisKKyMKKyMgICBJbmNsdWRlIGxp Yi5wbAorIwordXNlIERCSTsKK3VzZSB2YXJzIHF3KCR2ZXJib3NlKTsKKworJG1kcml2ZXIg PSAiIjsKK2ZvcmVhY2ggJGZpbGUgKCJsaWIucGwiLCAidC9saWIucGwiKSB7CisgICAgZG8g JGZpbGU7IGlmICgkQCkgeyBwcmludCBTVERFUlIgIkVycm9yIHdoaWxlIGV4ZWN1dGluZyBs aWIucGw6ICRAXG4iOworCQkJICAgZXhpdCAxMDsKKwkJICAgICAgfQorICAgIGlmICgkbWRy aXZlciBuZSAnJykgeworCWxhc3Q7CisgICAgfQorfQorCitzdWIgU2VydmVyRXJyb3IoKSB7 CisgICAgcHJpbnQgU1RERVJSICgiQ2Fubm90IGNvbm5lY3Q6ICIsICREQkk6OmVycnN0ciwg IlxuIiwKKwkiXHRFaXRoZXIgeW91ciBzZXJ2ZXIgaXMgbm90IHVwIGFuZCBydW5uaW5nIG9y IHlvdSBoYXZlIG5vXG4iLAorCSJcdHBlcm1pc3Npb25zIGZvciBhY2Vzc2luZyB0aGUgRFNO ICR0ZXN0X2Rzbi5cbiIsCisJIlx0VGhpcyB0ZXN0IHJlcXVpcmVzIGEgcnVubmluZyBzZXJ2 ZXIgYW5kIHdyaXRlIHBlcm1pc3Npb25zLlxuIiwKKwkiXHRQbGVhc2UgbWFrZSBzdXJlIHlv dXIgc2VydmVyIGlzIHJ1bm5pbmcgYW5kIHlvdSBoYXZlXG4iLAorCSJcdHBlcm1pc3Npb25z LCB0aGVuIHJldHJ5LlxuIik7CisgICAgZXhpdCAxMDsKK30KKworIworIyAgIE1haW4gbG9v cDsgbGVhdmUgdGhpcyB1bnRvdWNoZWQsIHB1dCB0ZXN0cyBhZnRlciBjcmVhdGluZworIyAg IHRoZSBuZXcgdGFibGUuCisjCit3aGlsZSAoVGVzdGluZygpKSB7CisgICAgIworICAgICMg ICBDb25uZWN0IHRvIHRoZSBkYXRhYmFzZQorICAgIFRlc3QoJHN0YXRlIG9yICRkYmggPSBE QkktPmNvbm5lY3QoJHRlc3RfZHNuLCAkdGVzdF91c2VyLCAkdGVzdF9wYXNzd29yZCkpCisJ b3IgU2VydmVyRXJyb3IoKTsKKworICAgICMgIFRlc3QgZGlmZmVyZW50IGZsYXZvdXJzIG9m IHF1b3RlLiBOZWVkIHRvIHdvcmsgYXJvdW5kIGEgYnVnIGluCisgICAgIyAgREJJIDEuMDIg Li4uCisgICAgIworCisgICAgbXkgJHF1b3RlZDsKKyAgICBpZiAoISRzdGF0ZSkgeworCSRx dW90ZWQgPSBldmFsIHsgJGRiaC0+cXVvdGUoMCwgREJJOjpTUUxfSU5URUdFUigpKSB9Owor ICAgIH0KKyAgICBUZXN0KCRzdGF0ZSBvciAkQCBvciAkcXVvdGVkIGVxIDApOworICAgIGlm ICghJHN0YXRlKSB7CisJJHF1b3RlZCA9IGV2YWwgeyAkZGJoLT5xdW90ZSgnYWJjJywgREJJ OjpTUUxfVkFSQ0hBUigpKSB9OworICAgIH0KKyAgICBUZXN0KCRzdGF0ZSBvciAkQCBvciAk cXVvdGVkIGVxIHF7J2FiYyd9KTsKKworICAgIGV2YWwgeyByZXF1aXJlIEVuY29kZTsgfTsK KyAgICB1bmxlc3MoICRAICkgeworCWlmICghJHN0YXRlKSB7CisJICAgICRxdW90ZWQgPSBl dmFsIHsgJGRiaC0+cXVvdGUoIlx4ezQ0Mn1ceHs0MzV9XHh7NDQxfVx4ezQ0Mn0iLCBEQkk6 OlNRTF9WQVJDSEFSKCkpIH07CisJfQorCVRlc3QoJHN0YXRlIG9yICRAIG9yIChFbmNvZGU6 OmlzX3V0ZjgoJHF1b3RlZCkgYW5kICRxdW90ZWQgZXEgIidceHs0NDJ9XHh7NDM1fVx4ezQ0 MX1ceHs0NDJ9JyIpKTsKKyAgICB9Cit9Cg== --------------070607040905060008090100--