X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f Message-ID: <407FE8AA.3030207@012.net.il> Date: Fri, 16 Apr 2004 16:07:38 +0200 From: alexbodn User-Agent: Mozilla/5.0 (Windows; U; Win98; he-IL; rv:1.6) Gecko/20040113 X-Accept-Language: en-us, en, he MIME-Version: 1.0 To: djgpp AT delorie DOT com Subject: Re: DATABASE Programming with djgpp References: <407DC693 DOT 1010001 AT 012 DOT net DOT il> <407E2591 DOT 18392C25 AT yahoo DOT com> In-Reply-To: <407E2591.18392C25@yahoo.com> Content-Type: multipart/mixed; boundary="------------020406070009090707060901" Reply-To: djgpp AT delorie DOT com This is a multi-part message in MIME format. --------------020406070009090707060901 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit i have been asked about my small patches for sqlite to work with djgpp, and i would attach them to this message. those patches are mainly related to the short file names limitation on dos, and also small similarity issue to the unix os. since this is very small work, i have politely asked the sqlite author to incorporate my patches in the mainstream sqlite, in the hope that every new sqlite version would readily support djgpp. in the meantime, please enjoy using sqlite with my patches. i made it for sqlite version 2.8.11, but i hope them to work with later versions also. follow other instructions on the sqlite site for non unix platforms. best regards, alex ????? CBFalconer: >alexbodn wrote: > > >... snip ... > > >>sqlite from http://www.sqlite.org is a wonderfull, yet easy to use >>sql database engine, linkable to your software. searching this >>site will reveal you my modest patches to properly work with djgpp. >> >> > >The djgpp patches are not evident to me on the site. Maybe you >should prepare a package and make it available on the delorie >site. > > > --------------020406070009090707060901 Content-Type: video/x-dv; name="sqli2811.dif" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="sqli2811.dif" ZGlmZiAtdSAtcCAuLi9zcWxpdGUub3JpL29zLmMgLi9vcy5jDQotLS0gLi4vc3FsaXRlLm9y aS9vcy5jCTIwMDQtMDEtMTQgMDg6NDU6MDYuMDAwMDAwMDAwICswMDAwDQorKysgLi9vcy5j CTIwMDQtMDEtMTggMTU6MzA6NDguMDAwMDAwMDAwICswMDAwDQpAQCAtNTIsMTIgKzUyLDEy IEBADQogI2VuZGlmDQogDQogLyoNCi0qKiBUaGUgREpHUFAgY29tcGlsZXIgZW52aXJvbm1l bnQgbG9va3MgbW9zdGx5IGxpa2UgVW5peCwgYnV0IGl0DQorKiogT24gRE9TLCBldmVuIHRo ZSBESkdQUCBjb21waWxlciBlbnZpcm9ubWVudCwgd2hpY2ggbG9va3MgbW9zdGx5IGxpa2Ug VW5peCwNCiAqKiBsYWNrcyB0aGUgZmNudGwoKSBzeXN0ZW0gY2FsbC4gIFNvIHJlZGVmaW5l IGZjbnRsKCkgdG8gYmUgc29tZXRoaW5nDQotKiogdGhhdCBhbHdheXMgc3VjY2VlZHMuICBU aGlzIG1lYW5zIHRoYXQgbG9ja2luZyBkb2VzIG5vdCBvY2N1ciB1bmRlcg0KLSoqIERKR1BQ LiAgQnV0IGl0cyBET1MgLSB3aGF0IGRpZCB5b3UgZXhwZWN0Pw0KKyoqIHRoYXQgYWx3YXlz IHN1Y2NlZWRzLiAgVGhpcyBtZWFucyB0aGF0IGxvY2tpbmcgZG9lcyBub3Qgb2NjdXIgdW5k ZXIgRE9TLg0KKyoqIEJ1dCBpdHMgRE9TIC0gd2hhdCBkaWQgeW91IGV4cGVjdD8NCiAqLw0K LSNpZmRlZiBfX0RKR1BQX18NCisjaWZkZWYgX19NU0RPU19fDQogIyBkZWZpbmUgZmNudGwo QSxCLEMpIDANCiAjZW5kaWYNCiANCkBAIC00ODAsNiArNDgwLDkgQEAgaW50IHNxbGl0ZU9z T3BlblJlYWRXcml0ZSgNCiAgICAgcmV0dXJuIFNRTElURV9OT01FTTsNCiAgIH0NCiAgIGlk LT5sb2NrZWQgPSAwOw0KKyNpZmRlZiBfX01TRE9TX18NCisgIGlkLT5kZWxPbkNsb3NlID0g MDsNCisjZW5kaWYNCiAgIFRSQUNFMygiT1BFTiAgICAlLTNkICVzXG4iLCBpZC0+ZmQsIHpG aWxlbmFtZSk7DQogICBPcGVuQ291bnRlcigrMSk7DQogICByZXR1cm4gU1FMSVRFX09LOw0K QEAgLTYwMyw3ICs2MDYsMTMgQEAgaW50IHNxbGl0ZU9zT3BlbkV4Y2x1c2l2ZShjb25zdCBj aGFyICp6Rg0KICAgfQ0KICAgaWQtPmxvY2tlZCA9IDA7DQogICBpZiggZGVsRmxhZyApew0K KyNpZmRlZiBfX01TRE9TX18NCisgIGlkLT5kZWxPbkNsb3NlID0gZGVsRmxhZzsNCisgIGlm IChkZWxGbGFnKQ0KKyAgICBpZC0+cGF0aFRvRGVsID0gc3FsaXRlT3NGdWxsUGF0aG5hbWUo ekZpbGVuYW1lKTsNCisjZWxzZQ0KICAgICB1bmxpbmsoekZpbGVuYW1lKTsNCisjZW5kaWYN CiAgIH0NCiAgIFRSQUNFMygiT1BFTi1FWCAlLTNkICVzXG4iLCBpZC0+ZmQsIHpGaWxlbmFt ZSk7DQogICBPcGVuQ291bnRlcigrMSk7DQpAQCAtNjg4LDYgKzY5Nyw5IEBAIGludCBzcWxp dGVPc09wZW5SZWFkT25seShjb25zdCBjaGFyICp6RmkNCiAgICAgcmV0dXJuIFNRTElURV9O T01FTTsNCiAgIH0NCiAgIGlkLT5sb2NrZWQgPSAwOw0KKyNpZmRlZiBfX01TRE9TX18NCisg IGlkLT5kZWxPbkNsb3NlID0gMDsNCisjZW5kaWYNCiAgIFRSQUNFMygiT1BFTi1STyAlLTNk ICVzXG4iLCBpZC0+ZmQsIHpGaWxlbmFtZSk7DQogICBPcGVuQ291bnRlcigrMSk7DQogICBy ZXR1cm4gU1FMSVRFX09LOw0KQEAgLTc1OCw2ICs3NzAsNyBAQCBpbnQgc3FsaXRlT3NPcGVu RGlyZWN0b3J5KA0KICAgT3NGaWxlICppZA0KICl7DQogI2lmIE9TX1VOSVgNCisjaWZuZGVm IF9fTVNET1NfXw0KICAgaWYoIGlkLT5mZDwwICl7DQogICAgIC8qIERvIG5vdCBvcGVuIHRo ZSBkaXJlY3RvcnkgaWYgdGhlIGNvcnJlc3BvbmRpbmcgZmlsZSBpcyBub3QgYWxyZWFkeQ0K ICAgICAqKiBvcGVuLiAqLw0KQEAgLTc3MCw2ICs3ODMsNyBAQCBpbnQgc3FsaXRlT3NPcGVu RGlyZWN0b3J5KA0KICAgfQ0KICAgVFJBQ0UzKCJPUEVORElSICUtM2QgJXNcbiIsIGlkLT5k aXJmZCwgekRpcm5hbWUpOw0KICNlbmRpZg0KKyNlbmRpZg0KICAgcmV0dXJuIFNRTElURV9P SzsNCiB9DQogDQpAQCAtNzg3LDcgKzgwMSw5IEBAIGludCBzcWxpdGVPc1RlbXBGaWxlTmFt ZShjaGFyICp6QnVmKXsNCiAgIH07DQogICBzdGF0aWMgY2hhciB6Q2hhcnNbXSA9DQogICAg ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiINCisjaWZuZGVmIFNRTElURV9ESVNBQkxF X0xGTg0KICAgICAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiDQorI2VuZGlmDQogICAg ICIwMTIzNDU2Nzg5IjsNCiAgIGludCBpLCBqOw0KICAgc3RydWN0IHN0YXQgYnVmOw0KQEAg LTgwMCw5ICs4MTYsMTkgQEAgaW50IHNxbGl0ZU9zVGVtcEZpbGVOYW1lKGNoYXIgKnpCdWYp ew0KICAgICBicmVhazsNCiAgIH0NCiAgIGRvew0KKyNpZmRlZiBTUUxJVEVfRElTQUJMRV9M Rk4NCisgICAgc3RyY3B5KHpCdWYsIFRFTVBfRklMRV9QUkVGSVgpOw0KKyNlbHNlDQogICAg IHNwcmludGYoekJ1ZiwgIiVzLyJURU1QX0ZJTEVfUFJFRklYLCB6RGlyKTsNCisjZW5kaWYN CiAgICAgaiA9IHN0cmxlbih6QnVmKTsNCi0gICAgZm9yKGk9MDsgaTwxNTsgaSsrKXsNCisg ICAgZm9yKGk9MDsNCisjaWZkZWYgU1FMSVRFX0RJU0FCTEVfTEZODQorICAgICAgICBpPDU7 DQorI2Vsc2UNCisgICAgICAgIGk8MTU7DQorI2VuZGlmDQorICAgICAgICBpKyspew0KICAg ICAgIGludCBuID0gc3FsaXRlUmFuZG9tQnl0ZSgpICUgKHNpemVvZih6Q2hhcnMpLTEpOw0K ICAgICAgIHpCdWZbaisrXSA9IHpDaGFyc1tuXTsNCiAgICAgfQ0KQEAgLTkwOSw2ICs5MzUs MTIgQEAgaW50IHNxbGl0ZU9zQ2xvc2UoT3NGaWxlICppZCl7DQogICByZWxlYXNlT3BlbkNu dChpZC0+cE9wZW4pOw0KICAgc3FsaXRlT3NMZWF2ZU11dGV4KCk7DQogICBUUkFDRTIoIkNM T1NFICAgJS0zZFxuIiwgaWQtPmZkKTsNCisjaWZkZWYgX19NU0RPU19fDQorICBpZiggaWQt PmRlbE9uQ2xvc2UgJiYgaWQtPnBhdGhUb0RlbCAhPSBOVUxMKXsNCisgICAgdW5saW5rKGlk LT5wYXRoVG9EZWwpOw0KKyAgICBzcWxpdGVGcmVlKGlkLT5wYXRoVG9EZWwpOw0KKyAgfQ0K KyNlbmRpZg0KICAgT3BlbkNvdW50ZXIoLTEpOw0KICAgcmV0dXJuIFNRTElURV9PSzsNCiAj ZW5kaWYNCkBAIC0xNzM5LDcgKzE3NzEsMTEgQEAgdm9pZCBzcWxpdGVPc0xlYXZlTXV0ZXgo KXsNCiBjaGFyICpzcWxpdGVPc0Z1bGxQYXRobmFtZShjb25zdCBjaGFyICp6UmVsYXRpdmUp ew0KICNpZiBPU19VTklYDQogICBjaGFyICp6RnVsbCA9IDA7DQotICBpZiggelJlbGF0aXZl WzBdPT0nLycgKXsNCisgIGlmKCB6UmVsYXRpdmVbMF09PScvJw0KKyNpZmRlZiBfX01TRE9T X18NCisgICAgIHx8IHpSZWxhdGl2ZVswXT09J1xcJyB8fCB6UmVsYXRpdmVbMV09PSc6Jw0K KyNlbmRpZg0KKyAgICApew0KICAgICBzcWxpdGVTZXRTdHJpbmcoJnpGdWxsLCB6UmVsYXRp dmUsIChjaGFyKikwKTsNCiAgIH1lbHNlew0KICAgICBjaGFyIHpCdWZbNTAwMF07DQpkaWZm IC11IC1wIC4uL3NxbGl0ZS5vcmkvb3MuaCAuL29zLmgNCi0tLSAuLi9zcWxpdGUub3JpL29z LmgJMjAwNC0wMS0xNCAwODo0NTowNi4wMDAwMDAwMDAgKzAwMDANCisrKyAuL29zLmgJMjAw NC0wMS0xOCAxNTo0NzoxNC4wMDAwMDAwMDAgKzAwMDANCkBAIC0yMiw2ICsyMiwxNCBAQA0K ICoqIHRvIHRoZSBjb21waWxlciBjb21tYW5kIGxpbmUuDQogKi8NCiANCisvKmZvciB0aGUg ZGpncHAgZ251IGNjKi8NCisjaWZkZWYgX19NU0RPU19fDQorIyBkZWZpbmUgT1NfVU5JWCAx DQorIyBkZWZpbmUgU1FMSVRFX0RJU0FCTEVfTEZTIDENCisjIGRlZmluZSBTUUxJVEVfRElT QUJMRV9MRk4gMQ0KKyMgZGVmaW5lIFRFTVBfRklMRV9QUkVGSVggInNsXyINCisjZW5kaWYN CisNCiAvKg0KICoqIFRoZXNlICNkZWZpbmVzIHNob3VsZCBlbmFibGUgPjJHQiBmaWxlIHN1 cHBvcnQgb24gUG9zaXggaWYgdGhlDQogKiogdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVt IHN1cHBvcnRzIGl0LiAgSWYgdGhlIE9TIGxhY2tzDQpAQCAtMTAxLDYgKzEwOSw5IEBADQog IyBpbmNsdWRlIDxzeXMvc3RhdC5oPg0KICMgaW5jbHVkZSA8ZmNudGwuaD4NCiAjIGluY2x1 ZGUgPHVuaXN0ZC5oPg0KKyNpZmRlZiBfX01TRE9TX18NCisjIGluY2x1ZGUgPGxpbWl0cy5o Pg0KKyNlbmRpZg0KICAgdHlwZWRlZiBzdHJ1Y3QgT3NGaWxlIE9zRmlsZTsNCiAgIHN0cnVj dCBPc0ZpbGUgew0KICAgICBzdHJ1Y3Qgb3BlbkNudCAqcE9wZW47ICAgIC8qIEluZm8gYWJv dXQgYWxsIG9wZW4gZmQncyBvbiB0aGlzIGlub2RlICovDQpAQCAtMTA4LDYgKzExOSwxMCBA QA0KICAgICBpbnQgZmQ7ICAgICAgICAgICAgICAgICAgIC8qIFRoZSBmaWxlIGRlc2NyaXB0 b3IgKi8NCiAgICAgaW50IGxvY2tlZDsgICAgICAgICAgICAgICAvKiBUcnVlIGlmIHRoaXMg aW5zdGFuY2UgaG9sZHMgdGhlIGxvY2sgKi8NCiAgICAgaW50IGRpcmZkOyAgICAgICAgICAg ICAgICAvKiBGaWxlIGRlc2NyaXB0b3IgZm9yIHRoZSBkaXJlY3RvcnkgKi8NCisjaWZkZWYg X19NU0RPU19fDQorICAgIGludCBkZWxPbkNsb3NlOyAgICAgICAgICAvKiBUcnVlIGlmIGZp bGUgaXMgdG8gYmUgZGVsZXRlZCBvbiBjbG9zZSAqLw0KKyAgICBjaGFyICpwYXRoVG9EZWw7 ICAgICAgICAgLyogTmFtZSBvZiBmaWxlIHRvIGRlbGV0ZSBvbiBjbG9zZSAqLw0KKyNlbmRp Zg0KICAgfTsNCiAjIGRlZmluZSBTUUxJVEVfVEVNUE5BTUVfU0laRSAyMDANCiAjIGlmIGRl ZmluZWQoSEFWRV9VU0xFRVApICYmIEhBVkVfVVNMRUVQDQpkaWZmIC11IC1wIC4uL3NxbGl0 ZS5vcmkvcGFnZXIuYyAuL3BhZ2VyLmMNCi0tLSAuLi9zcWxpdGUub3JpL3BhZ2VyLmMJMjAw NC0wMS0xNCAwODo0NTowNi4wMDAwMDAwMDAgKzAwMDANCisrKyAuL3BhZ2VyLmMJMjAwNC0w MS0xOCAxNToyMTo0Mi4wMDAwMDAwMDAgKzAwMDANCkBAIC04NzAsNyArODcwLDIxIEBAIGlu dCBzcWxpdGVwYWdlcl9vcGVuKA0KICAgaWYoIGk+MCApIHBQYWdlci0+ekRpcmVjdG9yeVtp LTFdID0gMDsNCiAgIHN0cmNweShwUGFnZXItPnpKb3VybmFsLCB6RnVsbFBhdGhuYW1lKTsN CiAgIHNxbGl0ZUZyZWUoekZ1bGxQYXRobmFtZSk7DQorI2lmZGVmIFNRTElURV9ESVNBQkxF X0xGTg0KKyAgZm9yKGk9bmFtZUxlbjsgaT4wICYmIHBQYWdlci0+ekpvdXJuYWxbaS0xXSE9 Jy4nOyBpLS0pew0KKyAgCWlmKCBwUGFnZXItPnpKb3VybmFsW2ktMV09PSdcXCcgfHwgcFBh Z2VyLT56Sm91cm5hbFtpLTFdPT0nLycgKXsNCisgICAgCWk9MDsNCisgICAgICAgIGJyZWFr Ow0KKyAgICB9DQorICB9DQorICBpZiggaT09MCApew0KKyAgICBwUGFnZXItPnpKb3VybmFs W25hbWVMZW5dID0gJy4nOw0KKyAgICBpPW5hbWVMZW4rMTsNCisgIH0NCisgIHN0cmNweSgm cFBhZ2VyLT56Sm91cm5hbFtpXSwianJuIik7DQorI2Vsc2UNCiAgIHN0cmNweSgmcFBhZ2Vy LT56Sm91cm5hbFtuYW1lTGVuXSwgIi1qb3VybmFsIik7DQorI2VuZGlmDQogICBwUGFnZXIt PmZkID0gZmQ7DQogICBwUGFnZXItPmpvdXJuYWxPcGVuID0gMDsNCiAgIHBQYWdlci0+dXNl Sm91cm5hbCA9IHVzZUpvdXJuYWw7DQpkaWZmIC11IC1wIC4uL3NxbGl0ZS5vcmkvc2hlbGwu YyAuL3NoZWxsLmMNCi0tLSAuLi9zcWxpdGUub3JpL3NoZWxsLmMJMjAwNC0wMS0xNCAwODo0 NTowNi4wMDAwMDAwMDAgKzAwMDANCisrKyAuL3NoZWxsLmMJMjAwNC0wMS0xOCAxNToyMTo0 Mi4wMDAwMDAwMDAgKzAwMDANCkBAIC00MSwxMCArNDEsMTEgQEANCiAjIGluY2x1ZGUgPHJl YWRsaW5lL2hpc3RvcnkuaD4NCiAjZWxzZQ0KICMgZGVmaW5lIHJlYWRsaW5lKHApIGxvY2Fs X2dldGxpbmUocCxzdGRpbikNCi0jIGRlZmluZSBhZGRfaGlzdG9yeShYKQ0KLSMgZGVmaW5l IHJlYWRfaGlzdG9yeShYKQ0KLSMgZGVmaW5lIHdyaXRlX2hpc3RvcnkoWCkNCi0jIGRlZmlu ZSBzdGlmbGVfaGlzdG9yeShYKQ0KKy8qYWxleDpzaW5jZSB0aG9zZSBhcmUgdXNlZCBhcyB0 aGUgd2hvbGUgYm9keSBvZiBjb25zZXF1ZW50IGlmIHN0YXRlbWVudHMqLw0KKyMgZGVmaW5l IGFkZF9oaXN0b3J5KFgpIHt9DQorIyBkZWZpbmUgcmVhZF9oaXN0b3J5KFgpIHt9DQorIyBk ZWZpbmUgd3JpdGVfaGlzdG9yeShYKSB7fQ0KKyMgZGVmaW5lIHN0aWZsZV9oaXN0b3J5KFgp IHt9DQogI2VuZGlmDQogDQogLyogTWFrZSBzdXJlIGlzYXR0eSgpIGhhcyBhIHByb3RvdHlw ZS4NCk9ubHkgaW4gLjogc3FsaTI4MTEuZGlmDQpkaWZmIC11IC1wIC4uL3NxbGl0ZS5vcmkv dmFjdXVtLmMgLi92YWN1dW0uYw0KLS0tIC4uL3NxbGl0ZS5vcmkvdmFjdXVtLmMJMjAwNC0w MS0xNCAwODo0NTowNi4wMDAwMDAwMDAgKzAwMDANCisrKyAuL3ZhY3V1bS5jCTIwMDQtMDEt MTkgMTA6MTg6NDAuMDAwMDAwMDAwICswMDAwDQpAQCAtMjU1LDEyICsyNTUsMzggQEAgaW50 IHNxbGl0ZVJ1blZhY3V1bShjaGFyICoqcHpFcnJNc2csIHNxbA0KICAgelRlbXAgPSBzcWxp dGVNYWxsb2MoIG5GaWxlbmFtZSsxMDAgKTsNCiAgIGlmKCB6VGVtcD09MCApIHJldHVybiBT UUxJVEVfTk9NRU07DQogICBzdHJjcHkoelRlbXAsIHpGaWxlbmFtZSk7DQorI2lmZGVmIFNR TElURV9ESVNBQkxFX0xGTg0KKy8qc2luY2UgZm9yIHRoaXMgY2FzZSB0aGUgam91cm5hbCBm aWxlIG5hbWUgd2lsbCBiZSB0aGUgZGF0YWJhc2UgbmFtZQ0KKyAgd2l0aCB0aGUgLmpybiBz dWZmaXgsIGEgbmFtZSBjbGFzaCB3aWxsIG9jY3VyIHdpdGggdGhlIG9yaWdpbmFsIGRhdGFi YXNlDQorICBqb3VybmFsLiB0byBlbGltaW5hdGUgdGhpcyBjbGFzaCwgdGhlIHZhY3V1bSBk YXRhYmFzZSB3aWxsIGhhdmUNCisgIHRlbXBvcmFyeSBuYW1lLiovDQorICBmb3IoaT1uRmls ZW5hbWUtMTsgaT4wICYmIHpUZW1wW2ldIT0nXFwnICYmIHpUZW1wW2ldIT0nLyc7IGktLSl7 DQorICAJelRlbXBbaV09J1wwJzsNCisgIH0NCisgIGlmICggMSApDQorICB7DQorICAgICBj aGFyICpjd2QgPSBzcWxpdGVNYWxsb2MoUEFUSF9NQVgpOw0KKyAgICAgaWYgKGN3ZCAmJiBn ZXRjd2QoY3dkLCBQQVRIX01BWCkpDQorICAgICB7DQorICAgICAgIGNoYXIgKmZ1bGx0ZW1w ID0gTlVMTDsNCisgICAgICAgY2hkaXIoelRlbXApOyAvKm5vdywgaXQncyB0aGUgZGF0YWJh c2UgZGlyKi8NCisgICAgICAgc3FsaXRlT3NUZW1wRmlsZU5hbWUoelRlbXApOw0KKyAgICAg ICBmdWxsdGVtcCA9IHNxbGl0ZU9zRnVsbFBhdGhuYW1lKHpUZW1wKTsNCisgICAgICAgc3Fs aXRlRnJlZSh6VGVtcCk7DQorICAgICAgIHpUZW1wID0gZnVsbHRlbXA7DQorICAgICAgIGNo ZGlyKGN3ZCk7DQorICAgICAgIHNxbGl0ZUZyZWUoY3dkKTsNCisgICAgIH0NCisgIH0NCisg IGlmKCAhelRlbXAgfHwgc3FsaXRlT3NGaWxlRXhpc3RzKHpUZW1wKSApew0KKyNlbHNlDQog ICBmb3IoaT0wOyBpPDEwOyBpKyspew0KICAgICB6VGVtcFtuRmlsZW5hbWVdID0gJy0nOw0K ICAgICByYW5kb21OYW1lKCZ6VGVtcFtuRmlsZW5hbWUrMV0pOw0KICAgICBpZiggIXNxbGl0 ZU9zRmlsZUV4aXN0cyh6VGVtcCkgKSBicmVhazsNCiAgIH0NCiAgIGlmKCBpPj0xMCApew0K KyNlbmRpZg0KICAgICBzcWxpdGVTZXRTdHJpbmcocHpFcnJNc2csICJ1bmFibGUgdG8gY3Jl YXRlIGEgdGVtcG9yYXJ5IGRhdGFiYXNlIGZpbGUgIg0KICAgICAgICAiaW4gdGhlIHNhbWUg ZGlyZWN0b3J5IGFzIHRoZSBvcmlnaW5hbCBkYXRhYmFzZSIsIChjaGFyKikwKTsNCiAgICAg Z290byBlbmRfb2ZfdmFjdXVtOw0K --------------020406070009090707060901--