[ruby-dev:49017] [Ruby trunk - Feature #11216] [Open] inode for Windows

From: naruse@...
Date: 2015-06-03 13:32:23 UTC
List: ruby-dev #49017
SXNzdWUgIzExMjE2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IFl1aSBOQVJVU0Uu
CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZl
YXR1cmUgIzExMjE2OiBpbm9kZSBmb3IgV2luZG93cwpodHRwczovL2J1Z3Mu
cnVieS1sYW5nLm9yZy9pc3N1ZXMvMTEyMTYKCiogQXV0aG9yOiBZdWkgTkFS
VVNFCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAoqIEFzc2ln
bmVlOiAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQrnj77lnKhXaW5kb3dz44Gn44GvRmlsZTo6U3RhdCNpbm9kZeOBr+W4uOOB
qzDjgpLov5TjgZfjgb7jgZnjgYzjgIEK5L6L44GI44Gw44GC44KLbG9ncm90
YXRl55qE44Gq6YGL55So44Gu6KGM44KP44KM44KL44OV44Kh44Kk44Or44KS
55uj6KaW44O76ZaL44GN44Gj44Gx44Gq44GX44Gr44GX44Gm44CB6L+96KiY
44GV44KM44KM44Gw5beu5YiG44KS6Kqt44G/44CBCnJvdGF0ZeOBleOCjOOB
n+WgtOWQiOOBr+aknOWHuuOBl+OBpuacgOaWsOOBruODreOCsOOCkuiqreOC
gOKApuOBqOOBhOOBhuOCiOOBhuOBquWgtOWQiOOBq+OAgXJvdGF0ZeOCkuak
nOWHuuOBmeOCi+mam+OBq2lub2Rl44Gv5L2/44KP44KM44G+44GZ44CCCgpX
aW5kb3dz44Gr44GvR2V0RmlsZUluZm9ybWF0aW9uQnlIYW5kbGUoKeOBqOOB
hOOBhkFQSeOBp+W+l+OCieOCjOOCi0JZX0hBTkRMRV9GSUxFX0lORk9STUFU
SU9O5qeL6YCg5L2T44Gu44Oh44Oz44OQ44CBCm5GaWxlSW5kZXhIaWdoL0xv
d+OBi+OCiTY0Yml044Gu44OV44Kh44Kk44Or44K344K544OG44OgdW5pcXVl
44GqSUTjgYzjgYLjgovjga7jgafjgIHjgZPjgozjgpJpbm9kZeOBqOOBl+OB
puS7o+eUqOOBjOWPr+iDveOBp+OBmeOAggoK5ZWP6aGM44Gv44GT44KM44KS
RmlsZTo6U3RhdOOBq+OBhOOCjOOCi+OBq+OBr+OCguOBqOOBrnN0cnVjdCBz
dGF0Lmlub+OBjDE2Yml044Gn5bCP44GV44GZ44GO44KL54K544Gn44GZ44GM
44CBCuW5uOOBhHN0cnVjdCBzdGF0aTY044Gr44Gv44Ki44Op44Kk44Oh44Oz
44OI44Gu6YO95ZCI44Gn6ZqZ6ZaT44GM44GC44KL44Gf44KB44CB44Gd44GT
44Gr44Gk44Gj44GT44KA44GT44Go44Gr44GX44Gm44GE44G+44GZ44CCCu+8
iGRlduOBqHVkZXbjgYzluLjjgavlkIzjgZjjgajjgYvjgIF1aWTjgoRnaWTj
gYzluLjjgasw44Gq44Gp54Sh5oSP5ZGz44Gq5YCk44Gv5LuW44Gr44KC44GC
44KK44G+44GZ44GM77yJCmh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2ph
LWpwL2xpYnJhcnkvbXMzNTAyNDElMjh2PXZzLjcxJTI5LmFzcHgKCmBgYApk
aWZmIC0tZ2l0IGEvZmlsZS5jIGIvZmlsZS5jCmluZGV4IGFjOTlkZTYuLjc2
MWZmMWYgMTAwNjQ0Ci0tLSBhL2ZpbGUuYworKysgYi9maWxlLmMKQEAgLTU0
OCw3ICs1NDgsMTggQEAgcmJfc3RhdF9kZXZfbWlub3IoVkFMVUUgc2VsZikK
IHN0YXRpYyBWQUxVRQogcmJfc3RhdF9pbm8oVkFMVUUgc2VsZikKIHsKLSNp
ZiBTSVpFT0ZfU1RSVUNUX1NUQVRfU1RfSU5PID4gU0laRU9GX0xPTkcKKyNp
ZmRlZiBfV0lOMzIKKyAgICBzdHJ1Y3Qgc3RhdCAqc3QgPSBnZXRfc3RhdChz
ZWxmKTsKKyAgICB1bnNpZ25lZCBzaG9ydCAqcDIgPSAodW5zaWduZWQgc2hv
cnQgKilzdDsKKyAgICB1bnNpZ25lZCBpbnQgKnA0ID0gKHVuc2lnbmVkIGlu
dCAqKXN0OworICAgIHVpbnQ2NF90IHI7CisgICAgciA9IHAyWzJdOworICAg
IHIgPDw9IDE2OworICAgIHIgfD0gcDJbN107CisgICAgciA8PD0gMzI7Cisg
ICAgciB8PSBwNFs1XTsKKyAgICByZXR1cm4gVUxMMk5VTShyKTsKKyNlbGlm
IFNJWkVPRl9TVFJVQ1RfU1RBVF9TVF9JTk8gPiBTSVpFT0ZfTE9ORwogICAg
IHJldHVybiBVTEwyTlVNKGdldF9zdGF0KHNlbGYpLT5zdF9pbm8pOwogI2Vs
c2UKICAgICByZXR1cm4gVUxPTkcyTlVNKGdldF9zdGF0KHNlbGYpLT5zdF9p
bm8pOwpkaWZmIC0tZ2l0IGEvd2luMzIvd2luMzIuYyBiL3dpbjMyL3dpbjMy
LmMKaW5kZXggYjIzZTlhZi4uZmNmYzBhNiAxMDA2NDQKLS0tIGEvd2luMzIv
d2luMzIuYworKysgYi93aW4zMi93aW4zMi5jCkBAIC00OTc1LDYgKzQ5NzUs
NDggQEAgc3RhdGljIHRpbWVfdCBmaWxldGltZV90b191bml4dGltZShjb25z
dCBGSUxFVElNRSAqZnQpOwogc3RhdGljIFdDSEFSICpuYW1lX2Zvcl9zdGF0
KFdDSEFSICpidWYsIGNvbnN0IFdDSEFSICpwYXRoKTsKIHN0YXRpYyBEV09S
RCBzdGF0aTY0X2hhbmRsZShIQU5ETEUgaCwgc3RydWN0IHN0YXRpNjQgKnN0
KTsKIAorLyogTGljZW5zZTogUnVieSdzICovCitzdGF0aWMgdm9pZAorc3Rh
dGk2NF9zZXRfaW5vZGUoUEJZX0hBTkRMRV9GSUxFX0lORk9STUFUSU9OIHBp
bmZvLCBzdHJ1Y3Qgc3RhdGk2NCAqc3QpCit7CisgICAgLyogc3RydWN0IHN0
YXRpNjQgbGF5b3V0CisgICAgICoKKyAgICAgKiBkZXY6IDAtMworICAgICAq
IGlubzogNC01CisgICAgICogbW9kZTogNi03CisgICAgICogbmxpbms6IDgt
OQorICAgICAqIHVpZDogMTAtMTEKKyAgICAgKiBnaWQ6IDEyLTEzCisgICAg
ICogXzogMTQtMTUKKyAgICAgKiByZGV2OiAxNi0xOQorICAgICAqIF86IDIw
LTIzCisgICAgICogc2l6ZTogMjQtMzEKKyAgICAgKiBhdGltZTogMzItMzkK
KyAgICAgKiBtdGltZTogNDAtNDcKKyAgICAgKiBjdGltZTogNDgtNTUKKyAg
ICAgKgorICAgICAqLworICAgIHVuc2lnbmVkIHNob3J0ICpwMiA9ICh1bnNp
Z25lZCBzaG9ydCAqKXN0OworICAgIHVuc2lnbmVkIGludCAqcDQgPSAodW5z
aWduZWQgaW50ICopc3Q7CisgICAgRFdPUkQgaGlnaCA9IHBpbmZvLT5uRmls
ZUluZGV4SGlnaDsKKyAgICBwMlsyXSA9IGhpZ2ggPj4gMTY7CisgICAgcDJb
N10gPSBoaWdoICYgMHhGRkZGOworICAgIHA0WzVdID0gcGluZm8tPm5GaWxl
SW5kZXhMb3c7Cit9CisKKy8qIExpY2Vuc2U6IFJ1YnkncyAqLworc3RhdGlj
IERXT1JECitzdGF0aTY0X3NldF9pbm9kZV9oYW5kbGUoSEFORExFIGgsIHN0
cnVjdCBzdGF0aTY0ICpzdCkKK3sKKyAgICBCWV9IQU5ETEVfRklMRV9JTkZP
Uk1BVElPTiBpbmZvOworICAgIERXT1JEIGF0dHIgPSAoRFdPUkQpLTE7CisK
KyAgICBpZiAoR2V0RmlsZUluZm9ybWF0aW9uQnlIYW5kbGUoaCwgJmluZm8p
KSB7CisJc3RhdGk2NF9zZXRfaW5vZGUoJmluZm8sIHN0KTsKKyAgICB9Cisg
ICAgcmV0dXJuIGF0dHI7Cit9CisKICN1bmRlZiBmc3RhdAogLyogTGljZW5z
ZTogUnVieSdzICovCiBpbnQKQEAgLTUwMDAsNyArNTA0MiwxMSBAQCByYl93
MzJfZnN0YXRpNjQoaW50IGZkLCBzdHJ1Y3Qgc3RhdGk2NCAqc3QpCiAgICAg
c3RydWN0IHN0YXQgdG1wOwogICAgIGludCByZXQ7CiAKLSAgICBpZiAoR2V0
RW52aXJvbm1lbnRWYXJpYWJsZVcoTCJUWiIsIE5VTEwsIDApID09IDAgJiYg
R2V0TGFzdEVycm9yKCkgPT0gRVJST1JfRU5WVkFSX05PVF9GT1VORCkgcmV0
dXJuIF9mc3RhdGk2NChmZCwgc3QpOworICAgIGlmIChHZXRFbnZpcm9ubWVu
dFZhcmlhYmxlVyhMIlRaIiwgTlVMTCwgMCkgPT0gMCAmJiBHZXRMYXN0RXJy
b3IoKSA9PSBFUlJPUl9FTlZWQVJfTk9UX0ZPVU5EKSB7CisJcmV0ID0gX2Zz
dGF0aTY0KGZkLCBzdCk7CisJc3RhdGk2NF9zZXRfaW5vZGVfaGFuZGxlKChI
QU5ETEUpX2dldF9vc2ZoYW5kbGUoZmQpLCBzdCk7CisJcmV0dXJuIHJldDsK
KyAgICB9CiAgICAgcmV0ID0gZnN0YXQoZmQsICZ0bXApOwogCiAgICAgaWYg
KHJldCkgcmV0dXJuIHJldDsKQEAgLTUwMjIsNiArNTA2OCw3IEBAIHN0YXRp
NjRfaGFuZGxlKEhBTkRMRSBoLCBzdHJ1Y3Qgc3RhdGk2NCAqc3QpCiAJc3Qt
PnN0X210aW1lID0gZmlsZXRpbWVfdG9fdW5peHRpbWUoJmluZm8uZnRMYXN0
V3JpdGVUaW1lKTsKIAlzdC0+c3RfY3RpbWUgPSBmaWxldGltZV90b191bml4
dGltZSgmaW5mby5mdENyZWF0aW9uVGltZSk7CiAJc3QtPnN0X25saW5rID0g
aW5mby5uTnVtYmVyT2ZMaW5rczsKKwlzdGF0aTY0X3NldF9pbm9kZSgmaW5m
bywgc3QpOwogCWF0dHIgPSBpbmZvLmR3RmlsZUF0dHJpYnV0ZXM7CiAgICAg
fQogICAgIHJldHVybiBhdHRyOwpgYGAKCgoKLS0gCmh0dHBzOi8vYnVncy5y
dWJ5LWxhbmcub3JnLwo=

In This Thread

Prev Next