Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-OB-Received: from unknown (205.158.62.182) by wfilter.us4.outblaze.com; 5 Mar 2005 09:06:51 -0000 Content-Type: multipart/mixed; boundary="----------=_1110013611-15189-0" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 From: "imaginate australiamail.com" To: cygwin AT cygwin DOT com Date: Sat, 05 Mar 2005 04:06:51 -0500 Subject: apparent bug: incorrect file position after write() Message-Id: <20050305090651.B2AB31CE32B@ws1-6.us4.outblaze.com> X-IsSubscribed: yes Note-from-DJ: This may be spam ------------=_1110013611-15189-0 Content-Type: text/plain; charset="iso-8859-1" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable I'm experiencing unexpected behaviour under cygwin that as far as I=20 know doesn't happen under linux. I don't have access to linux to=20 test at present. Some successful write()s to a file increment the file's position by=20 more than the count argument. The extra byte(s) are added to the=20 file's size and can be read by lseek()ing to the exact location=20 where the extra byte(s) start. When reading from a location prior=20 to this location the extra byte(s) become invisible although they=20 can affect the values returned from read() and lseek(). I have other priorities that prevent me from debugging the cygwin=20 source code however I have produced some code that reliably=20 replicates the problem. I have attached two source files, one of=20 which is the bare minimum to reproduce the problem and the other of=20 which does a bit more analysis. They can each be compiled simply=20 by giving the filename as an argument to gcc. Also attached is a file with the contents of a shell session where=20 I demonstrate the results I am getting from the programs on this=20 machine. Finally I have attached the results of the cygcheck -s -v=20 -r command. The 'xyz' directory is not its actual name but this as=20 far as I can see is irrelevant to the problem. Have at it folks... --=20 ___________________________________________________________ Sign-up for Ads Free at Mail.com http://promo.mail.com/adsfreejump.htm ------------=_1110013611-15189-0 Content-Type: application/octet-stream; name="cygcheck.out" Content-Disposition: attachment; filename="cygcheck.out" Content-Transfer-Encoding: base64 DQpDeWd3aW4gQ29uZmlndXJhdGlvbiBEaWFnbm9zdGljcw0KQ3VycmVudCBT eXN0ZW0gVGltZTogU2F0IE1hciAwNSAxOToyNDowOCAyMDA1DQoNCldpbmRv d3MgOTggU0UgVmVyIDQuMTAgQnVpbGQgMjIyMiANCg0KUGF0aDoJQzpceHl6 XGN5Z3dpblx1c3JcbG9jYWxcYmluDQoJQzpceHl6XGN5Z3dpblxiaW4NCglD Olx4eXpcY3lnd2luXGJpbg0KCUM6XHh5elxjeWd3aW5cdXNyXFgxMVI2XGJp bg0KCWM6XFdJTkRPV1MNCgljOlxXSU5ET1dTXENPTU1BTkQNCg0KT3V0cHV0 IGZyb20gQzpceHl6XGN5Z3dpblxiaW5caWQuZXhlIChub250c2VjKQ0KVUlE OiA4NjUoRGFuKSBHSUQ6IDU0NChhbGwpDQo1NDQoYWxsKQ0KDQpPdXRwdXQg ZnJvbSBDOlx4eXpcY3lnd2luXGJpblxpZC5leGUgKG50c2VjKQ0KVUlEOiA4 NjUoRGFuKSBHSUQ6IDU0NChhbGwpDQo1NDQoYWxsKQ0KDQpTeXNEaXI6IEM6 XFdJTkRPV1NcU1lTVEVNDQpXaW5EaXI6IEM6XFdJTkRPV1MNCg0KSE9NRSA9 IGBDOlx4eXpcY3lnd2luXGhvbWVcRGFuJw0KTUFLRV9NT0RFID0gYHVuaXgn DQpQV0QgPSBgL2hvbWUvRGFuJw0KVVNFUiA9IGBEYW4nDQoNCkJMQVNURVIg PSBgQTIyMCBJNSBEMSBUNCBQMzMwJw0KQ01ETElORSA9IGBiYXNoIC0tbG9n aW4gLWknDQpDT01TUEVDID0gYEM6XFdJTkRPV1NcQ09NTUFORC5DT00nDQpD VlNfUlNIID0gYC9iaW4vc3NoJw0KSE9TVE5BTUUgPSBgYmVsaW5kYWpvbmVz QGVmdGVsJw0KSU5GT1BBVEggPSBgL3Vzci9sb2NhbC9pbmZvOi91c3IvaW5m bzovdXNyL3NoYXJlL2luZm86L3Vzci9hdXRvdG9vbC9kZXZlbC9pbmZvOi91 c3IvYXV0b3Rvb2wvc3RhYmxlL2luZm86Jw0KTUFOUEFUSCA9IGAvdXNyL2xv Y2FsL21hbjovdXNyL21hbjovdXNyL3NoYXJlL21hbjovdXNyL2F1dG90b29s L2RldmVsL21hbjonDQpPTERQV0QgPSBgL3Vzci9iaW4nDQpQUklOVEVSID0g YEVQU09OIFN0eWx1cyBDNDMgU2VyaWVzJw0KUFJPTVBUID0gYCRwJGcnDQpQ UzEgPSBgXFtcMDMzXTA7XHdcMDA3DQpcMDMzWzMybVxdXHVAXGggXFtcMDMz WzMzbVx3XDAzM1swbVxdDQokICcNClNITFZMID0gYDEnDQpTWVNURU1ST09U ID0gYEM6XFdJTkRPV1MnDQpURU1QID0gYEM6XFdJTkRPV1NcVEVNUCcNClRF Uk0gPSBgY3lnd2luJw0KVE1QID0gYEM6XFdJTkRPV1NcVEVNUCcNCldJTkJP T1RESVIgPSBgQzpcV0lORE9XUycNCldJTkRJUiA9IGBDOlxXSU5ET1dTJw0K XyA9IGAvdXNyL2Jpbi9jeWdjaGVjaycNClBPU0lYTFlfQ09SUkVDVCA9IGAx Jw0KDQpIS0VZX0NVUlJFTlRfVVNFUlxTb2Z0d2FyZVxDeWdudXMgU29sdXRp b25zDQpIS0VZX0NVUlJFTlRfVVNFUlxTb2Z0d2FyZVxDeWdudXMgU29sdXRp b25zXEN5Z3dpbg0KSEtFWV9DVVJSRU5UX1VTRVJcU29mdHdhcmVcQ3lnbnVz IFNvbHV0aW9uc1xDeWd3aW5cbW91bnRzIHYyDQpIS0VZX0NVUlJFTlRfVVNF UlxTb2Z0d2FyZVxDeWdudXMgU29sdXRpb25zXEN5Z3dpblxQcm9ncmFtIE9w dGlvbnMNCkhLRVlfTE9DQUxfTUFDSElORVxTb2Z0d2FyZVxDeWdudXMgU29s dXRpb25zDQpIS0VZX0xPQ0FMX01BQ0hJTkVcU29mdHdhcmVcQ3lnbnVzIFNv bHV0aW9uc1xDeWd3aW4NCkhLRVlfTE9DQUxfTUFDSElORVxTb2Z0d2FyZVxD eWdudXMgU29sdXRpb25zXEN5Z3dpblxtb3VudHMgdjINCiAgKGRlZmF1bHQp ID0gYC9jeWdkcml2ZScNCiAgY3lnZHJpdmUgZmxhZ3MgPSAweDAwMDAwMDIw DQpIS0VZX0xPQ0FMX01BQ0hJTkVcU29mdHdhcmVcQ3lnbnVzIFNvbHV0aW9u c1xDeWd3aW5cbW91bnRzIHYyXC8NCiAgKGRlZmF1bHQpID0gYEM6XHh5elxj eWd3aW4nDQogIGZsYWdzID0gMHgwMDAwMDAwOA0KSEtFWV9MT0NBTF9NQUNI SU5FXFNvZnR3YXJlXEN5Z251cyBTb2x1dGlvbnNcQ3lnd2luXG1vdW50cyB2 MlwvdXNyL2Jpbg0KICAoZGVmYXVsdCkgPSBgQzpceHl6XGN5Z3dpbi9iaW4n DQogIGZsYWdzID0gMHgwMDAwMDAwOA0KSEtFWV9MT0NBTF9NQUNISU5FXFNv ZnR3YXJlXEN5Z251cyBTb2x1dGlvbnNcQ3lnd2luXG1vdW50cyB2MlwvdXNy L2xpYg0KICAoZGVmYXVsdCkgPSBgQzpceHl6XGN5Z3dpbi9saWInDQogIGZs YWdzID0gMHgwMDAwMDAwOA0KSEtFWV9MT0NBTF9NQUNISU5FXFNvZnR3YXJl XEN5Z251cyBTb2x1dGlvbnNcQ3lnd2luXFByb2dyYW0gT3B0aW9ucw0KDQph OiAgZmQgICAgICAgICAgICAgTi9BICAgIE4vQSAgICAgICAgICAgICAgICAg ICAgDQpjOiAgaGQgIEZBVDMyICAgICAyMDA4TWIgIDk4JSBDUCAgICBVTiAg ICAgICAgICAgNDExNQ0KZDogIGNkICAgICAgICAgICAgIE4vQSAgICBOL0Eg ICAgICAgICAgICAgICAgICAgIA0KDQpDOlx4eXpcY3lnd2luICAgICAgLyAg ICAgICAgICBzeXN0ZW0gIHRleHRtb2RlDQpDOlx4eXpcY3lnd2luL2JpbiAg L3Vzci9iaW4gICBzeXN0ZW0gIHRleHRtb2RlDQpDOlx4eXpcY3lnd2luL2xp YiAgL3Vzci9saWIgICBzeXN0ZW0gIHRleHRtb2RlDQouICAgICAgICAgICAg ICAgICAgICAvY3lnZHJpdmUgIHN5c3RlbSAgdGV4dG1vZGUsY3lnZHJpdmUN Cg0KTm90IEZvdW5kOiBhd2sNCkZvdW5kOiBDOlx4eXpcY3lnd2luXGJpblxi YXNoLmV4ZQ0KRm91bmQ6IEM6XHh5elxjeWd3aW5cYmluXGNhdC5leGUNCkZv dW5kOiBDOlx4eXpcY3lnd2luXGJpblxjcC5leGUNCkZvdW5kOiBDOlx4eXpc Y3lnd2luXGJpblxjcHAuZXhlDQpGb3VuZDogQzpceHl6XGN5Z3dpblxiaW5c ZmluZC5leGUNCkZvdW5kOiBjOlxXSU5ET1dTXENPTU1BTkRcZmluZC5leGUN Cldhcm5pbmc6IEM6XHh5elxjeWd3aW5cYmluXGZpbmQuZXhlIGhpZGVzIGM6 XFdJTkRPV1NcQ09NTUFORFxmaW5kLmV4ZQ0KRm91bmQ6IEM6XHh5elxjeWd3 aW5cYmluXGdjYy5leGUNCk5vdCBGb3VuZDogZ2RiDQpGb3VuZDogQzpceHl6 XGN5Z3dpblxiaW5cZ3JlcC5leGUNCkZvdW5kOiBDOlx4eXpcY3lnd2luXGJp blxsZC5leGUNCkZvdW5kOiBDOlx4eXpcY3lnd2luXGJpblxscy5leGUNCkZv dW5kOiBDOlx4eXpcY3lnd2luXGJpblxtYWtlLmV4ZQ0KRm91bmQ6IEM6XHh5 elxjeWd3aW5cYmluXG12LmV4ZQ0KRm91bmQ6IEM6XHh5elxjeWd3aW5cYmlu XHJtLmV4ZQ0KRm91bmQ6IEM6XHh5elxjeWd3aW5cYmluXHNlZC5leGUNCkZv dW5kOiBDOlx4eXpcY3lnd2luXGJpblxzaC5leGUNCkZvdW5kOiBDOlx4eXpc Y3lnd2luXGJpblx0YXIuZXhlDQoNCiAgIDU1ayAyMDA0LzA5LzE0IEM6XHh5 elxjeWd3aW5cYmluXGN5Z2J6Mi0xLmRsbCAtIG9zPTQuMCBpbWc9MS4wIHN5 cz00LjANCiAgICAgICAgICAgICAgICAgICJjeWdiejItMS5kbGwiIHYwLjAg dHM9MjAwNC85LzE0IDE0OjE2DQogIDk5MWsgMjAwNC8wNy8wNiBDOlx4eXpc Y3lnd2luXGJpblxjeWdpY29udi0yLmRsbCAtIG9zPTQuMCBpbWc9MS4wIHN5 cz00LjANCiAgICAgICAgICAgICAgICAgICJjeWdpY29udi0yLmRsbCIgdjAu MCB0cz0yMDA0LzcvNyA0OjEwDQogICAzN2sgMjAwMy8wOC8xMCBDOlx4eXpc Y3lnd2luXGJpblxjeWdpbnRsLTIuZGxsIC0gb3M9NC4wIGltZz0xLjAgc3lz PTQuMA0KICAgICAgICAgICAgICAgICAgImN5Z2ludGwtMi5kbGwiIHYwLjAg dHM9MjAwMy84LzExIDc6NTANCiAgIDU0ayAyMDA0LzA3LzA2IEM6XHh5elxj eWd3aW5cYmluXGN5Z2ludGwtMy5kbGwgLSBvcz00LjAgaW1nPTEuMCBzeXM9 NC4wDQogICAgICAgICAgICAgICAgICAiY3lnaW50bC0zLmRsbCIgdjAuMCB0 cz0yMDA0LzcvNyAzOjUxDQogICA0MGsgMjAwNC8xMC8xMCBDOlx4eXpcY3ln d2luXGJpblxjeWdmb3JtLTguZGxsIC0gb3M9NC4wIGltZz0xLjAgc3lzPTQu MA0KICAgICAgICAgICAgICAgICAgImN5Z2Zvcm0tOC5kbGwiIHYwLjAgdHM9 MjAwNC8xMC8xMCAxOTozMw0KICAgMjJrIDIwMDQvMTAvMTAgQzpceHl6XGN5 Z3dpblxiaW5cY3lnbWVudS04LmRsbCAtIG9zPTQuMCBpbWc9MS4wIHN5cz00 LjANCiAgICAgICAgICAgICAgICAgICJjeWdtZW51LTguZGxsIiB2MC4wIHRz PTIwMDQvMTAvMTAgMTk6MzMNCiAgIDc0ayAyMDA0LzEwLzEwIEM6XHh5elxj eWd3aW5cYmluXGN5Z25jdXJzZXMrKy04LmRsbCAtIG9zPTQuMCBpbWc9MS4w IHN5cz00LjANCiAgICAgICAgICAgICAgICAgICJjeWduY3Vyc2VzKystOC5k bGwiIHYwLjAgdHM9MjAwNC8xMC8xMCAxOTozMw0KICAyMTZrIDIwMDQvMTAv MTAgQzpceHl6XGN5Z3dpblxiaW5cY3lnbmN1cnNlcy04LmRsbCAtIG9zPTQu MCBpbWc9MS4wIHN5cz00LjANCiAgICAgICAgICAgICAgICAgICJjeWduY3Vy c2VzLTguZGxsIiB2MC4wIHRzPTIwMDQvMTAvMTAgMTk6MjUNCiAgIDEzayAy MDA0LzEwLzEwIEM6XHh5elxjeWd3aW5cYmluXGN5Z3BhbmVsLTguZGxsIC0g b3M9NC4wIGltZz0xLjAgc3lzPTQuMA0KICAgICAgICAgICAgICAgICAgImN5 Z3BhbmVsLTguZGxsIiB2MC4wIHRzPTIwMDQvMTAvMTAgMTk6MzINCiAgIDYy ayAyMDAzLzEyLzExIEM6XHh5elxjeWd3aW5cYmluXGN5Z3BjcmUtMC5kbGwg LSBvcz00LjAgaW1nPTEuMCBzeXM9NC4wDQogICAgICAgICAgICAgICAgICAi Y3lncGNyZS0wLmRsbCIgdjAuMCB0cz0yMDAzLzEyLzEyIDQ6MDENCiAgICA5 ayAyMDAzLzEyLzExIEM6XHh5elxjeWd3aW5cYmluXGN5Z3BjcmVwb3NpeC0w LmRsbCAtIG9zPTQuMCBpbWc9MS4wIHN5cz00LjANCiAgICAgICAgICAgICAg ICAgICJjeWdwY3JlcG9zaXgtMC5kbGwiIHYwLjAgdHM9MjAwMy8xMi8xMiA0 OjAxDQogICAxOGsgMjAwNC8wNy8wNiBDOlx4eXpcY3lnd2luXGJpblxjeWdj aGFyc2V0LTEuZGxsIC0gb3M9NC4wIGltZz0xLjAgc3lzPTQuMA0KICAgICAg ICAgICAgICAgICAgImN5Z2NoYXJzZXQtMS5kbGwiIHYwLjAgdHM9MjAwNC83 LzcgNDowOQ0KICAgMjJrIDIwMDEvMTIvMTMgQzpceHl6XGN5Z3dpblxiaW5c Y3lnaW50bC0xLmRsbCAtIG9zPTQuMCBpbWc9MS4wIHN5cz00LjANCiAgICAg ICAgICAgICAgICAgICJjeWdpbnRsLTEuZGxsIiB2MC4wIHRzPTIwMDEvMTIv MTMgMjA6MjgNCiAgIDIyayAyMDAyLzA2LzA5IEM6XHh5elxjeWd3aW5cYmlu XGN5Z3BvcHQtMC5kbGwgLSBvcz00LjAgaW1nPTEuMCBzeXM9NC4wDQogICAg ICAgICAgICAgICAgICAiY3lncG9wdC0wLmRsbCIgdjAuMCB0cz0yMDAyLzYv OSAxNTo0NQ0KICAgMjFrIDIwMDEvMDYvMjAgQzpceHl6XGN5Z3dpblxiaW5c Y3lnaW50bC5kbGwgLSBvcz00LjAgaW1nPTEuMCBzeXM9NC4wDQogICAgICAg ICAgICAgICAgICAiY3lnaW50bC5kbGwiIHYwLjAgdHM9MjAwMS82LzIxIDM6 MDkNCiAgIDQ4ayAyMDAzLzA4LzA5IEM6XHh5elxjeWd3aW5cYmluXGN5Z2Zv cm03LmRsbCAtIG9zPTQuMCBpbWc9MS4wIHN5cz00LjANCiAgICAgICAgICAg ICAgICAgICJjeWdmb3JtNy5kbGwiIHYwLjAgdHM9MjAwMy84LzkgMTk6MjUN CiAgIDI5ayAyMDAzLzA4LzA5IEM6XHh5elxjeWd3aW5cYmluXGN5Z21lbnU3 LmRsbCAtIG9zPTQuMCBpbWc9MS4wIHN5cz00LjANCiAgICAgICAgICAgICAg ICAgICJjeWdtZW51Ny5kbGwiIHYwLjAgdHM9MjAwMy84LzkgMTk6MjUNCiAg MjI0ayAyMDAzLzA4LzA5IEM6XHh5elxjeWd3aW5cYmluXGN5Z25jdXJzZXM3 LmRsbCAtIG9zPTQuMCBpbWc9MS4wIHN5cz00LjANCiAgICAgICAgICAgICAg ICAgICJjeWduY3Vyc2VzNy5kbGwiIHYwLjAgdHM9MjAwMy84LzkgMTk6MjQN CiAgIDE5ayAyMDAzLzA4LzA5IEM6XHh5elxjeWd3aW5cYmluXGN5Z3BhbmVs Ny5kbGwgLSBvcz00LjAgaW1nPTEuMCBzeXM9NC4wDQogICAgICAgICAgICAg ICAgICAiY3lncGFuZWw3LmRsbCIgdjAuMCB0cz0yMDAzLzgvOSAxOToyNA0K ICAgNjNrIDIwMDMvMDQvMTEgQzpceHl6XGN5Z3dpblxiaW5cY3lncGNyZS5k bGwgLSBvcz00LjAgaW1nPTEuMCBzeXM9NC4wDQogICAgICAgICAgICAgICAg ICAiY3lncGNyZS5kbGwiIHYwLjAgdHM9MjAwMy80LzExIDE4OjMxDQogICA2 MWsgMjAwMy8wNC8xMSBDOlx4eXpcY3lnd2luXGJpblxjeWdwY3JlcG9zaXgu ZGxsIC0gb3M9NC4wIGltZz0xLjAgc3lzPTQuMA0KICAgICAgICAgICAgICAg ICAgImN5Z3BjcmVwb3NpeC5kbGwiIHYwLjAgdHM9MjAwMy80LzExIDE4OjMx DQogICA2MmsgMjAwNC8xMC8xMCBDOlx4eXpcY3lnd2luXGJpblxjeWd6LmRs bCAtIG9zPTQuMCBpbWc9MS4wIHN5cz00LjANCiAgICAgICAgICAgICAgICAg ICJjeWd6LmRsbCIgdjAuMCB0cz0yMDA0LzEwLzEwIDE1OjA5DQogMTExNGsg MjAwNC8xMS8xMCBDOlx4eXpcY3lnd2luXGJpblxjeWd3aW4xLmRsbCAtIG9z PTQuMCBpbWc9MS4wIHN5cz00LjANCiAgICAgICAgICAgICAgICAgICJjeWd3 aW4xLmRsbCIgdjAuMCB0cz0yMDA0LzExLzExIDA6MzQNCiAgICBDeWd3aW4g RExMIHZlcnNpb24gaW5mbzoNCiAgICAgICAgRExMIHZlcnNpb246IDEuNS4x Mg0KICAgICAgICBETEwgZXBvY2g6IDE5DQogICAgICAgIERMTCBiYWQgc2ln bmFsIG1hc2s6IDE5MDA1DQogICAgICAgIERMTCBvbGQgdGVybWlvczogNQ0K ICAgICAgICBETEwgbWFsbG9jIGVudjogMjgNCiAgICAgICAgQVBJIG1ham9y OiAwDQogICAgICAgIEFQSSBtaW5vcjogMTE2DQogICAgICAgIFNoYXJlZCBk YXRhOiA0DQogICAgICAgIERMTCBpZGVudGlmaWVyOiBjeWd3aW4xDQogICAg ICAgIE1vdW50IHJlZ2lzdHJ5OiAyDQogICAgICAgIEN5Z251cyByZWdpc3Ry eSBuYW1lOiBDeWdudXMgU29sdXRpb25zDQogICAgICAgIEN5Z3dpbiByZWdp c3RyeSBuYW1lOiBDeWd3aW4NCiAgICAgICAgUHJvZ3JhbSBvcHRpb25zIG5h bWU6IFByb2dyYW0gT3B0aW9ucw0KICAgICAgICBDeWd3aW4gbW91bnQgcmVn aXN0cnkgbmFtZTogbW91bnRzIHYyDQogICAgICAgIEN5Z2RyaXZlIGZsYWdz OiBjeWdkcml2ZSBmbGFncw0KICAgICAgICBDeWdkcml2ZSBwcmVmaXg6IGN5 Z2RyaXZlIHByZWZpeA0KICAgICAgICBDeWdkcml2ZSBkZWZhdWx0IHByZWZp eDogDQogICAgICAgIEJ1aWxkIGRhdGU6IFdlZCBOb3YgMTAgMDg6MzQ6NDcg RVNUIDIwMDQNCiAgICAgICAgU2hhcmVkIGlkOiBjeWd3aW4xUzQNCg0KDQpD eWd3aW4gUGFja2FnZSBJbmZvcm1hdGlvbg0KTGFzdCBkb3dubG9hZGVkIGZp bGVzIHRvOiBDOlx4eXpcZG93bmxvYWRzXGN5Z3dpbg0KTGFzdCBkb3dubG9h ZGVkIGZpbGVzIGZyb206IGZ0cDovL21pcnJvci5hYXJuZXQuZWR1LmF1L3B1 Yi9jeWd3aW4NCg0KUGFja2FnZSAgICAgICAgICAgICAgVmVyc2lvbg0KX3Vw ZGF0ZS1pbmZvLWRpciAgICAgMDAyMzEtMQ0KYXNoICAgICAgICAgICAgICAg ICAgMjAwNDAxMjctMQ0KYmFzZS1maWxlcyAgICAgICAgICAgMy4yLTENCmJh c2UtcGFzc3dkICAgICAgICAgIDIuMi0xDQpiYXNoICAgICAgICAgICAgICAg ICAyLjA1Yi0xNg0KYmludXRpbHMgICAgICAgICAgICAgMjAwNDEyMjktMQ0K YnppcDIgICAgICAgICAgICAgICAgMS4wLjItNg0KY29yZXV0aWxzICAgICAg ICAgICAgNS4yLjEtNQ0KY3lndXRpbHMgICAgICAgICAgICAgMS4yLjYtMQ0K Y3lnd2luICAgICAgICAgICAgICAgMS41LjEyLTENCmN5Z3dpbi1kb2MgICAg ICAgICAgIDEuNC0yDQpkaWZmdXRpbHMgICAgICAgICAgICAyLjguNy0xDQpm aW5kdXRpbHMgICAgICAgICAgICAyMDA0MTIyNy0xDQpnY2MtY29yZSAgICAg ICAgICAgICAzLjMuMy0zDQpnY2MtbWluZ3ctY29yZSAgICAgICAyMDA0MDgx MC0xDQpncmVwICAgICAgICAgICAgICAgICAyLjUuMWEtMQ0KZ3JvZmYgICAg ICAgICAgICAgICAgMS4xOC4xLTINCmd6aXAgICAgICAgICAgICAgICAgIDEu My41LTENCmxlc3MgICAgICAgICAgICAgICAgIDM4MS0xDQpsaWJiejJfMSAg ICAgICAgICAgICAxLjAuMi02DQpsaWJjaGFyc2V0MSAgICAgICAgICAxLjku Mi0xDQpsaWJpY29udiAgICAgICAgICAgICAxLjkuMi0xDQpsaWJpY29udjIg ICAgICAgICAgICAxLjkuMi0xDQpsaWJpbnRsICAgICAgICAgICAgICAwLjEw LjM4LTMNCmxpYmludGwxICAgICAgICAgICAgIDAuMTAuNDAtMQ0KbGliaW50 bDIgICAgICAgICAgICAgMC4xMi4xLTMNCmxpYmludGwzICAgICAgICAgICAg IDAuMTQuMS0xDQpsaWJuY3Vyc2VzNyAgICAgICAgICA1LjMtNA0KbGlibmN1 cnNlczggICAgICAgICAgNS40LTENCmxpYnBjcmUgICAgICAgICAgICAgIDQu MS0xDQpsaWJwY3JlMCAgICAgICAgICAgICA0LjUtMQ0KbGlicG9wdDAgICAg ICAgICAgICAgMS42LjQtNA0KbG9naW4gICAgICAgICAgICAgICAgMS45LTcN Cm1ha2UgICAgICAgICAgICAgICAgIDMuODAtMQ0KbWFuICAgICAgICAgICAg ICAgICAgMS41bzEtMQ0KbWluZ3ctcnVudGltZSAgICAgICAgMy43LTENCm1r dGVtcCAgICAgICAgICAgICAgIDEuNS0zDQpuY3Vyc2VzICAgICAgICAgICAg ICA1LjQtMQ0KcmVhZGxpbmUgICAgICAgICAgICAgNS4wLTENCnNlZCAgICAg ICAgICAgICAgICAgIDQuMS4zLTENCnRhciAgICAgICAgICAgICAgICAgIDEu MTMuMjUtNQ0KdGVybWNhcCAgICAgICAgICAgICAgMjAwMjExMDYtMg0KdGVy bWluZm8gICAgICAgICAgICAgNS40XzIwMDQxMDA5LTENCnRleGluZm8gICAg ICAgICAgICAgIDQuNy0yDQp3MzJhcGkgICAgICAgICAgICAgICAzLjItMQ0K d2hpY2ggICAgICAgICAgICAgICAgMS42LTENCnpsaWIgICAgICAgICAgICAg ICAgIDEuMi4yLTENClVzZSAtaCB0byBzZWUgaGVscCBhYm91dCBlYWNoIHNl Y3Rpb24NCg== ------------=_1110013611-15189-0 Content-Type: text/plain; name="shell.txt" Content-Disposition: attachment; filename="shell.txt" Content-Transfer-Encoding: quoted-printable =0D This is a copy of my shell interaction:=0D =0D $ ls -l=0D total 13=0D -rw-r--r-- 1 Dan all 1980 Mar 5 17:56 shortnsweet.c=0D -rw-r--r-- 1 Dan all 10962 Mar 5 17:48 writetest.c=0D $ gcc shortnsweet.c -o shortnsweet=0D $ ./shortnsweet=0D chkwrite:: extra bytes written (according to lseek)=0D supposed to be : 1 byte(s)=0D actual : 2 byte(s)=0D file pos (pre-wr ): 10=0D file pos (post-wr ): 12=0D file size (fstat) : 12=0D $ ls -l tstfile=0D -rw-r--r-- 1 Dan all 16 Mar 5 18:05 tstfile=0D $ gcc writetest.c -o writetest=0D $ ./writetest=0D chkwrite:: extra bytes written (according to lseek)=0D supposed to be : 1 byte(s)=0D actual : 2 byte(s)=0D total bytes written: 11=0D file pos (pre-wr ): 10=0D file pos (post-wr ): 12=0D file size (fstat) : 12=0D wrote : 0xa=0D read back : 0xa=0D inconsistency:: showing chkread errors:=0D chkread:: too few bytes read (according to return value of read)=0D supposed to be : 2 byte(s)=0D actual : 1 byte(s)=0D file pos (pre-rd) : 10=0D file pos (post-rd) : 12=0D read : 0xa=0D examine_inconsistency:: read 1 (extra bytes) bytes:: 0xa=0D examine_inconsistency:: showing chkread errors (intended):=0D chkread:: extra bytes read (according to lseek)=0D supposed to be : 1 byte(s)=0D actual : 2 byte(s)=0D file pos (pre-read): 10=0D file pos (post-rd) : 12=0D read : 0xa=0D examine_inconsistency:: showing chkread errors (intended and extra):=0D chkread:: too few bytes read (according to return value of read)=0D supposed to be : 2 byte(s)=0D actual : 1 byte(s)=0D file pos (pre-rd) : 10=0D file pos (post-rd) : 12=0D read : 0xa=0D examine_inconsistency:: showing chkread errors (intended and extra+1):=0D chkread:: too few bytes read (according to return value of read)=0D supposed to be : 3 byte(s)=0D actual : 2 byte(s)=0D file pos (pre-rd) : 10=0D file pos (post-rd) : 13=0D read : 0xa 0xb=0D read_and_fprint_file:: showing chkread errors (entire file):=0D chkread:: too few bytes read (according to return value of read)=0D supposed to be : 16 byte(s)=0D actual : 15 byte(s)=0D file pos (pre-rd) : 0=0D file pos (post-rd) : 16=0D read : 0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb = 0xc 0xd 0xe=0D chklseek_then_read_byte:: read 0 at pos 0=0D chklseek_then_read_byte:: read 0x1 at pos 0x1=0D chklseek_then_read_byte:: read 0x2 at pos 0x2=0D chklseek_then_read_byte:: read 0x3 at pos 0x3=0D chklseek_then_read_byte:: read 0x4 at pos 0x4=0D chklseek_then_read_byte:: read 0x5 at pos 0x5=0D chklseek_then_read_byte:: read 0x6 at pos 0x6=0D chklseek_then_read_byte:: read 0x7 at pos 0x7=0D chklseek_then_read_byte:: read 0x8 at pos 0x8=0D chklseek_then_read_byte:: read 0x9 at pos 0x9=0D chklseek_then_read_byte:: read 0xa at pos 0xa=0D chklseek_then_read_byte:: read 0xa at pos 0xb=0D chklseek_then_read_byte:: read 0xb at pos 0xc=0D chklseek_then_read_byte:: read 0xc at pos 0xd=0D chklseek_then_read_byte:: read 0xd at pos 0xe=0D $ ls -l tstfile=0D -rw-r--r-- 1 Dan all 16 Mar 5 18:07 tstfile=0D ------------=_1110013611-15189-0 Content-Type: application/octet-stream; name="shortnsweet.c" Content-Disposition: attachment; filename="shortnsweet.c" Content-Transfer-Encoding: base64 I2luY2x1ZGUgPHN5cy90eXBlcy5oPgkvKiogb3BlbiBmc3RhdAkJCQkJICAq Ki8NCiNpbmNsdWRlIDxzeXMvc3RhdC5oPgkvKiogb3BlbiBmc3RhdAkJCQkJ ICAqKi8NCiNpbmNsdWRlIDxmY250bC5oPgkvKiogb3BlbgkJCQkJICAqKi8N CiNpbmNsdWRlIDx1bmlzdGQuaD4JLyoqIHdyaXRlIGNsb3NlIGZzdGF0CQkJ CSAgKiovDQojaW5jbHVkZSA8c3RkaW8uaD4JLyoqIGZwcmludGYgcGVycm9y CQkJCSAgKiovDQojaW5jbHVkZSA8c3RkbGliLmg+CS8qKiBFWElUX0ZBSUxV UkUgRVhJVF9TVUNDRVNTCQkJICAqKi8NCg0KI2RlZmluZSBURVNURklMRQki Li90c3RmaWxlIg0KI2RlZmluZSBMT09QTUFYCQkweEYNCg0Kdm9pZCBjaGts c2Vla190aGVuX3JlYWRfYnl0ZShpbnQgZmQsIG9mZl90IHBvcyk7IA0Kc3Np emVfdCBjaGt3cml0ZShpbnQgZmQsIGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90 IGNvdW50KTsNCg0KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0K ew0KCWludCBmZDsNCgl1bnNpZ25lZCBjaGFyIGJ1ZjsNCgkNCglpZiAoKGZk ID0gb3BlbihURVNURklMRSwgT19SRFdSIHwgT19DUkVBVCB8IE9fVFJVTkMs DQoJCQkJCVNfSVJVU1IgfCBTX0lXVVNSKSkgPT0gLTEpIHsNCgkJcGVycm9y KCJtYWluOjogb3BlbiBmYWlsZWQiKTsNCgkJcmV0dXJuIEVYSVRfRkFJTFVS RTsNCgl9DQogICAgICAgCWZvciAoYnVmID0gMDsgYnVmIDwgTE9PUE1BWDsg YnVmKyspDQogICAgICAgCQljaGt3cml0ZShmZCwgJmJ1ZiwgMSk7DQogICAg ICAgCWlmIChjbG9zZShmZCkgPT0gLTEpIHsNCiAgICAgICAJCXBlcnJvcigi bWFpbjo6IGNsb3NlIGZhaWxlZCIpOw0KCQlyZXR1cm4gRVhJVF9GQUlMVVJF Ow0KCX0NCglyZXR1cm4gRVhJVF9TVUNDRVNTOw0KfQ0KDQpzc2l6ZV90IGNo a3dyaXRlKGludCBmZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgY291bnQp DQp7DQoJc3NpemVfdCBjb3VudF9yZXQsIGRlbHRhOw0KCW9mZl90IGluaXRf cG9zLCBmaW5hbF9wb3MgPSAtMTsNCglzdHJ1Y3Qgc3RhdCBzdGF0Ow0KDQoJ aWYgKChpbml0X3BvcyA9IGxzZWVrKGZkLCAwLCBTRUVLX0NVUikpID09IC0x KQ0KCQlwZXJyb3IoImNoa3dyaXRlOjogbHNlZWsgZmFpbGVkIik7DQoJaWYg KChjb3VudF9yZXQgPSB3cml0ZShmZCwgYnVmLCBjb3VudCkpID09IC0xKSB7 DQoJCXBlcnJvcigiY2hrd3JpdGU6OiB3cml0ZSBmYWlsZWQiKTsNCgkJcmV0 dXJuIGNvdW50X3JldDsNCgl9DQogICAgICAgCWlmICgoZmluYWxfcG9zID0g bHNlZWsoZmQsIDAsIFNFRUtfQ1VSKSkgPT0gLTEpDQogICAgICAgCQlwZXJy b3IoImNoa3dyaXRlOjogbHNlZWsgZmFpbGVkIik7DQoJaWYgKGluaXRfcG9z ICE9IC0xICYmIGZpbmFsX3BvcyAhPSAtMSANCgkJCSYmIChkZWx0YSA9IGZp bmFsX3BvcyAtIGluaXRfcG9zKSAhPSBjb3VudCkgew0KCQlmcHJpbnRmKHN0 ZGVyciwgImNoa3dyaXRlOjogJXMgYnl0ZXMgd3JpdHRlbiAiDQoJCQkJIihh Y2NvcmRpbmcgdG8gbHNlZWspXG4iDQoJCQkJIlx0c3VwcG9zZWQgdG8gYmUg ICAgIDogJWQgYnl0ZShzKVxuIg0KCQkJCSJcdGFjdHVhbCAgICAgICAgICAg ICA6ICVkIGJ5dGUocylcbiIsDQoJCQkJKGRlbHRhID4gY291bnQpID8gImV4 dHJhIiA6ICJ0b28gZmV3IiwNCgkJCQljb3VudCwgZGVsdGEpOw0KCQlmcHJp bnRmKHN0ZGVyciwgIlx0ZmlsZSBwb3MgKHByZS13ciAgKTogJWRcbiIsIChp bnQpaW5pdF9wb3MpOw0KCQlmcHJpbnRmKHN0ZGVyciwgIlx0ZmlsZSBwb3Mg KHBvc3Qtd3IgKTogJWRcbiIsIChpbnQpZmluYWxfcG9zKTsNCgkJaWYgKGZz dGF0KGZkLCAmc3RhdCkgPT0gLTEpDQoJCQlwZXJyb3IoImNoa3dyaXRlOjog ZnN0YXQgZmFpbGVkIik7DQoJCWVsc2UgDQoJCQlmcHJpbnRmKHN0ZGVyciwg Ilx0ZmlsZSBzaXplIChmc3RhdCkgIDogJWRcbiIsIA0KCQkJCQkJCShpbnQp c3RhdC5zdF9zaXplKTsNCgl9DQoJcmV0dXJuIGNvdW50X3JldDsNCn0NCg0K ------------=_1110013611-15189-0 Content-Type: application/octet-stream; name="writetest.c" Content-Disposition: attachment; filename="writetest.c" Content-Transfer-Encoding: base64 I2luY2x1ZGUgPHN5cy90eXBlcy5oPgkvKiogb3BlbiBmc3RhdAkJCQkJICAq Ki8NCiNpbmNsdWRlIDxzeXMvc3RhdC5oPgkvKiogb3BlbiBmc3RhdAkJCQkJ ICAqKi8NCiNpbmNsdWRlIDxmY250bC5oPgkvKiogb3BlbgkJCQkJICAqKi8N CiNpbmNsdWRlIDx1bmlzdGQuaD4JLyoqIHJlYWQgd3JpdGUgY2xvc2UgZnN0 YXQJCQkgICoqLw0KI2luY2x1ZGUgPHN0ZGlvLmg+CS8qKiBmcHJpbnRmIHBl cnJvcgkJCQkgICoqLw0KI2luY2x1ZGUgPHN0ZGxpYi5oPgkvKiogbWFsbG9j IHJlYWxsb2MgZnJlZSBFWElUX0ZBSUxVUkUgRVhJVF9TVUNDRVNTICoqLw0K I2luY2x1ZGUgPHN0cmluZy5oPgkvKiogc3RyY2F0CQkJCQkgICoqLw0KDQoj ZGVmaW5lIFRFU1RGSUxFCSIuL3RzdGZpbGUiDQojZGVmaW5lIExPT1BNQVgJ CTB4Rg0KI2RlZmluZSBNQVhTVFJMRU4gICAgICAgMjA0OA0KI2RlZmluZSBt YXgoWCwgWSkJKCgoWCk+KFkpKT8oWCk6KFkpKQ0KDQpzdHJ1Y3QgaW5jb25z aXN0ZW5jeSB7DQoJb2ZmX3QgaW5pdF9wb3M7DQoJc2l6ZV90IGNvdW50Ow0K CXNzaXplX3QgZGVsdGE7CQ0KfTsNCg0Kdm9pZCBhZGRfaW5jb25zaXN0ZW5j eShvZmZfdCBpbml0X3Bvcywgc2l6ZV90IGNvdW50LCBzc2l6ZV90IGRlbHRh KTsNCnZvaWQgY2hrbHNlZWtfdGhlbl9yZWFkX2J5dGUoaW50IGZkLCBvZmZf dCBwb3MpOyANCnNzaXplX3QgY2hrcmVhZChpbnQgZmQsIHZvaWQgKmJ1Ziwg c2l6ZV90IGNvdW50KTsNCnNzaXplX3QgY2hrd3JpdGUoaW50IGZkLCBjb25z dCB2b2lkICpidWYsIHNpemVfdCBjb3VudCk7DQp2b2lkIGV4YW1pbmVfaW5j b25zaXN0ZW5jeShpbnQgZmQsIHN0cnVjdCBpbmNvbnNpc3RlbmN5IGluY29u c2lzdGVuY3kpOyANCnZvaWQgZnByaW50X3JlYWRfYnl0ZXMoRklMRSAqc3Ry ZWFtLCBjb25zdCBjaGFyICpmbiwgY29uc3QgY2hhciAqZGVzYywgDQoJCQkJ CQljb25zdCBjaGFyICpidWYsIGludCBjb3VudCk7DQp2b2lkIGluY29uc2lz dGVuY3koaW50IGZkLCBjb25zdCB2b2lkICpidWYsIHNpemVfdCBjb3VudCwg b2ZmX3QgaW5pdF9wb3MsIA0KCW9mZl90IGZpbmFsX3Bvcywgc2l6ZV90IGFj dHVhbCwgaW50IGJ5dGVzX3dyaXR0ZW4sIGNvbnN0IGNoYXIgKm1ldGhvZCk7 DQp2b2lkIHJlYWRfYW5kX2ZwcmludF9maWxlKEZJTEUgKnN0cmVhbSwgaW50 IGZkKTsgDQppbnQgdGVzdF9mcHJpbnRfY2hrcmVhZF9lcnJzKEZJTEUgKnN0 cmVhbSwgY29uc3QgY2hhciAqZm4sIGNvbnN0IGNoYXIgKmRlc2MpOw0KDQpz dHJ1Y3QgaW5jb25zaXN0ZW5jeSAqaW5jb25zaXN0ZW5jaWVzID0gTlVMTDsN CmludCAJCSAgICAgIHN6IAkgICAgICA9IDAgICA7DQpjaGFyCQkgICAgICBl cnJzW01BWFNUUkxFTl0gICAgICAgOw0KDQppbnQgbWFpbihpbnQgYXJnYywg Y2hhciAqKmFyZ3YpDQp7DQoJaW50IGZkLCBpOw0KCXVuc2lnbmVkIGNoYXIg YnVmOw0KCQ0KCWlmICgoZmQgPSBvcGVuKFRFU1RGSUxFLCBPX1JEV1IgfCBP X0NSRUFUIHwgT19UUlVOQywNCgkJCQkJU19JUlVTUiB8IFNfSVdVU1IpKSA9 PSAtMSkgew0KCQlwZXJyb3IoIm1haW46OiBvcGVuIGZhaWxlZCIpOw0KCQly ZXR1cm4gRVhJVF9GQUlMVVJFOw0KCX0NCiAgICAgICAJZm9yIChidWYgPSAw OyBidWYgPCBMT09QTUFYOyBidWYrKykNCiAgICAgICAJCWNoa3dyaXRlKGZk LCAmYnVmLCAxKTsNCglmb3IgKGkgPSAwOyBpIDwgc3o7IGkrKykNCgkJZXhh bWluZV9pbmNvbnNpc3RlbmN5KGZkLCBpbmNvbnNpc3RlbmNpZXNbaV0pOw0K CXJlYWRfYW5kX2ZwcmludF9maWxlKHN0ZGVyciwgZmQpOyANCglmb3IgKGkg PSAwOyBpIDwgTE9PUE1BWDsgaSsrKQ0KCQljaGtsc2Vla190aGVuX3JlYWRf Ynl0ZShmZCwgaSk7IA0KCWZyZWUoaW5jb25zaXN0ZW5jaWVzKTsNCiAgICAg ICAJaWYgKGNsb3NlKGZkKSA9PSAtMSkgew0KICAgICAgIAkJcGVycm9yKCJt YWluOjogY2xvc2UgZmFpbGVkIik7DQoJCXJldHVybiBFWElUX0ZBSUxVUkU7 DQoJfQ0KCXJldHVybiBFWElUX1NVQ0NFU1M7DQp9DQoNCnZvaWQgYWRkX2lu Y29uc2lzdGVuY3kob2ZmX3QgaW5pdF9wb3MsIHNpemVfdCBjb3VudCwgc3Np emVfdCBkZWx0YSkNCnsNCglpZiAoKGluY29uc2lzdGVuY2llcyA9IHJlYWxs b2MoaW5jb25zaXN0ZW5jaWVzLCANCgkJCXNpemVvZihzdHJ1Y3QgaW5jb25z aXN0ZW5jeSkgKiAoKytzeikpKSA9PSBOVUxMKSB7DQoJCXBlcnJvcigiYWRk X2luY29uc2lzdGVuY3k6OiByZWFsbG9jIGZhaWxlZCIpOw0KCQlyZXR1cm47 DQoJfQ0KCWluY29uc2lzdGVuY2llc1tzeiAtIDFdLmluaXRfcG9zID0gaW5p dF9wb3M7DQoJaW5jb25zaXN0ZW5jaWVzW3N6IC0gMV0uY291bnQJID0gY291 bnQgICA7DQoJaW5jb25zaXN0ZW5jaWVzW3N6IC0gMV0uZGVsdGEJID0gZGVs dGEgICA7DQp9DQoNCnZvaWQgY2hrbHNlZWtfdGhlbl9yZWFkX2J5dGUoaW50 IGZkLCBvZmZfdCBwb3MpDQp7DQoJdW5zaWduZWQgY2hhciBidWY7DQoJDQoJ aWYgKGxzZWVrKGZkLCBwb3MsIFNFRUtfU0VUKSA9PSAtMSkgew0KCQlwZXJy b3IoImNoa2xzZWVrX3RoZW5fcmVhZDo6IGxzZWVrIGZhaWxlZCIpOw0KCQly ZXR1cm47DQoJfQ0KCWlmIChjaGtyZWFkKGZkLCAmYnVmLCAxKSA9PSAtMSkg ew0KCQlmcHJpbnRmKHN0ZGVyciwgImNoa2xzZWVrX3RoZW5fcmVhZF9ieXRl OjogcmVhZCBmYWlsZWQgZm9yIHBvcyAiDQoJCQkJIiVkXG4iLCAoaW50KXBv cyk7DQoJCXRlc3RfZnByaW50X2Noa3JlYWRfZXJycyhzdGRlcnIsICJjaGts c2Vla190aGVuX3JlYWRfYnl0ZSIsICIiKTsNCgl9DQoJZWxzZQ0KCQlmcHJp bnRmKHN0ZGVyciwgImNoa2xzZWVrX3RoZW5fcmVhZF9ieXRlOjogcmVhZCAl I2hoeCBhdCBwb3MgJSN4XG4iLCBidWYsIChpbnQpcG9zKTsNCn0NCg0Kc3Np emVfdCBjaGtyZWFkKGludCBmZCwgdm9pZCAqYnVmLCBzaXplX3QgY291bnQp DQp7DQoJc3NpemVfdCBjb3VudF9yZXQsIGRlbHRhOw0KCW9mZl90IGZpbmFs X3BvcywgaW5pdF9wb3M7DQoJaW50IGksIGluY29uc2lzdGVudCA9IDA7DQoJ Y2hhciB0bXBbTUFYU1RSTEVOXTsNCgkNCgllcnJzWzBdID0gJ1wwJzsNCglp ZiAoKGluaXRfcG9zID0gbHNlZWsoZmQsIDAsIFNFRUtfQ1VSKSkgPT0gLTEp DQoJCXBlcnJvcigiY2hrcmVhZDo6IGxzZWVrIGZhaWxlZCIpOw0KCWlmICgo Y291bnRfcmV0ID0gcmVhZChmZCwgYnVmLCBjb3VudCkpID09IC0xKSB7DQoJ CXBlcnJvcigiY2hrcmVhZDo6IHJlYWQgZmFpbGVkIik7DQoJCXJldHVybiBj b3VudF9yZXQ7DQoJfQ0KICAgICAgIAlpZiAoKGZpbmFsX3BvcyA9IGxzZWVr KGZkLCAwLCBTRUVLX0NVUikpID09IC0xKQ0KICAgICAgIAkJcGVycm9yKCJj aGtyZWFkOjogbHNlZWsgZmFpbGVkIik7DQoJaWYgKGNvdW50X3JldCAhPSBj b3VudCkgew0KCQlpbmNvbnNpc3RlbnQgPSAxOw0KCQlzcHJpbnRmKGVycnMs ICJjaGtyZWFkOjogJXMgYnl0ZXMgcmVhZCAiDQoJCQkiKGFjY29yZGluZyB0 byByZXR1cm4gdmFsdWUgb2YgcmVhZClcbiINCgkJCSJcdHN1cHBvc2VkIHRv IGJlICAgICA6ICVkIGJ5dGUocylcbiINCgkJCSJcdGFjdHVhbCAgICAgICAg ICAgICA6ICVkIGJ5dGUocylcbiINCgkJCSJcdGZpbGUgcG9zIChwcmUtcmQp ICA6ICVkXG4iDQoJCQkiXHRmaWxlIHBvcyAocG9zdC1yZCkgOiAlZFxuIiwN CgkJCShjb3VudF9yZXQgPiBjb3VudCkgPyAiZXh0cmEiIDogInRvbyBmZXci LCBjb3VudCwNCgkJCWNvdW50X3JldCwgKGludClpbml0X3BvcywgKGludClm aW5hbF9wb3MpOw0KCX0NCglpZiAoaW5pdF9wb3MgIT0gLTEgJiYgKGRlbHRh ID0gZmluYWxfcG9zIC0gaW5pdF9wb3MpICE9IGNvdW50KSB7DQoJCWluY29u c2lzdGVudCA9IDE7DQoJCXNwcmludGYoZXJycywgImNoa3JlYWQ6OiAlcyBi eXRlcyByZWFkICINCgkJCSIoYWNjb3JkaW5nIHRvIGxzZWVrKVxuIg0KCQkJ Ilx0c3VwcG9zZWQgdG8gYmUgICAgIDogJWQgYnl0ZShzKVxuIg0KCQkJIlx0 YWN0dWFsICAgICAgICAgICAgIDogJWQgYnl0ZShzKVxuIg0KCQkJIlx0Zmls ZSBwb3MgKHByZS1yZWFkKTogJWRcbiINCgkJCSJcdGZpbGUgcG9zIChwb3N0 LXJkKSA6ICVkXG4iLA0KCQkJKGRlbHRhID4gY291bnQpID8gImV4dHJhIiA6 ICJ0b28gZmV3IiwgY291bnQsIGRlbHRhLCANCgkJCShpbnQpaW5pdF9wb3Ms IChpbnQpZmluYWxfcG9zKTsNCgl9DQoJaWYgKGluY29uc2lzdGVudCkgew0K ICAgICAgICAJc3RyY2F0KGVycnMsICJcdHJlYWQgICAgICAgICAgICAgICA6 ICIpOw0KCQlmb3IgKGkgPSAwOyBpIDwgY291bnRfcmV0OyBpKyspIHsNCiAg ICAgICAgCQlzcHJpbnRmKHRtcCwgIiUjaGh4ICIsICh1bnNpZ25lZCBpbnQp KCh1bnNpZ25lZCBjaGFyICopYnVmKVtpXSk7DQoJCQlzdHJjYXQoZXJycywg dG1wKTsNCgkJfQ0KICAgICAgICAJc3RyY2F0KGVycnMsICJcbiIpOw0KCX0N CglyZXR1cm4gY291bnRfcmV0Ow0KfQ0KDQpzc2l6ZV90IGNoa3dyaXRlKGlu dCBmZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgY291bnQpDQp7DQoJc3Np emVfdCBjb3VudF9yZXQsIGRlbHRhOw0KCW9mZl90IGluaXRfcG9zLCBmaW5h bF9wb3MgPSAtMTsNCglzdGF0aWMgaW50IGJ5dGVzX3dyaXR0ZW4gPSAwOw0K CQ0KCWlmICgoaW5pdF9wb3MgPSBsc2VlayhmZCwgMCwgU0VFS19DVVIpKSA9 PSAtMSkNCgkJcGVycm9yKCJjaGt3cml0ZTo6IGxzZWVrIGZhaWxlZCIpOw0K CWlmICgoY291bnRfcmV0ID0gd3JpdGUoZmQsIGJ1ZiwgY291bnQpKSA9PSAt MSkgew0KCQlwZXJyb3IoImNoa3dyaXRlOjogd3JpdGUgZmFpbGVkIik7DQoJ CXJldHVybiBjb3VudF9yZXQ7DQoJfQ0KCWJ5dGVzX3dyaXR0ZW4gKz0gY291 bnQ7DQogICAgICAgCWlmICgoZmluYWxfcG9zID0gbHNlZWsoZmQsIDAsIFNF RUtfQ1VSKSkgPT0gLTEpDQogICAgICAgCQlwZXJyb3IoImNoa3dyaXRlOjog bHNlZWsgZmFpbGVkIik7DQoJaWYgKGNvdW50X3JldCAhPSBjb3VudCkNCgkJ aW5jb25zaXN0ZW5jeShmZCwgYnVmLCBjb3VudCwgaW5pdF9wb3MsIGZpbmFs X3BvcywgY291bnRfcmV0LA0KCQkJCWJ5dGVzX3dyaXR0ZW4sICJyZXR1cm4g dmFsdWUgb2Ygd3JpdGUiKTsNCglpZiAoaW5pdF9wb3MgIT0gLTEgJiYgZmlu YWxfcG9zICE9IC0xIA0KCQkJJiYgKGRlbHRhID0gZmluYWxfcG9zIC0gaW5p dF9wb3MpICE9IGNvdW50KSB7DQoJCWFkZF9pbmNvbnNpc3RlbmN5KGluaXRf cG9zLCBjb3VudCwgZGVsdGEpOw0KCQlpbmNvbnNpc3RlbmN5KGZkLCBidWYs IGNvdW50LCBpbml0X3BvcywgZmluYWxfcG9zLCBkZWx0YSwgDQoJCQkJCQli eXRlc193cml0dGVuLCAibHNlZWsiKTsNCgl9DQoJcmV0dXJuIGNvdW50X3Jl dDsNCn0NCg0Kdm9pZCBleGFtaW5lX2luY29uc2lzdGVuY3koaW50IGZkLCBz dHJ1Y3QgaW5jb25zaXN0ZW5jeSBpbmNvbnNpc3RlbmN5KQ0Kew0KCW9mZl90 IHBvczsNCgl1bnNpZ25lZCBjaGFyICpyZWFkX2J1ZiA9IE5VTEw7DQoJc3Np emVfdCBjb3VudF9yZXQ7DQoJCQ0KCWlmIChsc2VlayhmZCwgaW5jb25zaXN0 ZW5jeS5pbml0X3BvcywgU0VFS19TRVQpID09IC0xKSB7DQoJCXBlcnJvcigi ZXhhbWluZV9pbmNvbnNpc3RlbmN5OjogbHNlZWsgZmFpbGVkIik7DQoJCXJl dHVybjsNCgl9DQoJaWYgKChwb3MgPSBsc2VlayhmZCwgMCwgU0VFS19DVVIp KSA9PSAtMSkgew0KCQlwZXJyb3IoImV4YW1pbmVfaW5jb25zaXN0ZW5jeTo6 IGxzZWVrIGZhaWxlZCIpOw0KCQlyZXR1cm47DQoJfQ0KCS8qKiBjYW4gd2Ug c2VlayB0byB0aGUgc3RhcnQgb2YgdGhlIGluY29uc2lzdGVudCB3cml0ZT8g KiovDQoJaWYgKHBvcyAhPSBpbmNvbnNpc3RlbmN5LmluaXRfcG9zKQ0KCQlm cHJpbnRmKHN0ZGVyciwgImV4YW1pbmVfaW5jb25zaXN0ZW5jeTo6IGxzZWVr IGZhaWxlZCBzaWxlbnRseVxuIg0KCQkJIlx0c2Vla2VkIHRvICAgICAgICAg IDogJWRcbiINCgkJCSJcdGdvdCAgICAgICAgICAgICAgICA6ICVkXG4iLCAN CgkJCShpbnQpaW5jb25zaXN0ZW5jeS5pbml0X3BvcywgKGludClwb3MpOyAN CglpZiAobHNlZWsoZmQsIGluY29uc2lzdGVuY3kuY291bnQsIFNFRUtfQ1VS KSA9PSAtMSkgewkNCgkJcGVycm9yKCJleGFtaW5lX2luY29uc2lzdGVuY3k6 OiBsc2VlayBmYWlsZWQiKTsNCgkJcmV0dXJuOw0KCX0NCglpZiAoKHBvcyA9 IGxzZWVrKGZkLCAwLCBTRUVLX0NVUikpID09IC0xKSB7CQ0KCQlwZXJyb3Io ImV4YW1pbmVfaW5jb25zaXN0ZW5jeTo6IGxzZWVrIGZhaWxlZCIpOw0KCQly ZXR1cm47DQoJfQ0KCS8qKiBjYW4gd2Ugc2VlayB0byB0aGUgZW5kIG9mIHRo ZSBpbmNvbnNpc3RlbnQgd3JpdGU/ICoqLw0KCWlmIChwb3MgIT0gaW5jb25z aXN0ZW5jeS5pbml0X3BvcyArIGluY29uc2lzdGVuY3kuY291bnQpIHsNCgkJ ZnByaW50ZihzdGRlcnIsICJleGFtaW5lX2luY29uc2lzdGVuY3k6OiBsc2Vl ayBmYWlsZWQgc2lsZW50bHlcbiINCgkJCSJcdHNlZWtlZCB0byAgICAgICAg ICA6ICVkXG4iDQoJCQkiXHRnb3QgICAgICAgICAgICAgICAgOiAlZFxuIiwg DQoJCQkoaW50KShpbmNvbnNpc3RlbmN5LmluaXRfcG9zICsgaW5jb25zaXN0 ZW5jeS5jb3VudCksDQoJCQkoaW50KXBvcyk7IA0KCX0NCglpZiAoKHJlYWRf YnVmID0gbWFsbG9jKG1heChpbmNvbnNpc3RlbmN5LmNvdW50LCBpbmNvbnNp c3RlbmN5LmRlbHRhKSkpDQoJCQkJCQkJCSA9PSBOVUxMKSB7DQoJCXBlcnJv cigiZXhhbWluZV9pbmNvbnNpc3RlbmN5OjogbWFsbG9jIGZhaWxlZCIpOw0K CQlyZXR1cm47DQoJfQ0KCWlmIChpbmNvbnNpc3RlbmN5LmRlbHRhID4gaW5j b25zaXN0ZW5jeS5jb3VudCkgew0KCQkvKiogY2FuIHdlIHJlYWQgdGhlIGV4 dHJhIGluY29uc2lzdGVudCBieXRlcyBvZiB0aGUgd3JpdGU/IA0KCQkgKiog aG93IGRvIHRoZXkgYXBwZWFyPyAqKi8NCgkJY291bnRfcmV0ID0gY2hrcmVh ZChmZCwgcmVhZF9idWYsDQoJCQkJaW5jb25zaXN0ZW5jeS5kZWx0YSAtIGlu Y29uc2lzdGVuY3kuY291bnQpOw0KCQlmcHJpbnRfcmVhZF9ieXRlcyhzdGRl cnIsICJleGFtaW5lX2luY29uc2lzdGVuY3kiLCANCgkJCQkiIChleHRyYSBi eXRlcykiLCByZWFkX2J1ZiwgY291bnRfcmV0KTsNCgl9DQoJaWYgKGxzZWVr KGZkLCBpbmNvbnNpc3RlbmN5LmluaXRfcG9zLCBTRUVLX1NFVCkgPT0gLTEp IHsNCgkJcGVycm9yKCJleGFtaW5lX2luY29uc2lzdGVuY3k6OiBsc2VlayBm YWlsZWQiKTsNCgkJcmV0dXJuOw0KCX0NCgkvKiogY2FuIHdlIGNvcnJlY3Rs eSByZWFkIHRoZSBvcmlnaW5hbCBkYXRhPyBob3cgZG9lcyBpdCBhcHBlYXI/ KiovDQoJY291bnRfcmV0ID0gY2hrcmVhZChmZCwgcmVhZF9idWYsIGluY29u c2lzdGVuY3kuY291bnQpOw0KCWZwcmludF9yZWFkX2J5dGVzKHN0ZGVyciwg ImV4YW1pbmVfaW5jb25zaXN0ZW5jeSIsIA0KCQkJIiAoaW50ZW5kZWQpIiwg cmVhZF9idWYsIGNvdW50X3JldCk7DQoJaWYgKGxzZWVrKGZkLCBpbmNvbnNp c3RlbmN5LmluaXRfcG9zLCBTRUVLX1NFVCkgPT0gLTEpIHsNCgkJcGVycm9y KCJleGFtaW5lX2luY29uc2lzdGVuY3k6OiBsc2VlayBmYWlsZWQiKTsNCgkJ cmV0dXJuOw0KCX0NCgkvKiogY2FuIHdlIGNvcnJlY3RseSByZWFkIHRoZSBv cmlnaW5hbCBhbmQgZXh0cmEgZGF0YT8gDQoJICoqIGhvdyBkb2VzIGl0IGFw cGVhcj8gKiovICAJCQkNCgljb3VudF9yZXQgPSBjaGtyZWFkKGZkLCByZWFk X2J1ZiwgaW5jb25zaXN0ZW5jeS5kZWx0YSk7DQoJZnByaW50X3JlYWRfYnl0 ZXMoc3RkZXJyLCAiZXhhbWluZV9pbmNvbnNpc3RlbmN5IiwgDQoJCQkJIiAo aW50ZW5kZWQgYW5kIGV4dHJhKSIsIHJlYWRfYnVmLCBjb3VudF9yZXQpOw0K CWlmIChsc2VlayhmZCwgaW5jb25zaXN0ZW5jeS5pbml0X3BvcywgU0VFS19T RVQpID09IC0xKSB7DQoJCXBlcnJvcigiZXhhbWluZV9pbmNvbnNpc3RlbmN5 OjogbHNlZWsgZmFpbGVkIik7DQoJCXJldHVybjsNCgl9DQoJLyoqIGNhbiB3 ZSBjb3JyZWN0bHkgcmVhZCB0aGUgb3JpZ2luYWwgYW5kIGV4dHJhIGRhdGEg KyBvbmUgYnl0ZT8gDQoJICoqIGhvdyBkb2VzIGl0IGFwcGVhcj8gKiovICAJ CQkNCgljb3VudF9yZXQgPSBjaGtyZWFkKGZkLCByZWFkX2J1ZiwgaW5jb25z aXN0ZW5jeS5kZWx0YSArIDEpOw0KCWZwcmludF9yZWFkX2J5dGVzKHN0ZGVy ciwgImV4YW1pbmVfaW5jb25zaXN0ZW5jeSIsIA0KCQkJCSIgKGludGVuZGVk IGFuZCBleHRyYSsxKSIsIHJlYWRfYnVmLCBjb3VudF9yZXQpOw0KCWZyZWUo cmVhZF9idWYpOw0KfQ0KDQp2b2lkIGZwcmludF9yZWFkX2J5dGVzKEZJTEUg KnN0cmVhbSwgY29uc3QgY2hhciAqZm4sIGNvbnN0IGNoYXIgKmRlc2MsIA0K CQkJCQkJY29uc3QgY2hhciAqYnVmLCBpbnQgY291bnQpDQp7DQoJaW50IGk7 DQoJDQoJaWYgKCghdGVzdF9mcHJpbnRfY2hrcmVhZF9lcnJzKHN0cmVhbSwg Zm4sIGRlc2MpKSAmJiBjb3VudCAhPSAtMSkgew0KCQlmcHJpbnRmKHN0cmVh bSwgIiVzOjogcmVhZCAlZCVzIGJ5dGVzOjogIiwgZm4sIGNvdW50LCBkZXNj KTsNCgkJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspDQoJCQlmcHJpbnRm KHN0ZGVyciwgIiUjaGh4IiwgKHVuc2lnbmVkIGludClidWZbaV0pOw0KCQlm cHV0YygnXG4nLCBzdGRlcnIpOw0KCX0NCn0NCg0Kdm9pZCBpbmNvbnNpc3Rl bmN5KGludCBmZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgY291bnQsIG9m Zl90IGluaXRfcG9zLCANCglvZmZfdCBmaW5hbF9wb3MsIHNpemVfdCBhY3R1 YWwsIGludCBieXRlc193cml0dGVuLCBjb25zdCBjaGFyICptZXRob2QpDQp7 DQoJdW5zaWduZWQgY2hhciAqcmVhZF9idWYgPSBOVUxMOw0KCWludCBpOw0K CXN0cnVjdCBzdGF0IHN0YXQ7DQoJc3NpemVfdCBjb3VudF9yZXQ7DQoJDQoJ ZnByaW50ZihzdGRlcnIsICJjaGt3cml0ZTo6ICVzIGJ5dGVzIHdyaXR0ZW4g Ig0KCQkJIihhY2NvcmRpbmcgdG8gJXMpXG4iDQoJCQkiXHRzdXBwb3NlZCB0 byBiZSAgICAgOiAlZCBieXRlKHMpXG4iDQoJCQkiXHRhY3R1YWwgICAgICAg ICAgICAgOiAlZCBieXRlKHMpXG4iLA0KCQkJKGFjdHVhbCA+IGNvdW50KSA/ ICJleHRyYSIgOiAidG9vIGZldyIsDQoJCQltZXRob2QsIGNvdW50LCBhY3R1 YWwpOw0KCWZwcmludGYoc3RkZXJyLCAiXHR0b3RhbCBieXRlcyB3cml0dGVu OiAlZFxuIiwgYnl0ZXNfd3JpdHRlbik7DQoJZnByaW50ZihzdGRlcnIsICJc dGZpbGUgcG9zIChwcmUtd3IgICk6ICVkXG4iLCAoaW50KWluaXRfcG9zKTsN CglmcHJpbnRmKHN0ZGVyciwgIlx0ZmlsZSBwb3MgKHBvc3Qtd3IgKTogJWRc biIsIChpbnQpZmluYWxfcG9zKTsNCglpZiAoZnN0YXQoZmQsICZzdGF0KSA9 PSAtMSkNCgkJcGVycm9yKCJpbmNvbnNpc3RlbmN5OjogZnN0YXQgZmFpbGVk Iik7DQoJZWxzZSANCgkJZnByaW50ZihzdGRlcnIsICJcdGZpbGUgc2l6ZSAo ZnN0YXQpICA6ICVkXG4iLCANCgkJCQkJCQkoaW50KXN0YXQuc3Rfc2l6ZSk7 DQoJaWYgKGxzZWVrKGZkLCBpbml0X3BvcywgU0VFS19TRVQpID09IC0xKSB7 DQoJCXBlcnJvcigiaW5jb25zaXN0ZW5jeTo6IGxzZWVrIGZhaWxlZCIpOw0K CQlnb3RvIGVuZDsNCgl9DQoJaWYgKChyZWFkX2J1ZiA9IG1hbGxvYyhhY3R1 YWwpKSA9PSBOVUxMKSB7DQoJCXBlcnJvcigiaW5jb25zaXN0ZW5jeTo6IG1h bGxvYyBmYWlsZWQiKTsNCgkJZ290byBlbmQ7DQoJfQ0KCWlmICgoY291bnRf cmV0ID0gY2hrcmVhZChmZCwgcmVhZF9idWYsIGFjdHVhbCkpID09IC0xKSAN CgkJZ290byBlbmQ7DQoJZnByaW50ZihzdGRlcnIsICJcdHdyb3RlICAgICAg ICAgICAgICA6ICIpOw0KCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKQ0K CQlmcHJpbnRmKHN0ZGVyciwgIiUjaGh4ICIsICh1bnNpZ25lZCBpbnQpKCh1 bnNpZ25lZCBjaGFyICopYnVmKVtpXSk7DQoJZnByaW50ZihzdGRlcnIsICJc blx0cmVhZCBiYWNrICAgICAgICAgIDogIik7DQoJZm9yIChpID0gMDsgaSA8 IGNvdW50X3JldDsgaSsrKQ0KCQlmcHJpbnRmKHN0ZGVyciwgIiUjaGh4ICIs ICh1bnNpZ25lZCBpbnQpcmVhZF9idWZbaV0pOw0KCWZwdXRjKCdcbicsIHN0 ZGVycik7DQplbmQ6DQoJZnJlZShyZWFkX2J1Zik7DQoJdGVzdF9mcHJpbnRf Y2hrcmVhZF9lcnJzKHN0ZGVyciwgImluY29uc2lzdGVuY3kiLCAiIik7CQ0K fQ0KDQp2b2lkIHJlYWRfYW5kX2ZwcmludF9maWxlKEZJTEUgKnN0cmVhbSwg aW50IGZkKQ0Kew0KCXVuc2lnbmVkIGNoYXIgKnJlYWRfYnVmID0gTlVMTDsN CglzdHJ1Y3Qgc3RhdCBzdGF0Ow0KCXNzaXplX3QgY291bnRfcmV0Ow0KCQ0K CWlmIChsc2VlayhmZCwgMCwgU0VFS19TRVQpID09IC0xKSB7DQoJCXBlcnJv cigicmVhZF9hbmRfZnByaW50X2ZpbGU6OiBsc2VlayBmYWlsZWQiKTsNCgkJ cmV0dXJuOw0KCX0NCglpZiAoZnN0YXQoZmQsICZzdGF0KSA9PSAtMSkgew0K CQlwZXJyb3IoInJlYWRfYW5kX2ZwcmludF9maWxlOjogZnN0YXQgZmFpbGVk Iik7DQoJCXJldHVybjsNCgl9DQoJaWYgKChyZWFkX2J1ZiA9IG1hbGxvYyhz dGF0LnN0X3NpemUpKSA9PSBOVUxMKSB7DQoJCXBlcnJvcigicmVhZF9hbmRf ZnByaW50X2ZpbGU6OiBtYWxsb2MgZmFpbGVkIik7DQoJCXJldHVybjsNCgl9 DQoJY291bnRfcmV0ID0gY2hrcmVhZChmZCwgcmVhZF9idWYsIHN0YXQuc3Rf c2l6ZSk7DQoJZnByaW50X3JlYWRfYnl0ZXMoc3RkZXJyLCAicmVhZF9hbmRf ZnByaW50X2ZpbGUiLCANCgkJCQkiIChlbnRpcmUgZmlsZSkiLCByZWFkX2J1 ZiwgY291bnRfcmV0KTsNCglmcmVlKHJlYWRfYnVmKTsJDQp9DQoNCmludCB0 ZXN0X2ZwcmludF9jaGtyZWFkX2VycnMoRklMRSAqc3RyZWFtLCBjb25zdCBj aGFyICpmbiwgY29uc3QgY2hhciAqZGVzYykNCnsNCglpZiAoZXJyc1swXSAh PSAnXDAnKSB7DQoJCWZwcmludGYoc3RyZWFtLCAiJXM6OiBzaG93aW5nIGNo a3JlYWQgZXJyb3JzJXM6XG4iLCBmbiwgZGVzYyk7IA0KCQlmcHJpbnRmKHN0 cmVhbSwgZXJycyk7DQoJCWVycnNbMF0gPSAnXDAnOw0KCQlyZXR1cm4gMTsN Cgl9DQoJZWxzZSByZXR1cm4gMDsNCn0NCg0K ------------=_1110013611-15189-0 Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ ------------=_1110013611-15189-0--