delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm |
List-Subscribe: | <mailto:cygwin-subscribe AT sources DOT redhat DOT com> |
List-Archive: | <http://sources.redhat.com/ml/cygwin/> |
List-Post: | <mailto:cygwin AT sources DOT redhat DOT com> |
List-Help: | <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs> |
Sender: | cygwin-owner AT sources DOT redhat DOT com |
Delivered-To: | mailing list cygwin AT sources DOT redhat DOT com |
Subject: | mounting stuff (was: RE: cygdrive stuff) |
MIME-Version: | 1.0 |
Date: | Tue, 25 Sep 2001 11:38:36 +1000 |
content-class: | urn:content-classes:message |
X-MimeOLE: | Produced By Microsoft Exchange V6.0.4417.0 |
Message-ID: | <EA18B9FA0FE4194AA2B4CDB91F73C0EF7A36@itdomain002.itdomain.net.au> |
X-MS-Has-Attach: | |
X-MS-TNEF-Correlator: | |
Thread-Topic: | [PATCH] ls & "magic" cygdrive dir (was: RE: cygdrive stuff) |
Thread-Index: | AcFFQPwjJPd1bMLBSPKqBWcIqA09FAAHfztA |
From: | "Robert Collins" <robert DOT collins AT itdomain DOT com DOT au> |
To: | "Corinna Vinschen" <cygwin AT cygwin DOT com> |
------_=_NextPart_001_01C14562.CB8DEA60 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Here tis'. I stripped out the UMSDOS fhandler, as it is orthogonal to the architecture change. Where a test for the fhandler added clarity, I have replaced UMSDOS with DEVFS - to reflect our hypotherical fhandler that gets mounted at /dev.=20 The upshot of that is, that for this to compile, you will need to edit fhandler.h and add the appropriate stubs to give DEVFS a device number.=20 Finally, I took this snap shot before a number of changes occured to cygwin. You will most likely want to do something of the following nature to get this into your sandbox: checkout winsup. read the patch and grab the CVS version number of each modified file... for each one do the following cvs up -r _version_number_ path/to/file. then after all that patch -p0 < localworkingstate.patch. and then=20 cvs up -Pd -A to get the subsequent cvs changes merged into your repository. I apologise for the state of the code, it's somewhat shakey - but functional - it was allowing me to mount my umsdos fhandler at arbitrary points in the file system via the mount table. opendir() and readdir() are not touched as yet - but this should allow them to tie in very nicely _in a data driven fashion_ (that is rather than a set of special cases - /dev, /registry - it's just a mount table lookup). Rob ------_=_NextPart_001_01C14562.CB8DEA60 Content-Type: application/octet-stream; name="localworkingstuff.patch" Content-Transfer-Encoding: base64 Content-Description: localworkingstuff.patch Content-Disposition: attachment; filename="localworkingstuff.patch" SW5kZXg6IGN5Z3dpbi9wYXRoLmNjDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2N2cy9zcmMvc3Jj L3dpbnN1cC9jeWd3aW4vcGF0aC5jYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTYyDQpkaWZm IC11IC1wIC1yMS4xNjIgcGF0aC5jYw0KLS0tIHBhdGguY2MJMjAwMS8wOS8wNyAyMTozMjowNAkx LjE2Mg0KKysrIHBhdGguY2MJMjAwMS8wOS8wOSAwNDo1ODozNw0KQEAgLTc5NSw2ICs3OTUsMTA2 IEBAIGdldF9yYXdfZGV2aWNlX251bWJlciAoY29uc3QgY2hhciAqdXhuYW0NCiAgIHJldHVybiBk ZXZuOw0KIH0NCiANCitEV09SRA0KK21vdW50X2luZm86OmdldF9tb3VudF9kZXZpY2VfbnVtYmVy IChjb25zdCBjaGFyICp1eG5hbWUpDQorew0KKyAgRFdPUkQgZGV2biA9IEZIX0JBRDsNCisgIG1v dW50X2l0ZW0gKm1pID0gTlVMTDsgICAgICAgIC8qIGluaXRpYWxpemVkIHRvIGF2b2lkIGNvbXBp bGVyIHdhcm5pbmcgKi8NCisgIGNoYXIgcGF0aGJ1ZltNQVhfUEFUSF07DQorDQorICAvKiB3ZSBu b3JtYWxpc2UgdGhlIHBhdGggYmVjYXVzZSAuLi8gbWF5IHRha2UgdXMgb3V0IG9mIGEgbW91bnQg ZW50cnkgKi8NCisgIGlmIChub3JtYWxpemVfcG9zaXhfcGF0aCAodXhuYW1lLCBwYXRoYnVmKSkN CisgICAgew0KKyAgICAgIGRlYnVnX3ByaW50ZiAoIkZIX0JBRCA9IGdldF9tb3VudF9kZXZpY2Vf bnVtYmVyICglcykiLCB1eG5hbWUpOw0KKyAgICAgIHJldHVybiBGSF9CQUQ7DQorICAgIH0NCisN CisgIGludCBpLCBjaHJvb3RlZF9wYXRoX2xlbjsNCisgIGNocm9vdGVkX3BhdGhfbGVuID0gMDsN CisgIC8qIENoZWNrIHRoZSBtb3VudCB0YWJsZSBmb3IgcHJlZml4IG1hdGNoZXMuICovDQorICBm b3IgKGkgPSAwOyBpIDwgbm1vdW50czsgaSsrKQ0KKyAgICB7DQorICAgICAgY29uc3QgY2hhciAq cGF0aDsNCisgICAgICBpbnQgbGVuOw0KKyAgICAgIG1pID0gbW91bnQgKyBwb3NpeF9zb3J0ZWRb aV07DQorICAgICAgaWYgKCFjeWdoZWFwLT5yb290LmV4aXN0cyAoKQ0KKyAgICAgICAgICB8fCAo bWktPnBvc2l4X3BhdGhsZW4gPT0gMSAmJiBtaS0+cG9zaXhfcGF0aFswXSA9PSAnLycpKQ0KKyAg ICAgICAgew0KKyAgICAgICAgICBwYXRoID0gbWktPnBvc2l4X3BhdGg7DQorICAgICAgICAgIGxl biA9IG1pLT5wb3NpeF9wYXRobGVuOw0KKyAgICAgICAgfQ0KKyAgICAgIGVsc2UgaWYgKGN5Z2hl YXAtPnJvb3QucG9zaXhfb2sgKG1pLT5wb3NpeF9wYXRoKSkNCisgICAgICAgIHsNCisgICAgICAg ICAgcGF0aCA9IGN5Z2hlYXAtPnJvb3QudW5jaHJvb3QgKG1pLT5wb3NpeF9wYXRoKTsNCisgICAg ICAgICAgY2hyb290ZWRfcGF0aF9sZW4gPSBsZW4gPSBzdHJsZW4gKHBhdGgpOw0KKyAgICAgICAg fQ0KKyAgICAgIGVsc2UNCisgICAgICAgIHsNCisgICAgICAgICAgY2hyb290ZWRfcGF0aF9sZW4g PSAwOw0KKyAgICAgICAgICBjb250aW51ZTsNCisgICAgICAgIH0NCisgICAgICBpZiAocGF0aF9w cmVmaXhfcCAocGF0aCwgcGF0aGJ1ZiwgbGVuKSkNCisgICAgICAgIGJyZWFrOw0KKyAgICB9DQor DQorICBpZiAoaSA+PSBubW91bnRzKQ0KKyAgICB7DQorICAgICAgLyogZG8gbm90aGluZyAqLw0K Ky8vICAgICAgc3lzdGVtX3ByaW50ZiAoImZvdW5kIHJvb3QgbWF0Y2ggJXNcbiIsIHBhdGhidWYp Ow0KKyAgICB9DQorICBlbHNlDQorICAgIHsNCisgICAgICAvKiBmb3VuZCB0aGUgZGV2aWNlIGZv ciB0aGUgcGF0aCAqLw0KKy8vICAgICAgc3lzdGVtX3ByaW50ZiAoImZvdW5kIG1hdGNoICVzIGRl dm4gPSAlZFxuIiwgcGF0aGJ1ZiwgbWktPmRldm4pOw0KKyAgICAgICNpZiAwDQorICAgICAgaW50 IG47DQorICAgICAgY29uc3QgY2hhciAqbmF0aXZlX3BhdGg7DQorICAgICAgaW50IHBvc2l4X3Bh dGhsZW47DQorICAgICAgaWYgKGNocm9vdF9vayB8fCBjaHJvb3RlZF9wYXRoX2xlbiB8fCBtaS0+ cG9zaXhfcGF0aGxlbiAhPSAxDQorICAgICAgICAgIHx8IG1pLT5wb3NpeF9wYXRoWzBdICE9ICcv JykNCisgICAgICAgIHsNCisgICAgICAgICAgbiA9IG1pLT5uYXRpdmVfcGF0aGxlbjsNCisgICAg ICAgICAgbmF0aXZlX3BhdGggPSBtaS0+bmF0aXZlX3BhdGg7DQorICAgICAgICAgIHBvc2l4X3Bh dGhsZW4gPSBjaHJvb3RlZF9wYXRoX2xlbiA/OiBtaS0+cG9zaXhfcGF0aGxlbjsNCisgICAgICAg ICAgY2hyb290X29rID0gMTsNCisgICAgICAgIH0NCisgICAgICBlbHNlDQorICAgICAgICB7DQor ICAgICAgICAgIG4gPSBjeWdoZWFwLT5yb290Lm5hdGl2ZV9sZW5ndGggKCk7DQorICAgICAgICAg IG5hdGl2ZV9wYXRoID0gY3lnaGVhcC0+cm9vdC5uYXRpdmVfcGF0aCAoKTsNCisgICAgICAgICAg cG9zaXhfcGF0aGxlbiA9IG1pLT5wb3NpeF9wYXRobGVuOw0KKyAgICAgICAgICBjaHJvb3Rfb2sg PSAxOw0KKyAgICAgICAgfQ0KKyAgICAgIG1lbWNweSAoZHN0LCBuYXRpdmVfcGF0aCwgbiArIDEp Ow0KKyAgICAgIGNvbnN0IGNoYXIgKnAgPSBwYXRoYnVmICsgcG9zaXhfcGF0aGxlbjsNCisgICAg ICBpZiAoKnAgPT0gJy8nKQ0KKyAgICAgICAgLyogbm90aGluZyAqLzsNCisgICAgICBlbHNlIGlm ICgoaXNkcml2ZSAoZHN0KSAmJiAhZHN0WzJdKSB8fCAqcCkNCisgICAgICAgIGRzdFtuKytdID0g J1xcJzsNCisgICAgICAgIHN0cmNweSAoZHN0ICsgbiwgcCk7DQorICAgICAgICBiYWNrc2xhc2hp ZnkgKGRzdCwgZHN0LCAwKTsNCisgICAgICAgICpmbGFncyA9IG1pLT5mbGFnczsNCisJI2VuZGlm DQorICAgIH0NCisJCQkJCQkJCQkJCQkJCQkJCSAgICAgIA0KKw0KKyAgcmV0dXJuIGRldm47DQor fQ0KKw0KK2NvbnN0IGNoYXIgKg0KK2dldF9kZXZpY2VfbmFtZSAoRFdPUkQgZGV2bikNCit7DQor ICBzd2l0Y2ggKGRldm4pDQorICAgIHsNCisgICAgY2FzZSBGSF9CQUQ6DQorICAgICAgcmV0dXJu ICJCYWQgZGV2aWNlIG51bWJlciI7DQorICAgIGNhc2UgRkhfREVWRlM6DQorICAgICAgcmV0dXJu ICJERVZGUyI7DQorICAgIGRlZmF1bHQ6DQorICAgICAgcmV0dXJuICJVTktOT1dOIjsNCisgICAg fQ0KK30NCisNCiBpbnQgX19zdGRjYWxsDQogZ2V0X2RldmljZV9udW1iZXIgKGNvbnN0IGNoYXIg Km5hbWUsIGludCAmdW5pdCwgQk9PTCBmcm9tX2NvbnYpDQogew0KQEAgLTg2OSw2ICs5NjksMTAg QEAgZ2V0X2RldmljZV9udW1iZXIgKGNvbnN0IGNoYXIgKm5hbWUsIGludA0KICAgICBkZXZuID0g RkhfU0VSSUFMOw0KICAgZWxzZSBpZiAoZGV2ZXFuICgidHR5UyIsIDQpICYmICh1bml0ID0gZGln aXRzIChuYW1lICsgNCkpID49IDApDQogICAgIGRldm4gPSBGSF9TRVJJQUw7DQorICBlbHNlIGlm IChkZXZlcSAoIkRFVkZTIikpDQorICAgIGRldm4gPSBGSF9ERVZGUzsNCisgIGVsc2UNCisgICAg ZGV2biA9IG1vdW50X3RhYmxlLT5nZXRfbW91bnRfZGV2aWNlX251bWJlciAobmFtZSk7DQogDQog ICByZXR1cm4gZGV2bjsNCiB9DQpAQCAtMTUwNSw3ICsxNjA5LDcgQEAgbW91bnRfaW5mbzo6c2V0 X2ZsYWdzX2Zyb21fd2luMzJfcGF0aCAoYw0KIHZvaWQNCiBtb3VudF9pbmZvOjpyZWFkX21vdW50 cyAocmVnX2tleSYgcikNCiB7DQotICBjaGFyIHBvc2l4X3BhdGhbTUFYX1BBVEhdOw0KKyAgY2hh ciBwb3NpeF9wYXRoW01BWF9QQVRIXSwgdHlwZVtNQVhfUEFUSF07DQogICBIS0VZIGtleSA9IHIu Z2V0X2tleSAoKTsNCiAgIERXT1JEIGksIHBvc2l4X3BhdGhfc2l6ZTsNCiAgIGludCByZXM7DQpA QCAtMTUzOSwxMCArMTY0MywxMiBAQCBtb3VudF9pbmZvOjpyZWFkX21vdW50cyAocmVnX2tleSYg cikNCiANCiAgICAgICAvKiBGZXRjaCBpbmZvIGZyb20gdGhlIHN1YmtleS4gKi8NCiAgICAgICBz dWJrZXkuZ2V0X3N0cmluZyAoIm5hdGl2ZSIsIG5hdGl2ZV9wYXRoLCBzaXplb2YgKG5hdGl2ZV9w YXRoKSwgIiIpOw0KKyAgICAgIHN1YmtleS5nZXRfc3RyaW5nICgidHlwZSIsIHR5cGUsIHNpemVv ZiAodHlwZSksICIiKTsNCiAgICAgICBtb3VudF9mbGFncyA9IHN1YmtleS5nZXRfaW50ICgiZmxh Z3MiLCAwKTsNCiANCiAgICAgICAvKiBBZGQgbW91bnRfaXRlbSBjb3JyZXNwb25kaW5nIHRvIHJl Z2lzdHJ5IG1vdW50IHBvaW50LiAqLw0KLSAgICAgIHJlcyA9IG1vdW50X3RhYmxlLT5hZGRfaXRl bSAobmF0aXZlX3BhdGgsIHBvc2l4X3BhdGgsIG1vdW50X2ZsYWdzLCBGQUxTRSk7DQorICAgICAg cmVzID0gbW91bnRfdGFibGUtPmFkZF9pdGVtIChuYXRpdmVfcGF0aCwgcG9zaXhfcGF0aCwgdHlw ZSwgbW91bnRfZmxhZ3MsDQorICAgICAgCUZBTFNFKTsNCiAgICAgICBpZiAocmVzICYmIGdldF9l cnJubyAoKSA9PSBFTUZJTEUpDQogCWJyZWFrOyAvKiBUaGUgbnVtYmVyIG9mIGVudHJpZXMgZXhj ZWVkcyBNQVhfTU9VTlRTICovDQogICAgIH0NCkBAIC0xNTg0LDkgKzE2OTAsOSBAQCBtb3VudF9p bmZvOjpmcm9tX3JlZ2lzdHJ5ICgpDQogLyogYWRkX3JlZ19tb3VudDogQWRkIG1vdW50IGl0ZW0g dG8gcmVnaXN0cnkuICBSZXR1cm4gemVybyBvbiBzdWNjZXNzLA0KICAgIG5vbi16ZXJvIG9uIGZh aWx1cmUuICovDQogLyogRklYTUU6IE5lZWQgYSBtdXRleCB0byBhdm9pZCBjb2xsaXNpb25zIHdp dGggb3RoZXIgdGFza3MuICovDQotDQorLyogV2UgZG9uJ3QgY2hlY2sgdGhlIHR5cGUgcGFyYW1l dGVyLCB0byBhbGxvdyBhZGRpbmcgbW91bnRzIGZvciB0aGUgbmV4dCAiYm9vdCIgKi8NCiBpbnQN Ci1tb3VudF9pbmZvOjphZGRfcmVnX21vdW50IChjb25zdCBjaGFyICogbmF0aXZlX3BhdGgsIGNv bnN0IGNoYXIgKiBwb3NpeF9wYXRoLCB1bnNpZ25lZCBtb3VudGZsYWdzKQ0KK21vdW50X2luZm86 OmFkZF9yZWdfbW91bnQgKGNvbnN0IGNoYXIgKiBuYXRpdmVfcGF0aCwgY29uc3QgY2hhciAqIHBv c2l4X3BhdGgsIGNvbnN0IGNoYXIgKnR5cGUsIHVuc2lnbmVkIG1vdW50ZmxhZ3MpDQogew0KICAg aW50IHJlcyA9IDA7DQogDQpAQCAtMTYwOSw2ICsxNzE1LDEwIEBAIG1vdW50X2luZm86OmFkZF9y ZWdfbW91bnQgKGNvbnN0IGNoYXIgKiANCiAgICAgICByZXMgPSBzdWJrZXkuc2V0X3N0cmluZyAo Im5hdGl2ZSIsIG5hdGl2ZV9wYXRoKTsNCiAgICAgICBpZiAocmVzICE9IEVSUk9SX1NVQ0NFU1Mp DQogCWdvdG8gZXJyOw0KKyAgICAgIHN5c3RlbV9wcmludGYoInR5cGUgaXMgJXNcbiIsdHlwZSk7 DQorICAgICAgcmVzID0gc3Via2V5LnNldF9zdHJpbmcgKCJ0eXBlIiwgdHlwZSk7DQorICAgICAg aWYgKHJlcyAhPSBFUlJPUl9TVUNDRVNTKQ0KKwlnb3RvIGVycjsNCiAgICAgICByZXMgPSBzdWJr ZXkuc2V0X2ludCAoImZsYWdzIiwgbW91bnRmbGFncyk7DQogICAgIH0NCiAgIGVsc2UgLyogbG9j YWxfbWFjaGluZSBtb3VudCAqLw0KQEAgLTE2MzIsNiArMTc0MiwxMSBAQCBtb3VudF9pbmZvOjph ZGRfcmVnX21vdW50IChjb25zdCBjaGFyICogDQogICAgICAgcmVzID0gc3Via2V5LnNldF9zdHJp bmcgKCJuYXRpdmUiLCBuYXRpdmVfcGF0aCk7DQogICAgICAgaWYgKHJlcyAhPSBFUlJPUl9TVUND RVNTKQ0KIAlnb3RvIGVycjsNCisgICAgICBzeXN0ZW1fcHJpbnRmKCJ0eXBlIGlzICVzXG4iLHR5 cGUpOw0KKyAgICAgIHJlcyA9IHN1YmtleS5zZXRfc3RyaW5nICgidHlwZSIsIHR5cGUpOw0KKyAg ICAgIGlmIChyZXMgIT0gRVJST1JfU1VDQ0VTUykNCisgICAgICAgIGdvdG8gZXJyOw0KKwkgICAg DQogICAgICAgcmVzID0gc3Via2V5LnNldF9pbnQgKCJmbGFncyIsIG1vdW50ZmxhZ3MpOw0KIA0K ICAgICAgIHN5c19tb3VudF90YWJsZV9jb3VudGVyKys7DQpAQCAtMTk0NywxNSArMjA2MiwxOCBA QCBtb3VudF9pbmZvOjpzb3J0ICgpDQogICAgZG8gdGhpcyB3aGVuIGNhbGxlZCBpbnRlcm5hbGx5 LCBidXQgaXQncyBjbGVhbmVyIHRvIGtlZXAgaXQgYWxsIGhlcmUuICAqLw0KIA0KIGludA0KLW1v dW50X2luZm86OmFkZF9pdGVtIChjb25zdCBjaGFyICpuYXRpdmUsIGNvbnN0IGNoYXIgKnBvc2l4 LCB1bnNpZ25lZCBtb3VudGZsYWdzLCBpbnQgcmVnX3ApDQorbW91bnRfaW5mbzo6YWRkX2l0ZW0g KGNvbnN0IGNoYXIgKm5hdGl2ZSwgY29uc3QgY2hhciAqcG9zaXgsIGNvbnN0IGNoYXIgKnR5cGUs IHVuc2lnbmVkIG1vdW50ZmxhZ3MsIGludCByZWdfcCkNCiB7DQogICAvKiBTb21ldGhpbmcncyB3 cm9uZyBpZiBlaXRoZXIgcGF0aCBpcyBOVUxMIG9yIGVtcHR5LCBvciBpZiBpdCdzDQogICAgICBu b3QgYSBVTkMgb3IgYWJzb2x1dGUgcGF0aC4gKi8NCiANCisgIGludCB1bml0ID0gMDsNCisNCiAg IGlmICgobmF0aXZlID09IE5VTEwpIHx8ICgqbmF0aXZlID09IDApIHx8DQogICAgICAgKHBvc2l4 ID09IE5VTEwpIHx8ICgqcG9zaXggPT0gMCkgfHwNCiAgICAgICAhaXNhYnNwYXRoIChuYXRpdmUp IHx8ICFpc2Fic3BhdGggKHBvc2l4KSB8fA0KLSAgICAgIHNsYXNoX3VuY19wcmVmaXhfcCAocG9z aXgpIHx8IGlzZHJpdmUgKHBvc2l4KSkNCisgICAgICBzbGFzaF91bmNfcHJlZml4X3AgKHBvc2l4 KSB8fCBpc2RyaXZlIChwb3NpeCkgfHwNCisgICAgICB0eXBlICYmIHR5cGVbMF0gJiYgKERXT1JE KSBnZXRfZGV2aWNlX251bWJlciAodHlwZSwgdW5pdCwgRkFMU0UpID09IEZIX0JBRCkNCiAgICAg ew0KICAgICAgIHNldF9lcnJubyAoRUlOVkFMKTsNCiAgICAgICByZXR1cm4gLTE7DQpAQCAtMTk3 MSw4ICsyMDg5LDggQEAgbW91bnRfaW5mbzo6YWRkX2l0ZW0gKGNvbnN0IGNoYXIgKm5hdGl2ZQ0K ICAgc2xhc2hpZnkgKHBvc2l4LCBwb3NpeHRtcCwgMCk7DQogICBub2ZpbmFsc2xhc2ggKHBvc2l4 dG1wLCBwb3NpeHRtcCk7DQogDQotICBkZWJ1Z19wcmludGYgKCIlc1slc10sICVzWyVzXSwgJXAi LA0KLQkJbmF0aXZlLCBuYXRpdmV0bXAsIHBvc2l4LCBwb3NpeHRtcCwgbW91bnRmbGFncyk7DQor ICBkZWJ1Z19wcmludGYgKCIlc1slc10sICVzWyVzXSwgJXMsICVwIiwNCisJCW5hdGl2ZSwgbmF0 aXZldG1wLCBwb3NpeCwgcG9zaXh0bXAsIHR5cGUsIG1vdW50ZmxhZ3MpOw0KIA0KICAgLyogRHVw bGljYXRlIC8ncyBpbiBwYXRoIGFyZSBhbiBlcnJvci4gKi8NCiAgIGZvciAoY2hhciAqcCA9IHBv c2l4dG1wICsgMTsgKnA7ICsrcCkNCkBAIC0yMDAwLDEyICsyMTE4LDEyIEBAIG1vdW50X2luZm86 OmFkZF9pdGVtIChjb25zdCBjaGFyICpuYXRpdmUNCiAgICAgICByZXR1cm4gLTE7DQogICAgIH0N CiANCi0gIGlmIChyZWdfcCAmJiBhZGRfcmVnX21vdW50IChuYXRpdmV0bXAsIHBvc2l4dG1wLCBt b3VudGZsYWdzKSkNCisgIGlmIChyZWdfcCAmJiBhZGRfcmVnX21vdW50IChuYXRpdmV0bXAsIHBv c2l4dG1wLCB0eXBlLCBtb3VudGZsYWdzKSkNCiAgICAgcmV0dXJuIC0xOw0KIA0KICAgaWYgKGkg PT0gbm1vdW50cykNCiAgICAgbm1vdW50cysrOw0KLSAgbW91bnRbaV0uaW5pdCAobmF0aXZldG1w LCBwb3NpeHRtcCwgbW91bnRmbGFncyk7DQorICBtb3VudFtpXS5pbml0IChuYXRpdmV0bXAsIHBv c2l4dG1wLCB0eXBlLCBtb3VudGZsYWdzKTsNCiAgIHNvcnQgKCk7DQogDQogICByZXR1cm4gMDsN CkBAIC0yMTA5LDcgKzIyMjcsNyBAQCBtb3VudF9pbmZvOjpyZWFkX3YxX21vdW50cyAocmVnX2tl eSByLCB1DQogCSAgICAgd2UncmUgcmVhZGluZy4gKi8NCiAJICBtb3VudGZsYWdzIHw9IHdoaWNo Ow0KIA0KLQkgIGludCByZXMgPSBtb3VudF90YWJsZS0+YWRkX2l0ZW0gKHdpbjMycGF0aCwgdW5p eHBhdGgsIG1vdW50ZmxhZ3MsIFRSVUUpOw0KKwkgIGludCByZXMgPSBtb3VudF90YWJsZS0+YWRk X2l0ZW0gKHdpbjMycGF0aCwgdW5peHBhdGgsIE5VTEwsIG1vdW50ZmxhZ3MsIFRSVUUpOw0KIAkg IGlmIChyZXMgJiYgZ2V0X2Vycm5vICgpID09IEVNRklMRSkNCiAJICAgIGJyZWFrOyAvKiBUaGUg bnVtYmVyIG9mIGVudHJpZXMgZXhjZWVkcyBNQVhfTU9VTlRTICovDQogCX0NCkBAIC0yMTQ5LDcg KzIyNjcsNyBAQCBtb3VudF9pbmZvOjppbXBvcnRfdjFfbW91bnRzICgpDQogLyoqKioqKioqKioq KioqKioqKioqKioqKiogbW91bnRfaXRlbSBjbGFzcyAqKioqKioqKioqKioqKioqKioqKioqKioq KioqLw0KIA0KIHN0YXRpYyBtbnRlbnQgKg0KLWZpbGxvdXRfbW50ZW50IChjb25zdCBjaGFyICpu YXRpdmVfcGF0aCwgY29uc3QgY2hhciAqcG9zaXhfcGF0aCwgdW5zaWduZWQgZmxhZ3MpDQorZmls bG91dF9tbnRlbnQgKGNvbnN0IGNoYXIgKm5hdGl2ZV9wYXRoLCBjb25zdCBjaGFyICpwb3NpeF9w YXRoLCBEV09SRCB0eXBlLCB1bnNpZ25lZCBmbGFncykNCiB7DQogI2lmZGVmIF9NVF9TQUZFDQog ICBzdHJ1Y3QgbW50ZW50ICZyZXQ9X3JlZW50X3dpbnN1cCgpLT5tbnRidWY7DQpAQCAtMjE3NSwx MCArMjI5MywxNSBAQCBmaWxsb3V0X21udGVudCAoY29uc3QgY2hhciAqbmF0aXZlX3BhdGgsDQog ICBzdHJjcHkgKF9yZWVudF93aW5zdXAgKCktPm1udF9kaXIsIHBvc2l4X3BhdGgpOw0KICAgcmV0 Lm1udF9kaXIgPSBfcmVlbnRfd2luc3VwICgpLT5tbnRfZGlyOw0KIA0KLSAgaWYgKCEoZmxhZ3Mg JiBNT1VOVF9TWVNURU0pKQkJLyogdXNlciBtb3VudCAqLw0KLSAgICBzdHJjcHkgKF9yZWVudF93 aW5zdXAgKCktPm1udF90eXBlLCAoY2hhciAqKSAidXNlciIpOw0KLSAgZWxzZQkJCQkJLyogc3lz dGVtIG1vdW50ICovDQotICAgIHN0cmNweSAoX3JlZW50X3dpbnN1cCAoKS0+bW50X3R5cGUsIChj aGFyICopICJzeXN0ZW0iKTsNCisgIGlmICh0eXBlID09IEZIX0JBRCkNCisgICAgew0KKyAgICAg IGlmICghKGZsYWdzICYgTU9VTlRfU1lTVEVNKSkJCS8qIHVzZXIgbW91bnQgKi8NCisgICAgICAg IHN0cmNweSAoX3JlZW50X3dpbnN1cCAoKS0+bW50X3R5cGUsIChjaGFyICopICJ1c2VyIik7DQor ICAgICAgZWxzZQkJCQkJLyogc3lzdGVtIG1vdW50ICovDQorICAgICAgICBzdHJjcHkgKF9yZWVu dF93aW5zdXAgKCktPm1udF90eXBlLCAoY2hhciAqKSAic3lzdGVtIik7DQorICAgIH0NCisgIGVs c2UJCQkJCQkvKiByZWFsIG1vdW50ICovDQorICAgIHN0cmNweSAoX3JlZW50X3dpbnN1cCAoKS0+ bW50X3R5cGUsIChjaGFyICopIGdldF9kZXZpY2VfbmFtZSAodHlwZSkpOw0KIA0KICAgcmV0Lm1u dF90eXBlID0gX3JlZW50X3dpbnN1cCAoKS0+bW50X3R5cGU7DQogDQpAQCAtMjIwOSw3ICsyMzMy LDcgQEAgZmlsbG91dF9tbnRlbnQgKGNvbnN0IGNoYXIgKm5hdGl2ZV9wYXRoLA0KIHN0cnVjdCBt bnRlbnQgKg0KIG1vdW50X2l0ZW06OmdldG1udGVudCAoKQ0KIHsNCi0gIHJldHVybiBmaWxsb3V0 X21udGVudCAobmF0aXZlX3BhdGgsIHBvc2l4X3BhdGgsIGZsYWdzKTsNCisgIHJldHVybiBmaWxs b3V0X21udGVudCAobmF0aXZlX3BhdGgsIHBvc2l4X3BhdGgsIGRldm4sIGZsYWdzKTsNCiB9DQog DQogc3RhdGljIHN0cnVjdCBtbnRlbnQgKg0KQEAgLTIyMzUsNyArMjM1OCw3IEBAIGN5Z2RyaXZl X2dldG1udGVudCAoKQ0KIAl9DQogICAgICAgbmF0aXZlX3BhdGhbMl0gPSAnXDAnOw0KICAgICAg IF9fc21hbGxfc3ByaW50ZiAocG9zaXhfcGF0aCwgIiVzJWMiLCBtb3VudF90YWJsZS0+Y3lnZHJp dmUsIGRyaXZlKTsNCi0gICAgICByZXQgPSBmaWxsb3V0X21udGVudCAobmF0aXZlX3BhdGgsIHBv c2l4X3BhdGgsIG1vdW50X3RhYmxlLT5jeWdkcml2ZV9mbGFncyk7DQorICAgICAgcmV0ID0gZmls bG91dF9tbnRlbnQgKG5hdGl2ZV9wYXRoLCBwb3NpeF9wYXRoLCBGSF9CQUQsIG1vdW50X3RhYmxl LT5jeWdkcml2ZV9mbGFncyk7DQogICAgICAgYnJlYWs7DQogICAgIH0NCiANCkBAIC0yMjU0LDEw ICsyMzc3LDIyIEBAIG1vdW50X2luZm86OmdldG1udGVudCAoaW50IHgpDQogLyogRmlsbCBpbiB0 aGUgZmllbGRzIG9mIGEgbW91bnQgdGFibGUgZW50cnkuICAqLw0KIA0KIHZvaWQNCi1tb3VudF9p dGVtOjppbml0IChjb25zdCBjaGFyICpuYXRpdmUsIGNvbnN0IGNoYXIgKnBvc2l4LCB1bnNpZ25l ZCBtb3VudGZsYWdzKQ0KK21vdW50X2l0ZW06OmluaXQgKGNvbnN0IGNoYXIgKm5hdGl2ZSwgY29u c3QgY2hhciAqcG9zaXgsIGNvbnN0IGNoYXIgKnR5cGUsDQorCQkgIHVuc2lnbmVkIG1vdW50Zmxh Z3MpDQogew0KICAgc3RyY3B5ICgoY2hhciAqKSBuYXRpdmVfcGF0aCwgbmF0aXZlKTsNCiAgIHN0 cmNweSAoKGNoYXIgKikgcG9zaXhfcGF0aCwgcG9zaXgpOw0KKyAgaWYgKHR5cGUgJiYgdHlwZVsw XSkNCisgICAgew0KKyAgICAgIGRldm4gPSBnZXRfZGV2aWNlX251bWJlciAodHlwZSwgdW5pdCwg RkFMU0UpOw0KKyAgICAgIHN5c3RlbV9wcmludGYoIm1vdW50IGVudHJ5IGhhcyB0eXBlICVzIGRl dm4gJWRcbiIsIHR5cGUsIGRldm4pOw0KKyAgICB9DQorICBlbHNlDQorICAgIHsNCisgICAgICBk ZXZuID0gRkhfQkFEOyANCisgICAgICAvKiBGSF9CQUQgaGVyZSBmb3JjZXMgZHRhYmxlOjpidWls ZF9maGFuZGxlciB0byBjaGVjayBmb3Igc29ja2V0cyBldGMgKi8NCisgICAgICB1bml0ID0gMDsN CisgICAgfQ0KIA0KICAgbmF0aXZlX3BhdGhsZW4gPSBzdHJsZW4gKG5hdGl2ZV9wYXRoKTsNCiAg IHBvc2l4X3BhdGhsZW4gPSBzdHJsZW4gKHBvc2l4X3BhdGgpOw0KQEAgLTIyNzYsNyArMjQxMSw3 IEBAIG1vdW50X2l0ZW06OmluaXQgKGNvbnN0IGNoYXIgKm5hdGl2ZSwgY28NCiANCiBleHRlcm4g IkMiDQogaW50DQotbW91bnQgKGNvbnN0IGNoYXIgKndpbjMyX3BhdGgsIGNvbnN0IGNoYXIgKnBv c2l4X3BhdGgsIHVuc2lnbmVkIGZsYWdzKQ0KK21vdW50IChjb25zdCBjaGFyICp3aW4zMl9wYXRo LCBjb25zdCBjaGFyICpwb3NpeF9wYXRoLCBjb25zdCBjaGFyICp0eXBlLCB1bnNpZ25lZCBmbGFn cykNCiB7DQogICBpbnQgcmVzID0gLTE7DQogDQpAQCAtMjI4OSw3ICsyNDI0LDcgQEAgbW91bnQg KGNvbnN0IGNoYXIgKndpbjMyX3BhdGgsIGNvbnN0IGNoYQ0KICAgICAgIHdpbjMyX3BhdGggPSBO VUxMOw0KICAgICB9DQogICBlbHNlDQotICAgIHJlcyA9IG1vdW50X3RhYmxlLT5hZGRfaXRlbSAo d2luMzJfcGF0aCwgcG9zaXhfcGF0aCwgZmxhZ3MsIFRSVUUpOw0KKyAgICByZXMgPSBtb3VudF90 YWJsZS0+YWRkX2l0ZW0gKHdpbjMyX3BhdGgsIHBvc2l4X3BhdGgsIHR5cGUsIGZsYWdzLCBUUlVF KTsNCiANCiAgIHN5c2NhbGxfcHJpbnRmICgiJWQgPSBtb3VudCAoJXMsICVzLCAlcCkiLCByZXMs IHdpbjMyX3BhdGgsIHBvc2l4X3BhdGgsIGZsYWdzKTsNCiAgIHJldHVybiByZXM7DQpJbmRleDog Y3lnd2luL3NoYXJlZF9pbmZvLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMv d2luc3VwL2N5Z3dpbi9zaGFyZWRfaW5mby5oLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMg0K ZGlmZiAtdSAtcCAtcjEuMTIgc2hhcmVkX2luZm8uaA0KLS0tIHNoYXJlZF9pbmZvLmgJMjAwMS8w OS8wNyAyMTozMjowNQkxLjEyDQorKysgc2hhcmVkX2luZm8uaAkyMDAxLzA5LzA5IDA0OjU4OjM3 DQpAQCAtMjcsOSArMjcsMTMgQEAgY2xhc3MgbW91bnRfaXRlbQ0KICAgY2hhciBwb3NpeF9wYXRo W01BWF9QQVRIXTsNCiAgIGludCBwb3NpeF9wYXRobGVuOw0KIA0KKyAgLyogZmlsZSBoYW5kbGVy IGZvciB0aGUgbW91bnQgLSAwIG1lYW5zIGRlZmF1bHQgKi8NCisgIERXT1JEIGRldm47DQorICBp bnQgdW5pdDsNCisNCiAgIHVuc2lnbmVkIGZsYWdzOw0KIA0KLSAgdm9pZCBpbml0IChjb25zdCBj aGFyICpkZXYsIGNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIGZsYWdzKTsNCisgIHZvaWQgaW5p dCAoY29uc3QgY2hhciAqZGV2LCBjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICp0eXBlLCB1 bnNpZ25lZCBmbGFncyk7DQogDQogICBzdHJ1Y3QgbW50ZW50ICpnZXRtbnRlbnQgKCk7DQogfTsN CkBAIC02NywxMiArNzEsMTIgQEAgY2xhc3MgbW91bnRfaW5mbw0KICAgaW50IGhhZF90b19jcmVh dGVfbW91bnRfYXJlYXM7DQogDQogICB2b2lkIGluaXQgKCk7DQotICBpbnQgYWRkX2l0ZW0gKGNv bnN0IGNoYXIgKmRldiwgY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgZmxhZ3MsIGludCByZWdf cCk7DQorICBpbnQgYWRkX2l0ZW0gKGNvbnN0IGNoYXIgKmRldiwgY29uc3QgY2hhciAqcGF0aCwg Y29uc3QgY2hhciAqdHlwZSwgdW5zaWduZWQgZmxhZ3MsIGludCByZWdfcCk7DQogICBpbnQgZGVs X2l0ZW0gKGNvbnN0IGNoYXIgKnBhdGgsIHVuc2lnbmVkIGZsYWdzLCBpbnQgcmVnX3ApOw0KIA0K ICAgdm9pZCBmcm9tX3JlZ2lzdHJ5ICgpOw0KICAgaW50IGFkZF9yZWdfbW91bnQgKGNvbnN0IGNo YXIgKiBuYXRpdmVfcGF0aCwgY29uc3QgY2hhciAqIHBvc2l4X3BhdGgsDQotCQkgICAgICB1bnNp Z25lZCBtb3VudGZsYWdzKTsNCisJCSAgICAgIGNvbnN0IGNoYXIgKiB0eXBlLCB1bnNpZ25lZCBt b3VudGZsYWdzKTsNCiAgIGludCBkZWxfcmVnX21vdW50IChjb25zdCBjaGFyICogcG9zaXhfcGF0 aCwgdW5zaWduZWQgbW91bnRmbGFncyk7DQogDQogICB1bnNpZ25lZCBzZXRfZmxhZ3NfZnJvbV93 aW4zMl9wYXRoIChjb25zdCBjaGFyICpwYXRoKTsNCkBAIC04OCw2ICs5Miw3IEBAIGNsYXNzIG1v dW50X2luZm8NCiAJCQkgY2hhciogc3lzdGVtX2ZsYWdzKTsNCiANCiAgIHZvaWQgaW1wb3J0X3Yx X21vdW50cyAoKTsNCisgIERXT1JEIGdldF9tb3VudF9kZXZpY2VfbnVtYmVyIChjb25zdCBjaGFy ICp1eG5hbWUpOw0KIA0KICBwcml2YXRlOg0KIA0KQEAgLTEwMCw2ICsxMDUsNyBAQCBjbGFzcyBt b3VudF9pbmZvDQogICBpbnQgY3lnZHJpdmVfd2luMzJfcGF0aCAoY29uc3QgY2hhciAqc3JjLCBj aGFyICpkc3QsIGludCB0cmFpbGluZ19zbGFzaF9wKTsNCiAgIHZvaWQgY3lnZHJpdmVfcG9zaXhf cGF0aCAoY29uc3QgY2hhciAqc3JjLCBjaGFyICpkc3QsIGludCB0cmFpbGluZ19zbGFzaF9wKTsN CiAgIHZvaWQgcmVhZF9jeWdkcml2ZV9pbmZvX2Zyb21fcmVnaXN0cnkgKCk7DQorDQogfTsNCiAN CiAvKioqKioqKiogQ2xvc2Utb24tZGVsZXRlIHF1ZXVlICoqKioqKioqLw0KSW5kZXg6IGN5Z3dp bi9pbmNsdWRlL3N5cy9tb3VudC5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2N2cy9zcmMvc3Jj L3dpbnN1cC9jeWd3aW4vaW5jbHVkZS9zeXMvbW91bnQuaCx2DQpyZXRyaWV2aW5nIHJldmlzaW9u IDEuNQ0KZGlmZiAtdSAtcCAtcjEuNSBtb3VudC5oDQotLS0gbW91bnQuaAkyMDAxLzAzLzA1IDIx OjI5OjIzCTEuNQ0KKysrIG1vdW50LmgJMjAwMS8wOS8wOSAwNDo1ODozOA0KQEAgLTI3LDcgKzI3 LDcgQEAgZW51bQ0KICAgTU9VTlRfTUlYRUQJPQkweDA4MCwJLyogcmVhZHMgYXJlIHRleHQsIHdy aXRlcyBhcmUgYmluYXJ5ICovDQogfTsNCiANCi1pbnQgbW91bnQgKGNvbnN0IGNoYXIgKiwgY29u c3QgY2hhciAqLCB1bnNpZ25lZCBfX2ZsYWdzKTsNCitpbnQgbW91bnQgKGNvbnN0IGNoYXIgKiwg Y29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIHVuc2lnbmVkIF9fZmxhZ3MpOw0KIGludCB1bW91 bnQgKGNvbnN0IGNoYXIgKik7DQogaW50IGN5Z3dpbl91bW91bnQgKGNvbnN0IGNoYXIgKl9fcGF0 aCwgdW5zaWduZWQgX19mbGFncyk7DQogDQpJbmRleDogdXRpbHMvbW91bnQuY2MNCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvd2luc3VwL3V0aWxzL21vdW50LmNjLHYNCnJldHJp ZXZpbmcgcmV2aXNpb24gMS4xNw0KZGlmZiAtdSAtcCAtcjEuMTcgbW91bnQuY2MNCi0tLSBtb3Vu dC5jYwkyMDAxLzA5LzA0IDAxOjA5OjM5CTEuMTcNCisrKyBtb3VudC5jYwkyMDAxLzA5LzA5IDA0 OjU4OjM4DQpAQCAtNDUsNyArNDUsNyBAQCBlcnJvciAoY29uc3QgY2hhciAqcGF0aCkNCiAgICBp cyBhIG5vbi1leGlzdGVudCBXaW4zMiBwYXRoLiAqLw0KIA0KIHN0YXRpYyB2b2lkDQotZG9fbW91 bnQgKGNvbnN0IGNoYXIgKmRldiwgY29uc3QgY2hhciAqd2hlcmUsIGludCBmbGFncykNCitkb19t b3VudCAoY29uc3QgY2hhciAqZGV2LCBjb25zdCBjaGFyICp3aGVyZSwgY29uc3QgY2hhciAqdHlw ZSwgaW50IGZsYWdzKQ0KIHsNCiAgIHN0cnVjdCBzdGF0IHN0YXRidWY7DQogICBjaGFyIHdpbjMy X3BhdGhbTUFYX1BBVEhdOw0KQEAgLTY5LDcgKzY5LDcgQEAgZG9fbW91bnQgKGNvbnN0IGNoYXIg KmRldiwgY29uc3QgY2hhciAqdw0KICAgICB9DQogI2VuZGlmDQogDQotICBpZiAobW91bnQgKGRl diwgd2hlcmUsIGZsYWdzKSkNCisgIGlmIChtb3VudCAoZGV2LCB3aGVyZSwgdHlwZSwgZmxhZ3Mp KQ0KICAgICBlcnJvciAod2hlcmUpOw0KIA0KICAgaWYgKHN0YXRyZXMgPT0gLTEpDQpAQCAtMjI4 LDcgKzIyOCw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikNCiAgICAgICBtb3VudF9j b21tYW5kcyAoKTsNCiAgICAgICBicmVhazsNCiAgICAgZGVmYXVsdDoNCi0gICAgICBpZiAob3B0 aW5kICE9IChhcmdjIC0gMSkpDQorICAgICAgaWYgKG9wdGluZCAhPSAoYXJnYyAtIDEpICYmIG9w dGluZCAhPSAoYXJnYyAtIDIpKQ0KIAl7DQogCSAgaWYgKG9wdGluZCA+PSBhcmdjKQ0KIAkgICAg ZnByaW50ZiAoc3RkZXJyLCAiJXM6IG5vdCBlbm91Z2ggYXJndW1lbnRzXG4iLCBwcm9nbmFtZSk7 DQpAQCAtMjM3LDcgKzIzNyw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikNCiAJICB1 c2FnZSAoKTsNCiAJfQ0KICAgICAgIGlmIChmb3JjZSB8fCAhbW91bnRfYWxyZWFkeV9leGlzdHMg KGFyZ3Zbb3B0aW5kICsgMV0sIGZsYWdzKSkNCi0JZG9fbW91bnQgKGFyZ3Zbb3B0aW5kXSwgYXJn dltvcHRpbmQgKyAxXSwgZmxhZ3MpOw0KKwlkb19tb3VudCAoYXJndltvcHRpbmRdLCBhcmd2W29w dGluZCArIDFdLCBhcmd2W29wdGluZCArIDJdLCBmbGFncyk7DQogICAgICAgZWxzZQ0KIAl7DQog CSAgZXJybm8gPSBFQlVTWTsNCkBAIC0zNzYsNyArMzc2LDcgQEAgY2hhbmdlX2N5Z2RyaXZlX3By ZWZpeCAoY29uc3QgY2hhciAqbmV3Xw0KIHsNCiAgIGZsYWdzIHw9IE1PVU5UX0FVVE87DQogDQot ICBpZiAobW91bnQgKE5VTEwsIG5ld19wcmVmaXgsIGZsYWdzKSkNCisgIGlmIChtb3VudCAoTlVM TCwgbmV3X3ByZWZpeCwgTlVMTCwgZmxhZ3MpKQ0KICAgICBlcnJvciAobmV3X3ByZWZpeCk7DQog DQogICBleGl0ICgwKTsNCg== ------_=_NextPart_001_01C14562.CB8DEA60 Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ ------_=_NextPart_001_01C14562.CB8DEA60--
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |